גילגול קוביות

Mr Boggy Man

New member
גילגול קוביות

אני רוצה לעשות מכונת משחקים ענקית אך אני זקוק לעזרה בגילגול הקוביות. אני רוצה לעשות משהו כזה שכל פעם שכותבים dice 4 20 זה יגלגל 4 פעמים 20. זה דוגמא כמובן אני רוצה שאפילו אם כותבים dice 700 5 זה יגלגל 700 פעמים קוביה של 5...איך אני עושה את זה? כרגע אני חושב...ואולי אני אעלה על משהו (אני חושב בכיוון לולאה...)
 

ReactoRx

New member
אחלה שאלה

$calc($2 OP $3)​
במקום OP תרשום: + פלוס - מינוס / חילוק * כפל תהנה :]
 

פIלי

New member
לא הבנתי את השאלה...

מזתומרת לגלגל קוביות? יענטו להוציא מספר רנדומלי בטווח?
 

Mr Boggy Man

New member
כן כמו בקזינו...

קצת פרטים עלי - אני יודע סקריפטינג כבר שלוש שנים בערך (או..שנתיים לא זוכר) ובואו נגיד שאני דיי מבין בזה... גילגול קוביות הכוונה שנגיד כותבים dice 60 אז הקוד יהיה:
on *:TEXT:dice*:*: { /msg $chan $nick Roll $rand(1,$2) }​
אבל אני רוצה שזה יהיה יותר מזה...אני רוצה שיהיה אפשרות לגלגל בפעם אחת מספר קוביות, שאם המשתמש רושם dice 2 60 זה יגלגל פעמיים 60, יחבר את התוצאה וייתן למשתמש...איך אני עושה את זה?
 

havlaz

New member
מה הבעיה?

on *:TEXT:dice*:#: { set %i 1 unset %diceall while (%i <= $2) { set %diceall $calc(%diceall + $r(1,$3) inc %i } msg $chan $nick Roll: %diceall }​
 

פIלי

New member
עדיף לבדוק אם זה מספר

כדי למנוע שגיאות אם מישהו לא נותן נתונים נכונים...
on *:TEXT:!dice *:#:{ var %i = 1, %total = 0 if (($1 isnum) && ($2 isnum)) { while (%i <= $1) { inc %total $r(2,$2) inc %i } return %total }​
 

Mr Boggy Man

New member
הקוד המתוקן

תודה רבה. תמיד הייתי חלש עם אלגוריתם שמשולב עם לולאה. עכשיו התחלתי לעבוד על העניין ואני מתחיל להבין את הרעיון של הלולאה יותר לעומק. הקוד המתוקן:
on 2:TEXT:.dice*:#: { if ($2 isnum) && ($3 isnum) { if ($2 <= 100) && ($3 <= 1000) { set %i 1 unset %diceall while (%i <= $2) { /set %diceall $calc(%diceall + $r(1,$3)) inc %i } msg $chan $nick Roll: %diceall } else { /notice $nick The maximux time you can roll is 100 /notice $nick And the maximux dice is 1000 /notice $nick For example: .dice 100 1000 } } else { /notice $nick You can only type numbers /notice $nick For example: .dice 1 6 } }​
 

פIלי

New member
אגב

במקום
/set %diceall $calc(%diceall + $r(1,$3))​
תשים
/inc %diceall $r(1,$3)​
 
למעלה