135 lines
3.3 KiB
C
135 lines
3.3 KiB
C
#include <stdio.h>
|
|
#include <time.h>
|
|
#include <stdlib.h>
|
|
|
|
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\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 my guess >>> ");
|
|
}
|
|
}
|
|
return x;
|
|
}
|
|
|
|
void compare_guess_with_reality(int userguess, int reality){
|
|
if(userguess == reality){
|
|
printf("[*] you won because you've got luck. try me next time!\n");
|
|
}else if(userguess < reality){
|
|
printf("[*] you lost!\n");
|
|
printf("\thint: your guess was just a tad lower than the secret number\n");
|
|
}else{
|
|
printf("[*] you lost!\n");
|
|
printf("[i] hint: your guess was just a tad higher than the secret number\n");
|
|
}
|
|
}
|
|
|
|
void guess(){
|
|
srand(time(0));
|
|
int userchoice = -1;
|
|
int nurand = -1;
|
|
printf("\nwelcome to the guessing game\n");
|
|
|
|
while (userchoice != 3){
|
|
int userguess = -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'){
|
|
}
|
|
lemmego();
|
|
return;
|
|
}
|
|
}
|
|
|
|
switch( userchoice ) {
|
|
case 1:
|
|
nurand = get_rand();
|
|
printf( "[?] what is your guess then? pick a number from 0 to 10\n" );
|
|
printf(" my guess >>> ");
|
|
|
|
userguess = get_userguess();
|
|
compare_guess_with_reality(userguess, nurand);
|
|
break;
|
|
|
|
case 2:
|
|
if(nurand == -1){
|
|
printf("[!] there wasn't a first time yet, mate...\n");
|
|
break;
|
|
}
|
|
printf("[*] guess again\n");
|
|
printf( "[?] what is your guess then? pick a number from 0 to 10\n" );
|
|
printf(" my guess >>> ");
|
|
|
|
userguess = get_userguess();
|
|
compare_guess_with_reality(userguess, nurand);
|
|
break;
|
|
|
|
default:
|
|
userchoice = 3;
|
|
lemmego();
|
|
}
|
|
}
|
|
}
|
|
|
|
void print_rand_bs(){
|
|
printf("\n\n[*] printing rand\n");
|
|
printf("seed\trand1\trand2\trand3\trand4\trand5\trand6\trand7\n");
|
|
for (unsigned int i = 1; i < 6; i++){
|
|
unsigned int seed = i;
|
|
srand(seed);
|
|
printf("%d\t", seed);
|
|
for (int j = 0; j < 7; j++){
|
|
printf("%d\t", rand() % 101);
|
|
}
|
|
printf("\n");
|
|
}
|
|
}
|
|
|
|
int main()
|
|
{
|
|
guess();
|
|
print_rand_bs();
|
|
return 0;
|
|
}
|