עבור לתוכן

בעיה בrandom בC#

Featured Replies

פורסם

כתבתי קוד בc# בעזרת random והמספר לא יוצא רנדומלי:

direct = new Random();

.....

int direction = direct.Next(directions.Count);

SizeDirect = directions[direction];

BuildByDirect();

פורסם

א. ברוכה הבאה.

ב. ערכי בבקשה את ההודעה שלך ועטפי את הקוד שלך בטג קוד (כפתור # למעלה) כדי שייראה נורמלי.

לגבי השאלה:

מה הכוונה ב"לא יוצא רנדומלי"? את קוראת לקוד הזה הרבה פעמים והוא מחזיר כל פעם אותו מספר?

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

לדוגמה, במקום הקוד הזה:

for (int i = 0 ; i < 100 ; ++i)
{
Random rand = new Random();
int a = rand.Next();
// do something with a
}

הקוד הזה:

Random rand = new Random();
for (int i = 0 ; i < 100 ; ++i)
{
int a = rand.Next();
// do something with a
}

  • 4 שבועות מאוחר יותר...
פורסם
  • מחבר

תודה, אבל זה לא עזר. :s05:

פורסם
  • מחבר

הסתדרתי חלקית.

הוא כן עושה שונה לפעמים. כנראה שאין לו מדי הרבה אפשרויות.

תודה בכ"א. :hi:

פורסם

מה זאת אומרת אין לו יותר מדי אפשרויות? מה הערך של directions.Count?

פורסם
  • מחבר

ערך משתנה.

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

אחרת, אין לי הסבר לזה

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים