random list on each level, level up/down system
This commit is contained in:
parent
9fb3050fe4
commit
9f5aaecd88
36
src/main.c
36
src/main.c
|
|
@ -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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Reference in New Issue