#include #include /* Return 2 for tie, 1 for win, 0 for loss */ char rock(void); char paper(void); char scissors(void); void print_results(char results); #define TIE 2 #define WIN 1 #define LOSE 0 int comp_choice; char * char_comp[] = { "rock", "paper", "scissors" }; int main(void) { int user_choice; char user_input[3]; srand(time(NULL)); printf("Welcome to RPS\n"); printf("1 - Rock\n"); printf("2 - Paper\n"); printf("3 - Scissors\n"); printf("4 - Exit\n"); printf("anything else - get called a retard\n"); while (1) { printf(": "); fgets(user_input,sizeof(user_input)-1,stdin); user_input[1] = '\0'; user_choice = atoi(user_input); fgets(user_input,sizeof(user_input)-1,stdin); comp_choice = 1 + rand() % 3; switch(user_choice) { case 1: print_results(rock()); break; case 2: print_results(paper()); break; case 3: print_results(scissors()); break; case 4: printf("Thanks for playing!\n"); exit(0); break; case '\0': break; default: printf("Retard!\n"); exit(1); break; } } return 0; } char rock(void) { if (comp_choice == 1) return TIE; if (comp_choice == 2) return LOSE; if (comp_choice == 3) return WIN; return -1; } char paper(void) { if (comp_choice == 1) return WIN; if (comp_choice == 2) return TIE; if (comp_choice == 3) return LOSE; return -1; } char scissors(void) { if (comp_choice == 1) return LOSE; if (comp_choice == 2) return WIN; if (comp_choice == 3) return TIE; return -1; } void print_results(char results) { printf("Comp chose %s\n",char_comp[comp_choice-1]); if (results == WIN) printf("You Win!\n"); if (results == LOSE) printf("You Lose!\n"); if (results == TIE) printf("You Tie!\n"); }