מפגש 8 - תירגול - תנאים - 7 בום!
במפגש זה נכתוב תוכנית המאפשרת לשחק "7 בום!" מול המחשב. חוקי המשחק "7 בום!" הם
פשוטים למדי - כל שחקן בתורו אומר מספר (לפי הסדר) - 1, 2, 3 וכולי. אם שחקן הגיע
למספר המתחלק בשבע (7, 14, 21..), עליו לאמר "בום" במקום המספר. מי שטועה בסדר
המספרים או אומר מספר במקום בום (או להיפך) - נפסל.
מאחר והמחשב אף פעם לא יטעה - במשחק של אדם מול מחשב נכריז על השחקן כמנצח אם
הגיע למספר 30 בלי להתבלבל.
הנחיות
כדי להקל על עצמנו, נבנה את התוכנית בכמה שלבים.
- בשלב ראשון,נכתוב תוכנית בה המחשב משחק לבדו.
כיתבו תוכנית הסופרת מ-1 עד 50. עבור כל מספר, אם הוא מתחלק בשבע בדיוק,
המחשב ידפיס "boom", אחרת המחשב ידפיס את המספר.
1
2
3
4
5
6
boom
8
9
.
.
שימו לב - על מנת לבדוק אם מספר מתחלק בשבע, ללא שארית, נשתמש בפעולה החשבונית
של חישוב שארית בחלוקה. בשפת פייתון, הסימן % (אחוז) משמש למטרה זו. למשל:
>>> 1 % 7
1
>>> 7 % 7
0
>>> 9 % 7
2
- בשלב השני, נכתוב תוכנית בה השחקן משחק לבדו.
כיתבו תוכנית הסופרת מ-1 עד 50 (בלי להדפיס אותם). בכל "סיבוב" של הלולאה:
- התוכנית שואלת את המשתמש מהו המספר ("Next number? ").
- המשתמש רושם את תשובתו ולוחץ על מקש ה-Enter.
- התוכנית בודקת אם תשובת המשתמש היתה חוקית - אם משתנה הלולאה מתחלק בשבע,
התוכנית מוודאת שהמשתמש רשם "boom". אחרת - היא מוודאת שהמשתמש רשם
את המספר הנכון.
- במידה והמשתמש טעה, התוכנית מודיעה לו שטעה, ומסתיימת.
- בשלב השלישי, נכתוב את התוכנית המלאה. הפעם, בכל סיבוב של הלולאה, צריך לבדוק
תור מי לשחק.
- אם תור המחשב, הוא מדפיס את המספר הבא (או "boom", אם המספר מתחלק ב-7)
- כמו שהיה בשלב 1.
- אם תור השחקן, שואלים אותו מה המספר הבא, ובודקים כמו בשלב 2.
שימו לב: כדי לדעת תור מי בכל שלב, אפשר להשתמש במשתנה האומר האם תור המחשב או לא.
- בתחילת התוכנית נאתחל את המשתנה ל-0 (השחקן האנושי מתחיל).
- אם השחקן שיחק, נשנה את ערך המשתנה ל-1 (התור עובר למחשב).
- אם המחשב שיחק, נשנה את ערך המשתנה ל-0 (התור עובר לשחקן).
- שלב הבונוס - למשחק "7 בום!" יש הרחבה בשם "14 טראח!". הפעם אם המספר
מתחלק ב-7 אומרים "בום!", ואם המספר מתחלק בארבע-עשרה אומרים "טראח!".
בצעו שוב את שלושת השלבים עבור ההרחבה של המשחק.