aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore2
-rw-r--r--Makefile17
-rw-r--r--README.md28
-rw-r--r--assets/banner.txt8
-rw-r--r--src/main.c88
5 files changed, 101 insertions, 42 deletions
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;
+}