נושאים פעיליםנושאים פעילים  הצגת רשימה של חברי הפורוםרשימת משתמשים  חיפוש בפורוםחיפוש  עזרהעזרה
  הרשמההרשמה  התחברותהתחברות RSS עדכונים
תיכנות
RSS UnderWarrior Forums : RSS תיכנות
נושא

נושא: C# בעיה בתנאי יציאה מלולאה

שליחת תגובהשליחת נושא חדש
כותב
הודעה << נושא קודם | נושא הבא >>
Asaf02472
משתמש מתחיל
משתמש מתחיל


הצטרף / הצטרפה: 21 December 2006
משתמש: מנותק/ת
הודעות: 18
נשלח בתאריך: 21 January 2007 בשעה 16:01 | IP רשוּם
ציטוט Asaf02472

קוד:

using System;

class Program

{

static void Main(string[] args)

{

/* משחק המדמה זריקת קוביות, אשר נגמר רק כאשר יוצא 6-6

*/

// הגדרת משתנים

int die1 = 0; // קוביה 1

int die2 = 0; // קוביה 2

int mone = 0; // מונה נסיונות

Random x = new Random();

// עיבוד ופלט

while (die1 != 6 && die2 != 6)

{

die1 = x.Next(6) + 1;

die2 = x.Next(6) + 1;

mone++;

Console.WriteLine("{0} {1}", die1, die2);

Console.ReadKey();

}

Console.WriteLine();

Console.WriteLine("times: {0}", mone);

}

}


(זה רושם הפוך אבל אפשר להבין..)

עשיתי

קוד:
while (die1 != 6 && die2 != 6)

וכשאחד מהם שווה 6 הוא יוצא לי מהלולאה..למה??

אני משתמש בMicrosoft Visual C# 2005 Express Edition

חזרה לתחילת העמוד הצג את כרטיס החבר של Asaf02472 חפש הודעות אחרות של Asaf02472
 
Asaf02472
משתמש מתחיל
משתמש מתחיל


הצטרף / הצטרפה: 21 December 2006
משתמש: מנותק/ת
הודעות: 18
נשלח בתאריך: 21 January 2007 בשעה 16:18 | IP רשוּם
ציטוט Asaf02472

וואי מצטער על השאלה הטפשית הזאת..הייתי צריך לעשות ||

סליחה, מחקו את הנושא

חזרה לתחילת העמוד הצג את כרטיס החבר של Asaf02472 חפש הודעות אחרות של Asaf02472
 
shoshan
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 16 July 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 4637
נשלח בתאריך: 21 January 2007 בשעה 16:24 | IP רשוּם
ציטוט shoshan

שמתי לך תגיות של קוד...

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

אגב, במקרה הזה מתאים יותר do while לדעתי,
במקום readkey כל פעם אפשר להשתמש ב-
קוד:
System.Threading.Thread.Sleep(750);


(ויש אפשרות ב-random לפרט מספר מינימאלי, אז לא צריך את ה- 1+ הזה...)

עריכה: לא משנה, אני כבר משאיר את הנושא.


__________________
עד מתי רשעים יעלוזו?

עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
חזרה לתחילת העמוד הצג את כרטיס החבר של shoshan חפש הודעות אחרות של shoshan בקר בדף הבית של shoshan
 
Asaf02472
משתמש מתחיל
משתמש מתחיל


הצטרף / הצטרפה: 21 December 2006
משתמש: מנותק/ת
הודעות: 18
נשלח בתאריך: 21 January 2007 בשעה 17:42 | IP רשוּם
ציטוט Asaf02472

מה זה

System.Threading.Thread.Sleep(750);

??

ואיך עושים לrandom מספר מינימאלי?

חזרה לתחילת העמוד הצג את כרטיס החבר של Asaf02472 חפש הודעות אחרות של Asaf02472
 
shoshan
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 16 July 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 4637
נשלח בתאריך: 21 January 2007 בשעה 17:53 | IP רשוּם
ציטוט shoshan

אתה פשוט מכניס במספר הראשון את המינימאלי ובשני את המאקסימלי...

ו-"זה" גורם לתוכנית לחכות ל-0.75 שניות (או ליתר דיוק ל-Thread הנוכחי לעצור).


__________________
עד מתי רשעים יעלוזו?

עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
חזרה לתחילת העמוד הצג את כרטיס החבר של shoshan חפש הודעות אחרות של shoshan בקר בדף הבית של shoshan
 
Asaf02472
משתמש מתחיל
משתמש מתחיל


הצטרף / הצטרפה: 21 December 2006
משתמש: מנותק/ת
הודעות: 18
נשלח בתאריך: 21 January 2007 בשעה 18:29 | IP רשוּם
ציטוט Asaf02472

תודהה...

ומה זה Thread ??

