הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   [שאלה] בנוגע לאלגוריתם שמסתבך לי. (https://hosts.co.il/forums/showthread.php?t=50721)

X-T 26-07-07 18:58

[שאלה] בנוגע לאלגוריתם שמסתבך לי.
 
אוקיי אז ככה..
אני מנסה לשפר את יכולת החשיבה שלי ומנסה להגיע לצורת חשיבה נכונה בכתיבת הקוד ומציאת פיתרון, אשמח לעזרה בבעיה הבאה,

בירשותי משחק, המכיל 3 סוגי טבלאות,
CEXP - הEXP המיצטבר
EXP - ה EXP שיש לו ברגע זה ( ברמה שלו)
וכמובן ה LEVEL.

יש לי תנאים אשר מכילים 60 רמות, בודקות את טווח ה EXP של ה CEXP שלך ומזהה מה הרמה שלך, ה EXP שאתה צריך בכדי לעלות רמה וה EXP הנוכחי לרמה הזאת.

כיוון שהרמות אינם מתעדכנות בצורה אוטומטית ואני רוצה לעשות תנאי שיבדוק אם הרמה שמעודכנת לו כרגע במסד אינה שווה לרמה שהוא אמור להיות בה אז הוא יעדכן את זה לרמה המקורית שלו ובנוסף אני לא רוצה שיאפס לו את ה EXP ל 0, אני רוצה שיהיה שארית, נגיד עליתי לרמה 5 ואני צריך 1500 EXP ויש לי למעשה 2500 EXP וזה בדיוק התעדכן, אז שיעלה אותי רמה וישאיר לי את ה 1000 נקודות , EXP

התנאי נראה ככה
PHP קוד:

if($exp >= 500 and $exp 1500){
$isexp 500;
$nextlvl "6";
$nextexp "8600";



עכשיו אני יכול לגלות את הרמה שהוא אמור להיות בה תוך כדי חיסור ה NEXTLVL ב 1, אבל מה אז? איך אני מיישם את מה שאני רוצה לעשות?

mlnn 26-07-07 19:13

למה שזה יוריד בכלל? הרי אתה עולה רמות ועדיין נשאר לך אותו כמות EXP..
אז אתה בודק כמה EXP יש לו ומעדכן בהתאם את הרמה..

ואם אתה רוצה אז אתה מחסר מה שצריך ומציג רק את הEXP שיש לו ברמה הנוכחית..

בכל מקרה, יש מצב שלא ממש הבנתי אותך..

X-T 26-07-07 19:36

ציטוט:

נכתב במקור על ידי mlnn (פרסם 530221)
למה שזה יוריד בכלל? הרי אתה עולה רמות ועדיין נשאר לך אותו כמות EXP..
אז אתה בודק כמה EXP יש לו ומעדכן בהתאם את הרמה..

ואם אתה רוצה אז אתה מחסר מה שצריך ומציג רק את הEXP שיש לו ברמה הנוכחית..

בכל מקרה, יש מצב שלא ממש הבנתי אותך..


אז ככה, כמו שציינתי CEXP הוא המשתנה הקבוע של כל ה EXP שנאגר, ככה הוא יכול לדעת איזו רמה אתה כרגע וה EXP הינו הכמות נקודות לרמה הספציפית שיש לך, ובמידה ויש לי 2500 נקודות נסיון ואני צריך בכלל 1500 כדי לעלות רמה, אז אני מעונין שלא יתאפס לי המונה אלה יחסר ויעדכן לי את הכמות EXP למה שאמור להיות לי כתוסף.

4ior 26-07-07 20:44

אז אני לא מבין מה הבעיה?
נגיד יש לו 2500 אקספי אז תחסיר מזה את המינימום של האקספי.

בכל מקרה השיטה שלך לא נכונה מבחינת יישום.
זה לא נכון לעשות 60 ifים..תמציא נוסחה כפונקציה של הרמה כדי שתוכל על ידיה לקבוע את המינימום והמקסימום של הרמה.

X-T 26-07-07 22:30

אני לא רוצה להמציא נוסחאות עכשיו, יש לי טבלת EXP קבועה שלי.


כל הזמנים הם GMT +2. הזמן כעת הוא 05:17.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