#include <stdlib.h>
#include <stdio.h>
#include <stdbool.h>
#include <string.h>
|
| struct | word_t |
| | Structure pour stocker un mot et son score. More...
|
| |
| struct | result_t |
| | Structure pour stocker le score du joueur et de l'adversaire, ainsi que la différence entre les deux. Elle contient également la lettre à prendre au 1er tour. Elle est utilisée pour le retour de la fonction minimax. More...
|
| |
|
| bool | is_word_possible (char *word, char *letters) |
| | Fonction qui vérifie si un mot peut être formé avec les lettres données.
|
| |
| int | points (char *letters, word_t *word_list, int nb_words) |
| | Fonction qui calcule le score total d'un joueur.
|
| |
| void | copy_string_without_first_letter (char *destination, char *source, int len) |
| | Fonction qui copie une chaîne de caractères sans le premier caractère.
|
| |
| void | copy_string_without_second_letter (char *destination, char *source, int len) |
| | Fonction qui copie une chaîne de caractères sans le deuxième caractère.
|
| |
| result_t * | minimax (char *letters, char *hand, char *opponent_hand, bool maximizing_player, int alpha, int beta, word_t *word_list, int nb_word) |
| | Fonction qui calcule le score du joueur et de l'adversaire en utilisant l'algorithme minimax.
|
| |
| int | main () |
| | Fonction principale.
|
| |
◆ copy_string_without_first_letter()
| void copy_string_without_first_letter |
( |
char * |
destination, |
|
|
char * |
source, |
|
|
int |
len |
|
) |
| |
Fonction qui copie une chaîne de caractères sans le premier caractère.
- Parameters
-
| destination | La chaîne de caractères de destination (doit être allouée avant l'appel de la fonction) |
| source | La chaîne de caractères source |
| len | La longueur de la chaîne de caractères source |
◆ copy_string_without_second_letter()
| void copy_string_without_second_letter |
( |
char * |
destination, |
|
|
char * |
source, |
|
|
int |
len |
|
) |
| |
Fonction qui copie une chaîne de caractères sans le deuxième caractère.
- Parameters
-
| destination | La chaîne de caractères de destination (doit être allouée avant l'appel de la fonction) |
| source | La chaîne de caractères source |
| len | La longueur de la chaîne de caractères source |
◆ is_word_possible()
| bool is_word_possible |
( |
char * |
word, |
|
|
char * |
letters |
|
) |
| |
Fonction qui vérifie si un mot peut être formé avec les lettres données.
- Parameters
-
| word | Le mot à vérifier |
| letters | Les lettres disponibles |
- Returns
- true si le mot peut être formé, false sinon
◆ main()
Fonction principale.
- Returns
- 0 si le programme s'est terminé correctement
◆ minimax()
| result_t * minimax |
( |
char * |
letters, |
|
|
char * |
hand, |
|
|
char * |
opponent_hand, |
|
|
bool |
maximizing_player, |
|
|
int |
alpha, |
|
|
int |
beta, |
|
|
word_t * |
word_list, |
|
|
int |
nb_word |
|
) |
| |
Fonction qui calcule le score du joueur et de l'adversaire en utilisant l'algorithme minimax.
- Parameters
-
| letters | Les lettres disponibles |
| hand | Les lettres dans la main du joueur |
| opponent_hand | Les lettres dans la main de l'adversaire |
| maximizing_player | true si c'est au tour du joueur, false si c'est au tour de l'adversaire |
| alpha | Valeur de alpha |
| beta | Valeur de beta |
| word_list | La liste des mots possibles |
| nb_word | Le nombre de mots dans la liste |
- Returns
- Un pointeur vers une structure result_t contenant le score du joueur et de l'adversaire, ainsi que la différence entre les deux.
◆ points()
| int points |
( |
char * |
letters, |
|
|
word_t * |
word_list, |
|
|
int |
nb_words |
|
) |
| |
Fonction qui calcule le score total d'un joueur.
- Parameters
-
| letters | Les lettres dans la main du joueur |
| word_list | La liste des mots possibles |
| nb_words | Le nombre de mots dans la liste |
- Returns
- Le score total du joueur