2 שאלות ב-C
אז ככה, קיבלתי שתי משימות בבצפר ב-C. 1. לכתוב משחק מלחמה, כידוע 2 מתמודדים בכל תור מוציאים קלף בחתום 1-13, מי שהקלף שלו יותר גבוה לוקח את שני הקלפים. במקרה תיקו עושים מלחמה עד שיש מנצח. הפלט של המשחק: בכל שלב ערכי הקלפים שהוגרלו, מספר השחקן הזוכה וגודל הקופה של כל שחקן. בסוף המשחק: הודעה מתאימה וקוד השחקן הזוכה (סוף המשחק לאחר 30 תורים). זה הקוד שעד עכשו כתבתי:
אז ככה, קיבלתי שתי משימות בבצפר ב-C. 1. לכתוב משחק מלחמה, כידוע 2 מתמודדים בכל תור מוציאים קלף בחתום 1-13, מי שהקלף שלו יותר גבוה לוקח את שני הקלפים. במקרה תיקו עושים מלחמה עד שיש מנצח. הפלט של המשחק: בכל שלב ערכי הקלפים שהוגרלו, מספר השחקן הזוכה וגודל הקופה של כל שחקן. בסוף המשחק: הודעה מתאימה וקוד השחקן הזוכה (סוף המשחק לאחר 30 תורים). זה הקוד שעד עכשו כתבתי:
#include <stdio.h> #include <stdlib.h> void main() { int a=0,b=0,casha=0, cashb=0,i; /* a=משתמש 1, b=משתמש שני, casha= הקופה של משתמש 1, cashb=הקופה של משתמש 2 randomize(); for (i=1;i<=30;i++){ a=random(13)+1; b=random(13)+1; printf("%d",a); printf("%d",b); if (a>b){ casha=a+b printf("Player A took this round");} else if (b>a){ cashb=b+a printf("Player A took this round");} else { while (a==b){ a=random(13)+1; b=random(13)+1; if (a>b){ casha=a+b printf("Player A took this round");} else if (b>a){ cashb=b+a printf("Player A took this round");} } } printf("Game over"); if (casha>cashb) printf("Player A Won!"); else if (cashb>casha) printf("Player B Won!"); else printf("tie"); }
כפי שניתן לראות יש לי בעיה עם הקופה, שבעצם כל פעם הערך ישתנה במקום לגדול...אין לי מושג איך לעשות את זה. ובמצב של מלחמה, נגיד יש 2 ו-2 4 ו-4 ואז 8-4, אז המשתמש צריך לצבור 24 (יעני הסכום הכולל של הכל) וגם את זה אין לי מושג איך עושים. 2. לעשות שעון דיגיטלי...בגדול הבנתי אמרתי שנקבע 4 משתנים a,b,c,d, וכש d יהיה 9, c יעלה ב-1 ו-d יתאפס וכו'. רק איך אני גורם לשעון לזוז??