#include #include #include #include void print_menu(){ printf("\n[*] guess a number from 0 to 10\n"); printf( "[*] press:\n" "\t1 to play\n" "\t2 to try again\n" "\t...or anything else to exit\n"); } int lemmego(){ printf("[*] you wished to go, quitting...\n"); return EXIT_SUCCESS; } int get_rand(){ int ar [10]; for (int i = 0; i < 10; i++) { int dat_num = 1+ (rand() % 10); ar[i] = dat_num; } int r = ar[rand() % 10]; return r; } int get_userguess(){ int x = -1; int ok = -1; while( ok != 1){ ok = scanf("%d", &x); if(ok == EOF){ printf("[*] please, come on...\n"); } if(ok == 0){ while (fgetc(stdin) != '\n'){ } printf("[*] give me a correct value\n"); printf("[*] stop gibbering around\n"); } } return x; } int compare_guess_with_reality(int userguess, int reality){ printf("[*] guess was: %d\n", userguess); printf("[*] reality is: %d\n", reality); if (userguess == reality) return 0; else return 1; } void guess(){ srand(time(0)); int userchoice = -1; printf("\nwelcome to the guessing game\n"); while (userchoice != 3){ int userguess = -1; int nurand = -1; int verdict = -1; int ok = -1; print_menu(); while(ok != 1){ printf("[*] you: "); ok = scanf("%d", &userchoice); if(ok == EOF){ printf("[*] please, come on...\n"); } if(ok == 0){ while (fgetc(stdin) != '\n'){ } // printf("[*] give me a correct value next time (an integer)\n"); lemmego(); return; } } switch( userchoice ) { case 1: nurand = get_rand(); printf( "[?] what is your guess then? pick a number from 0 to 10\n" ); printf("\tmy guess: "); userguess = get_userguess(); verdict = compare_guess_with_reality(userguess, nurand); if (verdict == 0){ printf("[*] you won because you've got luck. try me next time!\n"); } else { printf("[*] you lost!\n"); } break; case 2: printf("[*] guess again\n"); userchoice = 1; break; default: userchoice = 3; lemmego(); } } } int main() { guess(); return 0; }