better tests!
This commit is contained in:
parent
155d212a85
commit
a4cdd53081
1 changed files with 23 additions and 15 deletions
38
src/test.c
38
src/test.c
|
@ -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);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Reference in a new issue