ואם אני רוצה לעשות שניות או דקות או שעות, איך בנוי המספר? יענו למה כשזה 750 זה 0.75 שניות

ועשיתי:

קוד:

die1 = x.Next(1,6);

וזה פתאום כתב לי מלאאאא מספרים מהר מהר...

חזרה לתחילת העמוד הצג את כרטיס החבר של Asaf02472 חפש הודעות אחרות של Asaf02472
 
shoshan
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 16 July 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 4637
נשלח בתאריך: 21 January 2007 בשעה 20:05 | IP רשוּם
ציטוט shoshan

750 אלפיות השנייה...

אפ אתה רוצה מסיבה מאד מוזרה דקה שלמה זה 60000

זה כתב לך מלא מספרים בגלל שאין לא ReadKey ולא Sleep, ולא תקבל 6 כי אתה אמור לעשות Next(1, 7);


__________________
עד מתי רשעים יעלוזו?

עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
חזרה לתחילת העמוד הצג את כרטיס החבר של shoshan חפש הודעות אחרות של shoshan בקר בדף הבית של shoshan
 
Asaf02472
משתמש מתחיל
משתמש מתחיל


הצטרף / הצטרפה: 21 December 2006
משתמש: מנותק/ת
הודעות: 18
נשלח בתאריך: 21 January 2007 בשעה 21:30 | IP רשוּם
ציטוט Asaf02472

אה..תודה!

System.Threading.Thread.Sleep(750);"

-מה זה sleep וה Thread  האלה? ואיזה עוד פקודות אפשר לעשות עם System

"אגב, במקרה הזה מתאים יותר do while לדעתי"

-מה זה do while?

-ולא הבנתי למה הטעות שלי היתה שעשיתי && ולא ||...כי צריך ששניהם ביחד יהיו שונים מ6 כדי שזה יכנס ללולאה לא?

-בבית ספר למדנו לעשות רנדום בטווח 50- ל50 ככה:

קוד:
x = r.Next(101) - 50;

אז אתה חושב שאפשר לעשות ככה

קוד:
x = r.Next(-50,51);

 

סהכ 4 שאלות...חח תודה רבה שושן

חזרה לתחילת העמוד הצג את כרטיס החבר של Asaf02472 חפש הודעות אחרות של Asaf02472
 
shoshan
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 16 July 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 4637
נשלח בתאריך: 22 January 2007 בשעה 11:24 | IP רשוּם
ציטוט shoshan

1. חפש בגוגל (ותסתכל מה יש לך ב-auto compleet)

2. גם גוגל (c# do while)

3. לא נכון, אתה מחכה למתי ששניהם יהיו 6, כלומר מספיק שאחד מהם יהיה שונה מ-6.

4. זה ממש לא משנה, אתה תמיד יכול לנסות, זה באמת חסר משמעות.

 



__________________
עד מתי רשעים יעלוזו?

עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
חזרה לתחילת העמוד הצג את כרטיס החבר של shoshan חפש הודעות אחרות של shoshan בקר בדף הבית של shoshan
 
:)
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 22 January 2007 בשעה 14:34 | IP רשוּם
ציטוט :)

shoshan כתב:
שמתי לך תגיות של קוד...

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

אגב, במקרה הזה מתאים יותר do while לדעתי,
במקום readkey כל פעם אפשר להשתמש ב-
קוד:
System.Threading.Thread.Sleep(750);


(ויש אפשרות ב-random לפרט מספר מינימאלי, אז לא צריך את ה- 1+ הזה...)

עריכה: לא משנה, אני כבר משאיר את הנושא.


מה ההבדל במקרה הזה בין DO WHILE ן רק WHILE ? זה אותו הדבר לא ?
חזרה לתחילת העמוד הצג את כרטיס החבר של :) חפש הודעות אחרות של :) בקר בדף הבית של :)
 
shoshan
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 16 July 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 4637
נשלח בתאריך: 22 January 2007 בשעה 15:59 | IP רשוּם
ציטוט shoshan

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


__________________
עד מתי רשעים יעלוזו?

עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
חזרה לתחילת העמוד הצג את כרטיס החבר של shoshan חפש הודעות אחרות של shoshan בקר בדף הבית של shoshan
 

אם ברצונך להגיב לנושא זה עליך קודם להתחבר
אם אינך רשום/ה כבר עליך להרשם

  שליחת תגובהשליחת נושא חדש
גרסת הדפסה גרסת הדפסה

קפיצה לפורום
אינך יכול/ה לשלוח נושאים חדשים בפורום זה
אינך יכול/ה להגיב לנושאים בפורום זה
אינך יכול/ה למחוק את הודעותיך ותגוביך בפורום זה
אינך יכול/ה לערוך את הודעותיך ותגובותיך בפורום זה
אינך יכול/ה לצור סקרים בפורום זה
אינך יכול/ה להצביע בסקרים בפורום זה