Проверить с новыми программирования он не работает правильно.
Я пытаюсь закодировать игру со змеиным водяным пистолетом. Но я всегда получаю 0 или 10 иногда в качестве значения o a в строке № 75.
Что я уже пробовал:
#include<stdio.h> #include<stdlib.h> #include<time.h> int check(char inp, char comp){ int a; if(inp == 's' && comp == 'w') { a = 1; } else if(inp == 'w' && comp == 's') { a = -1; } if(inp == 's' && comp == 'g') { a = -1; } else if(inp == 'g' && comp == 's') { a = 1; } if(inp == 'w' && comp == 'g') { a = 1; } else if(inp == 'g' && comp == 'w') { a = -1; } if(inp == comp) { a = 0; } return a; } char ran(char comp) { srand(time(0)); int num = rand()%100; //printf("%d", num); if(num<33) { return 'S'; } else if(num<66) { return 'W'; } else { return 'G'; } } int main() { int number,tim, player=0, compu=0, draw=0, a; char you,comp; printf("How many time you want to play the game:\n"); scanf("%d", &tim); for(int i=0; i<tim; i++) { comp = ran(comp); printf("Enter 'S' for snake, 'w' fro water, 'G' gor gun:\n"); scanf("%c", &you); fflush(stdin); //printf("%c\n", comp); a= check(you, comp); printf("%d", a); if(a == 1) { player++; printf("player: %d\n", player); printf("computer: %d\n", compu); printf("draw: %d\n", draw); } else if(a == -1) { compu++; printf("player: %d\n", player); printf("computer: %d\n", compu); printf("draw: %d\n", draw); } else if(a == 0) { draw++; printf("player: %d\n", player); printf("computer: %d\n", compu); printf("draw: %d\n", draw); } } return 0; }
Rick York
Вы не можете произнести слово "пожалуйста"по буквам?
Тогда все в порядке.
OriginalGriff
Yoofz 2da ... :вздох:
Rick York
Извините - никакой Хабльской тарабарщины.
Richard MacCutchan
Вы должны начать с использования последовательного корпуса букв. Используйте все прописные или все нижние буквы, а не случайную смесь, которая у вас есть в данный момент. Также необходимо добавить код на случай, когда пользователь не вводит допустимую букву.