Bonjour à tous,
Ayant l'habitude de travailler en Java ou C, je viens de découvrir l'OCaml, le langage le plus cruel au monde Bref, de toute façon, je n'ai pas le choix, d'autant plus que j'ai un projet à rendre pour dans un mois.
On me demande d'imprimer à l'écran un plateau de jeu dont les cases changent de couleur suivant leur type. J'ai donc créé un type case qui peut avoir pour valeur Plaine, Boue ou Vide.
Pour dessiner ces cases, j'utilise la fonction suivante :
Dans cette version, ma fonction ne m'affiche que les cases Boue (la dernière possibilité).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 let dessiner_case x y case = match case with |Plaine -> set_color green; |Vide -> set_color black; |Boue -> set_color blue; fill_circle x y 25
J'ai donc réécrit une fonction dont le code est le suivant :
Et là, ça marche !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 let dessiner_case x y case = if case = Plaine then set_color green; if case = Vide then set_color black; if case = Boue then set_color blue; fill_circle x y 25
Ma question : pourquoi la première version de ma fonction ne fonctionne qu'à moitié ?
Merci d'avance
Partager