| @@ -19,65 +19,64 @@ int list[] = {40, 78, 94, 62, 68, 74, 56, 55, 88, 55, 59, 73, |
| 19 | 19 | | 19, 32, 81, 95, 71, 63, 15, 41, 11, 38, 86}; |
| 20 | 20 | | |
| 21 | 21 | | int score = 100; |
| 22 | + | int level = 1; |
| 23 | + | int size = 5; |
| 22 | 24 | | |
| 23 | 25 | | void decrement_score(enum Difficulty diff); |
| 26 | + | void level_up(); |
| 27 | + | int getrand(); |
| 24 | 28 | | enum Difficulty get_difficulty(); |
| 25 | 29 | | |
| 26 | 30 | | int main(int argc, char *argv[]) { |
| 27 | 31 | | // Get a random number to run a random algorithm |
| 28 | 32 | | int guess; |
| 29 | | − | srand(time(0)); |
| 30 | | − | int random_number = (rand() % (UPPER - LOWER + 1)) + LOWER; |
| 33 | + | int random_number = getrand(); |
| 31 | 34 | | |
| 32 | 35 | | printf(COLOR_RED); |
| 33 | 36 | | print_ascii("./assets/banner.txt"); |
| 34 | | − | int size; |
| 35 | 37 | | enum Difficulty diff = get_difficulty(); |
| 36 | | − | switch (diff) { |
| 37 | | − | case Easy: |
| 38 | | − | size = 5; |
| 39 | | − | break; |
| 40 | | − | case Medium: |
| 41 | | − | size = 10; |
| 42 | | − | break; |
| 43 | | − | case Hard: |
| 44 | | − | size = 23; |
| 45 | | − | break; |
| 46 | | − | } |
| 47 | 38 | | |
| 48 | | − | printf(BAR); |
| 49 | | − | switch (random_number) { |
| 50 | | − | case 1: |
| 51 | | − | bubblesort(list, size); |
| 52 | | − | break; |
| 53 | | − | case 2: |
| 54 | | − | insertionsort(list, size); |
| 55 | | − | break; |
| 56 | | − | case 3: |
| 57 | | − | selectionsort(list, size); |
| 58 | | − | break; |
| 59 | | − | // case 4: radixsort(list); break; |
| 60 | | − | default: |
| 61 | | − | break; |
| 62 | | − | } |
| 39 | + | while (level > 0 && level <= 10) { |
| 40 | + | printf(BAR); |
| 41 | + | switch (random_number) { |
| 42 | + | case 1: |
| 43 | + | bubblesort(list, size); |
| 44 | + | break; |
| 45 | + | case 2: |
| 46 | + | insertionsort(list, size); |
| 47 | + | break; |
| 48 | + | case 3: |
| 49 | + | selectionsort(list, size); |
| 50 | + | break; |
| 51 | + | // case 4: radixsort(list); break; |
| 52 | + | default: |
| 53 | + | break; |
| 54 | + | } |
| 63 | 55 | | |
| 64 | | − | printf(BAR); |
| 65 | | − | printf("1. BubbleSort\n"); |
| 66 | | − | printf("2. InsertionSort\n"); |
| 67 | | − | printf("3. SelectionSort\n"); |
| 68 | | − | printf("4. RadixSort\n"); |
| 69 | | − | printf("Enter your guess: "); |
| 70 | | − | scanf("%d", &guess); |
| 71 | | − | if (guess == random_number) { |
| 72 | | − | printf("Congratulations!!! Your answer was right!!\n"); |
| 73 | | − | score += 10; |
| 74 | | − | } else { |
| 75 | | − | decrement_score(diff); |
| 56 | + | printf(BAR); |
| 57 | + | printf("1. BubbleSort\n"); |
| 58 | + | printf("2. InsertionSort\n"); |
| 59 | + | printf("3. SelectionSort\n"); |
| 60 | + | printf("4. RadixSort\n"); |
| 61 | + | printf("Enter your guess: "); |
| 62 | + | scanf("%d", &guess); |
| 63 | + | if (guess == random_number) { |
| 64 | + | printf("Congratulations!!! Your answer was right!!\n"); |
| 65 | + | score += 10; |
| 66 | + | level_up(); |
| 67 | + | } else { |
| 68 | + | decrement_score(diff); |
| 69 | + | } |
| 70 | + | printf("Score: %d\n", score); |
| 76 | 71 | | } |
| 77 | | − | printf("Score: %d\n", score); |
| 78 | 72 | | return 0; |
| 79 | 73 | | } |
| 80 | 74 | | |
| 75 | + | int getrand() { |
| 76 | + | srand(time(0)); |
| 77 | + | return (rand() % (UPPER - LOWER + 1)) + LOWER; |
| 78 | + | } |
| 79 | + | |
| 81 | 80 | | void decrement_score(enum Difficulty diff) { |
| 82 | 81 | | if (diff == Easy) { |
| 83 | 82 | | printf("Wrong Answer!! The score will be decremented by 10\n"); |
| @@ -115,3 +114,8 @@ enum Difficulty get_difficulty() { |
| 115 | 114 | | } |
| 116 | 115 | | return difficulty; |
| 117 | 116 | | } |
| 117 | + | |
| 118 | + | void level_up() { |
| 119 | + | level++; |
| 120 | + | size += 3; |
| 121 | + | } |