minor refactoring

This commit is contained in:
krolyxon 2023-08-31 08:50:20 +05:30
parent f94f903987
commit 0980f89949
5 changed files with 101 additions and 42 deletions

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
*.o
tros

17
Makefile Normal file
View File

@ -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

28
README.md Normal file
View File

@ -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

8
assets/banner.txt Normal file
View File

@ -0,0 +1,8 @@
────────────────────────────────
╔════╗ ╔═══╗ ╔═══╗ ╔═══╗
║╔╗╔╗║ ║╔═╗║ ║╔═╗║ ║╔═╗║
╚╝║║╚╝ ║╚═╝║ ║║ ║║ ║╚══╗
║║ ║╔╗╔╝ ║║ ║║ ╚══╗║
╔╝╚╗ ║║║╚╗ ║╚═╝║ ║╚═╝║
╚══╝ ╚╝╚═╝ ╚═══╝ ╚═══╝
────────────────────────────────

View File

@ -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;
}