aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main.c36
1 files changed, 32 insertions, 4 deletions
diff --git a/src/main.c b/src/main.c
index 0a14774..5a20526 100644
--- a/src/main.c
+++ b/src/main.c
@@ -15,8 +15,7 @@ enum Difficulty {
Hard,
};
-int list[] = {40, 78, 94, 62, 68, 74, 56, 55, 88, 55, 59, 73,
- 19, 32, 81, 95, 71, 63, 15, 41, 11, 38, 86};
+int list[35];
int score = 100;
int level = 1;
@@ -24,28 +23,34 @@ int size = 5;
void decrement_score(enum Difficulty diff);
void level_up();
+void level_down();
int getrand();
+void getarr(int size);
enum Difficulty get_difficulty();
int main(int argc, char *argv[]) {
// Get a random number to run a random algorithm
+ srand(time(0));
int guess;
- int random_number = getrand();
printf(COLOR_RED);
print_ascii("./assets/banner.txt");
enum Difficulty diff = get_difficulty();
while (level > 0 && level <= 10) {
+ int random_number = getrand();
printf(BAR);
switch (random_number) {
case 1:
+ getarr(size);
bubblesort(list, size);
break;
case 2:
+ getarr(size);
insertionsort(list, size);
break;
case 3:
+ getarr(size);
selectionsort(list, size);
break;
// case 4: radixsort(list); break;
@@ -66,6 +71,7 @@ int main(int argc, char *argv[]) {
level_up();
} else {
decrement_score(diff);
+ level_down();
}
printf("Score: %d\n", score);
}
@@ -73,7 +79,6 @@ int main(int argc, char *argv[]) {
}
int getrand() {
- srand(time(0));
return (rand() % (UPPER - LOWER + 1)) + LOWER;
}
@@ -116,6 +121,29 @@ enum Difficulty get_difficulty() {
}
void level_up() {
+ if (level == 10) {
+ printf("Congratulations!! You WON the game");
+ exit(1);
+ }
level++;
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;
+ }
}