Найти и исправить ошибки в коде: игра "Крепс" (программа из учебника Харви и Пола Дейтелов) - C (СИ)
Формулировка задачи:
Решил проверить работу программы из учебника Харви Дейтела и Пола Дейтеле. Получается, что при ее выполнении игрок всегда выигрывает, хотя программу я перес точно. МОжет, кто-то найдет ошибку? Правила: игрок выбрасывает 2 кости. После того как кости остановятся, вычисляется сумма точек, поеврнутых вверх. Если выпавшая сумма при первом броске оказалась равной 7 или 11, то победил игрок. Если сумма при первом броске составила 2, 3 или 12, то игрок проигрывает. Если сумма первого броска равна 4,5,6,8, 9 или 10, то эта сумма становится очками игрока. Чтобы выиграть, вы должны продолжить бросать кости до тех пор, пока не наберете свои очки еще раз. Игрок проигрывает, если при очередном броске выпадает 7.
#include <stdio.h> #include <stdlib.h> #include <time.h> int rollDice(void); main() { int gameStatus, sum, myPoint; srand(time(NULL)); sum=rollDice(); switch(sum) { case 7: case 11: gameStatus=1; break; case 2: case 3: case 12: gameStatus=2; break; default: gameStatus=0; myPoint=sum; printf("Point is %d", myPoint); break; } while(gameStatus==0) { sum=rollDice(); if(sum==myPoint) gameStatus=1; else if(sum==7) gameStatus==2; } if(gameStatus==1) printf("Player wins\n"); else printf("Plauer loses\n"); return 0; } int rollDice(void) { int die1, die2, workSum; die1=1+(rand()%6); die2=1+(rand()%6); workSum=die1+die2; printf("Player rolled %d + %d = %d\n", die1, die2, workSum); return(workSum); }
Решение задачи: «Найти и исправить ошибки в коде: игра "Крепс" (программа из учебника Харви и Пола Дейтелов)»
textual
Листинг программы
gameStatus=2;
Объяснение кода листинга программы
- В начале кода объявляется переменная
gameStatus
и присваивается ей значение 2. - Значение переменной
gameStatus
представляет собой статус игрыКрепс
. - Значение 2 указывает на то, что игра в самом начале, и еще не было сделано ни одного хода.
- Возможно, значение переменной
gameStatus
может принимать несколько значений, которые соответствуют различным состояниям игры. - Возможно, в дальнейшем коде есть условные операторы, которые изменяют значение переменной
gameStatus
в зависимости от действий игрока.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д