Krolyxon
Commit 0980f89

Branches

Refs →

tros0980f89

minor refactoring

Author
krolyxon
Date
2023-08-31 08:50 +0530
Parent
f94f903
Commit
0980f89949932c3fdae77a2b6b43b32394441d6b

+101 −42

5 files changed

  1. A .gitignore +2 −0
  2. A Makefile +17 −0
  3. A README.md +28 −0
  4. A assets/banner.txt +8 −0
  5. M src/main.c +46 −42
A .gitignore View
@@ -0,0 +1,2 @@
1+*.o
2+tros
A Makefile View
@@ -0,0 +1,17 @@
1+tros: main.o sort.o utils.o
2+ gcc main.o sort.o utils.o -o tros
3+
4+main.o: src/main.c
5+ gcc -c src/main.c
6+
7+sort.o: src/sort.c
8+ gcc -c src/sort.c
9+
10+utils.o: src/utils.c
11+ gcc -c src/utils.c
12+
13+clean:
14+ rm *.o tros
15+
16+run:
17+ make; ./tros
A README.md View
@@ -0,0 +1,28 @@
1+## WIP WIP WIP
2+
3+# TODO
4+- [] Implement Score system
5+Difficulties: Easy, Medium, Hard
6+Easy = +10, -10;
7+Medium = +10, -20;
8+Hard = +10, score = 0;
9+
10+## Levels:
11+1: 5 elems
12+2: 8 elems
13+3: 10 elems
14+4: 13 elems
15+5: 16 elems
16+6: 19 elems
17+7: 22 elems
18+8: 25 elems
19+9: 28 elems
20+10: 30 elems
21+
22+
23+# Algorithms to be implemented:
24+- [x] Bubblesort
25+- [x] SelectionSort
26+- [x] InsertionSort
27+- [] Radix Sort
28+
A assets/banner.txt View
@@ -0,0 +1,8 @@
1+────────────────────────────────
2+ ╔════╗ ╔═══╗ ╔═══╗ ╔═══╗
3+ ║╔╗╔╗║ ║╔═╗║ ║╔═╗║ ║╔═╗║
4+ ╚╝║║╚╝ ║╚═╝║ ║║ ║║ ║╚══╗
5+ ║║ ║╔╗╔╝ ║║ ║║ ╚══╗║
6+ ╔╝╚╗ ║║║╚╗ ║╚═╝║ ║╚═╝║
7+ ╚══╝ ╚╝╚═╝ ╚═══╝ ╚═══╝
8+────────────────────────────────
M src/main.c View
@@ -19,65 +19,64 @@ int list[] = {40, 78, 94, 62, 68, 74, 56, 55, 88, 55, 59, 73,
1919 19, 32, 81, 95, 71, 63, 15, 41, 11, 38, 86};
2020
2121 int score = 100;
22+int level = 1;
23+int size = 5;
2224
2325 void decrement_score(enum Difficulty diff);
26+void level_up();
27+int getrand();
2428 enum Difficulty get_difficulty();
2529
2630 int main(int argc, char *argv[]) {
2731 // Get a random number to run a random algorithm
2832 int guess;
29− srand(time(0));
30− int random_number = (rand() % (UPPER - LOWER + 1)) + LOWER;
33+ int random_number = getrand();
3134
3235 printf(COLOR_RED);
3336 print_ascii("./assets/banner.txt");
34− int size;
3537 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− }
4738
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+ }
6355
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);
7671 }
77− printf("Score: %d\n", score);
7872 return 0;
7973 }
8074
75+int getrand() {
76+ srand(time(0));
77+ return (rand() % (UPPER - LOWER + 1)) + LOWER;
78+}
79+
8180 void decrement_score(enum Difficulty diff) {
8281 if (diff == Easy) {
8382 printf("Wrong Answer!! The score will be decremented by 10\n");
@@ -115,3 +114,8 @@ enum Difficulty get_difficulty() {
115114 }
116115 return difficulty;
117116 }
117+
118+void level_up() {
119+ level++;
120+ size += 3;
121+}