tros9f5aaec
random list on each level, level up/down system
+32 −4
1 file changed
- M src/main.c +32 −4
| @@ -15,8 +15,7 @@ enum Difficulty { | |||
| 15 | 15 | Hard, | |
| 16 | 16 | }; | |
| 17 | 17 | ||
| 18 | − | int list[] = {40, 78, 94, 62, 68, 74, 56, 55, 88, 55, 59, 73, | |
| 19 | − | 19, 32, 81, 95, 71, 63, 15, 41, 11, 38, 86}; | |
| 18 | + | int list[35]; | |
| 20 | 19 | ||
| 21 | 20 | int score = 100; | |
| 22 | 21 | int level = 1; | |
| @@ -24,28 +23,34 @@ int size = 5; | |||
| 24 | 23 | ||
| 25 | 24 | void decrement_score(enum Difficulty diff); | |
| 26 | 25 | void level_up(); | |
| 26 | + | void level_down(); | |
| 27 | 27 | int getrand(); | |
| 28 | + | void getarr(int size); | |
| 28 | 29 | enum Difficulty get_difficulty(); | |
| 29 | 30 | ||
| 30 | 31 | int main(int argc, char *argv[]) { | |
| 31 | 32 | // Get a random number to run a random algorithm | |
| 33 | + | srand(time(0)); | |
| 32 | 34 | int guess; | |
| 33 | − | int random_number = getrand(); | |
| 34 | 35 | ||
| 35 | 36 | printf(COLOR_RED); | |
| 36 | 37 | print_ascii("./assets/banner.txt"); | |
| 37 | 38 | enum Difficulty diff = get_difficulty(); | |
| 38 | 39 | ||
| 39 | 40 | while (level > 0 && level <= 10) { | |
| 41 | + | int random_number = getrand(); | |
| 40 | 42 | printf(BAR); | |
| 41 | 43 | switch (random_number) { | |
| 42 | 44 | case 1: | |
| 45 | + | getarr(size); | |
| 43 | 46 | bubblesort(list, size); | |
| 44 | 47 | break; | |
| 45 | 48 | case 2: | |
| 49 | + | getarr(size); | |
| 46 | 50 | insertionsort(list, size); | |
| 47 | 51 | break; | |
| 48 | 52 | case 3: | |
| 53 | + | getarr(size); | |
| 49 | 54 | selectionsort(list, size); | |
| 50 | 55 | break; | |
| 51 | 56 | // case 4: radixsort(list); break; | |
| @@ -66,6 +71,7 @@ int main(int argc, char *argv[]) { | |||
| 66 | 71 | level_up(); | |
| 67 | 72 | } else { | |
| 68 | 73 | decrement_score(diff); | |
| 74 | + | level_down(); | |
| 69 | 75 | } | |
| 70 | 76 | printf("Score: %d\n", score); | |
| 71 | 77 | } | |
| @@ -73,7 +79,6 @@ int main(int argc, char *argv[]) { | |||
| 73 | 79 | } | |
| 74 | 80 | ||
| 75 | 81 | int getrand() { | |
| 76 | − | srand(time(0)); | |
| 77 | 82 | return (rand() % (UPPER - LOWER + 1)) + LOWER; | |
| 78 | 83 | } | |
| 79 | 84 | ||
| @@ -116,6 +121,29 @@ enum Difficulty get_difficulty() { | |||
| 116 | 121 | } | |
| 117 | 122 | ||
| 118 | 123 | void level_up() { | |
| 124 | + | if (level == 10) { | |
| 125 | + | printf("Congratulations!! You WON the game"); | |
| 126 | + | exit(1); | |
| 127 | + | } | |
| 119 | 128 | level++; | |
| 120 | 129 | size += 3; | |
| 130 | + | printf(COLOR_BOLD COLOR_RED | |
| 131 | + | "You have been leveled up to Level %d\n" COLOR_OFF, | |
| 132 | + | level); | |
| 133 | + | } | |
| 134 | + | ||
| 135 | + | void level_down() { | |
| 136 | + | if (level >= 2) { | |
| 137 | + | level--; | |
| 138 | + | size -= 3; | |
| 139 | + | } else { | |
| 140 | + | printf("Too many wrong answers!!, You Lose!"); | |
| 141 | + | exit(1); | |
| 142 | + | } | |
| 143 | + | } | |
| 144 | + | ||
| 145 | + | void getarr(int size) { | |
| 146 | + | for (int i = 0; i < size; i++) { | |
| 147 | + | list[i] = rand() % 100; | |
| 148 | + | } | |
| 121 | 149 | } | |