better tests!

This commit is contained in:
Mylloon 2022-12-04 19:17:16 +01:00
parent 155d212a85
commit a4cdd53081
Signed by: Anri
GPG key ID: A82D63DFF8D1317F

View file

@ -14,11 +14,13 @@ void free_test_data(Test_Data *test_data) { free(test_data); }
void run_tests(void) { void run_tests(void) {
int repetions = 5; int repetions = 5;
int max_profondeur = 6; int max_profondeur = 9;
printf("Lancement des tests, on va jusqu'à une profondeur de %d avec une " printf("Lancement des tests, on va jusqu'à une profondeur de %d avec une "
"moyenne de %d répétitions.\n", "moyenne de %d répétitions.\n",
max_profondeur, repetions); max_profondeur, repetions);
printf("On fait jouer alpha-bêta contre lui-même puis minimax contre "
"lui-même.\n");
clock_t t0; clock_t t0;
double delta1, delta2; double delta1, delta2;
@ -44,25 +46,31 @@ void run_tests(void) {
printf("Profondeur de %d (moyenne de %d tests) ->\t Alphabêta = %fs\t", printf("Profondeur de %d (moyenne de %d tests) ->\t Alphabêta = %fs\t",
i, repetions, delta1); i, repetions, delta1);
delta2 = 0; if (i < 6) {
for (int j = 0; j < repetions; ++j) { // On ne calcul que Minimax avec une petite profondeur parce que
Jeu *jeu = nouvelle_partie(); // sinon c'est trop long
delta2 = 0;
for (int j = 0; j < repetions; ++j) {
Jeu *jeu = nouvelle_partie();
Test_Data *test = nouveau_test_data(1, i); Test_Data *test = nouveau_test_data(1, i);
t0 = clock(); t0 = clock();
// Lance le jeu en mode test avec 2 alpha-bêta // Lance le jeu en mode test avec 2 alpha-bêta
deroulement_partie(jeu, MINIMAX, MINIMAX, test); deroulement_partie(jeu, MINIMAX, MINIMAX, test);
delta2 += ((double)(clock() - t0)) / CLOCKS_PER_SEC; delta2 += ((double)(clock() - t0)) / CLOCKS_PER_SEC;
free_jeu(jeu); free_jeu(jeu);
free_test_data(test); free_test_data(test);
}
delta2 /= repetions;
printf("| Minimax = %fs\t | Différence (m - a) = %fs\n", delta2,
delta2 - delta1);
} else {
printf("\n");
} }
delta2 /= repetions;
printf("| Minimax = %fs\t | Différence (m - a) = %fs\n", delta2,
delta2 - delta1);
} }
} }