random list on each level, level up/down system

This commit is contained in:
krolyxon 2023-08-31 18:39:49 +05:30
parent 9fb3050fe4
commit 9f5aaecd88
1 changed files with 32 additions and 4 deletions

View File

@ -15,8 +15,7 @@ enum Difficulty {
Hard, Hard,
}; };
int list[] = {40, 78, 94, 62, 68, 74, 56, 55, 88, 55, 59, 73, int list[35];
19, 32, 81, 95, 71, 63, 15, 41, 11, 38, 86};
int score = 100; int score = 100;
int level = 1; int level = 1;
@ -24,28 +23,34 @@ int size = 5;
void decrement_score(enum Difficulty diff); void decrement_score(enum Difficulty diff);
void level_up(); void level_up();
void level_down();
int getrand(); int getrand();
void getarr(int size);
enum Difficulty get_difficulty(); enum Difficulty get_difficulty();
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
// Get a random number to run a random algorithm // Get a random number to run a random algorithm
srand(time(0));
int guess; int guess;
int random_number = getrand();
printf(COLOR_RED); printf(COLOR_RED);
print_ascii("./assets/banner.txt"); print_ascii("./assets/banner.txt");
enum Difficulty diff = get_difficulty(); enum Difficulty diff = get_difficulty();
while (level > 0 && level <= 10) { while (level > 0 && level <= 10) {
int random_number = getrand();
printf(BAR); printf(BAR);
switch (random_number) { switch (random_number) {
case 1: case 1:
getarr(size);
bubblesort(list, size); bubblesort(list, size);
break; break;
case 2: case 2:
getarr(size);
insertionsort(list, size); insertionsort(list, size);
break; break;
case 3: case 3:
getarr(size);
selectionsort(list, size); selectionsort(list, size);
break; break;
// case 4: radixsort(list); break; // case 4: radixsort(list); break;
@ -66,6 +71,7 @@ int main(int argc, char *argv[]) {
level_up(); level_up();
} else { } else {
decrement_score(diff); decrement_score(diff);
level_down();
} }
printf("Score: %d\n", score); printf("Score: %d\n", score);
} }
@ -73,7 +79,6 @@ int main(int argc, char *argv[]) {
} }
int getrand() { int getrand() {
srand(time(0));
return (rand() % (UPPER - LOWER + 1)) + LOWER; return (rand() % (UPPER - LOWER + 1)) + LOWER;
} }
@ -116,6 +121,29 @@ enum Difficulty get_difficulty() {
} }
void level_up() { void level_up() {
if (level == 10) {
printf("Congratulations!! You WON the game");
exit(1);
}
level++; level++;
size += 3; size += 3;
printf(COLOR_BOLD COLOR_RED
"You have been leveled up to Level %d\n" COLOR_OFF,
level);
}
void level_down() {
if (level >= 2) {
level--;
size -= 3;
} else {
printf("Too many wrong answers!!, You Lose!");
exit(1);
}
}
void getarr(int size) {
for (int i = 0; i < size; i++) {
list[i] = rand() % 100;
}
} }