From 0980f89949932c3fdae77a2b6b43b32394441d6b Mon Sep 17 00:00:00 2001 From: krolyxon Date: Thu, 31 Aug 2023 08:50:20 +0530 Subject: [PATCH] minor refactoring --- .gitignore | 2 ++ Makefile | 17 +++++++++ README.md | 28 +++++++++++++++ assets/banner.txt | 8 +++++ src/main.c | 88 +++++++++++++++++++++++++---------------------- 5 files changed, 101 insertions(+), 42 deletions(-) create mode 100644 .gitignore create mode 100644 Makefile create mode 100644 README.md create mode 100644 assets/banner.txt diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..75871ff --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +*.o +tros diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..721ae75 --- /dev/null +++ b/Makefile @@ -0,0 +1,17 @@ +tros: main.o sort.o utils.o + gcc main.o sort.o utils.o -o tros + +main.o: src/main.c + gcc -c src/main.c + +sort.o: src/sort.c + gcc -c src/sort.c + +utils.o: src/utils.c + gcc -c src/utils.c + +clean: + rm *.o tros + +run: + make; ./tros diff --git a/README.md b/README.md new file mode 100644 index 0000000..96ce33c --- /dev/null +++ b/README.md @@ -0,0 +1,28 @@ +## WIP WIP WIP + +# TODO +- [] Implement Score system +Difficulties: Easy, Medium, Hard +Easy = +10, -10; +Medium = +10, -20; +Hard = +10, score = 0; + +## Levels: +1: 5 elems +2: 8 elems +3: 10 elems +4: 13 elems +5: 16 elems +6: 19 elems +7: 22 elems +8: 25 elems +9: 28 elems +10: 30 elems + + +# Algorithms to be implemented: +- [x] Bubblesort +- [x] SelectionSort +- [x] InsertionSort +- [] Radix Sort + diff --git a/assets/banner.txt b/assets/banner.txt new file mode 100644 index 0000000..fcb30d3 --- /dev/null +++ b/assets/banner.txt @@ -0,0 +1,8 @@ +──────────────────────────────── + ╔════╗ ╔═══╗ ╔═══╗ ╔═══╗ + ║╔╗╔╗║ ║╔═╗║ ║╔═╗║ ║╔═╗║ + ╚╝║║╚╝ ║╚═╝║ ║║ ║║ ║╚══╗ + ║║ ║╔╗╔╝ ║║ ║║ ╚══╗║ + ╔╝╚╗ ║║║╚╗ ║╚═╝║ ║╚═╝║ + ╚══╝ ╚╝╚═╝ ╚═══╝ ╚═══╝ +──────────────────────────────── diff --git a/src/main.c b/src/main.c index 4e6d57a..0a14774 100644 --- a/src/main.c +++ b/src/main.c @@ -19,65 +19,64 @@ 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 score = 100; +int level = 1; +int size = 5; void decrement_score(enum Difficulty diff); +void level_up(); +int getrand(); enum Difficulty get_difficulty(); int main(int argc, char *argv[]) { // Get a random number to run a random algorithm int guess; - srand(time(0)); - int random_number = (rand() % (UPPER - LOWER + 1)) + LOWER; + int random_number = getrand(); printf(COLOR_RED); print_ascii("./assets/banner.txt"); - int size; enum Difficulty diff = get_difficulty(); - switch (diff) { - case Easy: - size = 5; - break; - case Medium: - size = 10; - break; - case Hard: - size = 23; - break; - } - printf(BAR); - switch (random_number) { - case 1: - bubblesort(list, size); - break; - case 2: - insertionsort(list, size); - break; - case 3: - selectionsort(list, size); - break; - // case 4: radixsort(list); break; - default: - break; - } + while (level > 0 && level <= 10) { + printf(BAR); + switch (random_number) { + case 1: + bubblesort(list, size); + break; + case 2: + insertionsort(list, size); + break; + case 3: + selectionsort(list, size); + break; + // case 4: radixsort(list); break; + default: + break; + } - printf(BAR); - printf("1. BubbleSort\n"); - printf("2. InsertionSort\n"); - printf("3. SelectionSort\n"); - printf("4. RadixSort\n"); - printf("Enter your guess: "); - scanf("%d", &guess); - if (guess == random_number) { - printf("Congratulations!!! Your answer was right!!\n"); - score += 10; - } else { - decrement_score(diff); + printf(BAR); + printf("1. BubbleSort\n"); + printf("2. InsertionSort\n"); + printf("3. SelectionSort\n"); + printf("4. RadixSort\n"); + printf("Enter your guess: "); + scanf("%d", &guess); + if (guess == random_number) { + printf("Congratulations!!! Your answer was right!!\n"); + score += 10; + level_up(); + } else { + decrement_score(diff); + } + printf("Score: %d\n", score); } - printf("Score: %d\n", score); return 0; } +int getrand() { + srand(time(0)); + return (rand() % (UPPER - LOWER + 1)) + LOWER; +} + void decrement_score(enum Difficulty diff) { if (diff == Easy) { printf("Wrong Answer!! The score will be decremented by 10\n"); @@ -115,3 +114,8 @@ enum Difficulty get_difficulty() { } return difficulty; } + +void level_up() { + level++; + size += 3; +}