Bonsoir,
j'ai comme projet de faire un jeu Tetris et surtout de lui incorporer une IA (Intelligence Artificielle) acceptable.
le jeu est progammé en C sous SDL ( et non pas LSD) et le principe de son fonctionnement est le suisvant:
-Le jeue st codé sur une matrice 18x10.
-Une case remplie avec un block immobile reçoit la valeur 1. (Ex: un block la derniere ligne ou qui est entré en collision avec un autre block immobile).
-une case vide reçoit la valeur 0.
-une case contenant un block mobile reçoit la valeur 2 et 5 si c'est le block de rotation de la piéce (Le Block agissant comme axe de la rotation de la piéce)
-Bouger la piéce en bas, gauche ou droite et la faire tourner. (fonctions prédéfinies)
Il faudrait donc que je puisse faire un algorithme pour une IA ( une IA potable qui puisse jouer quelque minutes).
j'ai a peu pret une semaine pour rendre le projet et je suis en pleine periode d'examen donc pas beacoup de temps pour faire tout ça.
Ma stratégie pour l'instant:
-Defenir les blocks de collisions et compter leur nombre (Les blocks faisant face a la derniere ligne)
-Definir un block de mouvement ( le block le plus a gauche des blocks de collision, celui sur le quel se basera les mouvement de la piéce)
-Detecter les cases vides et compter leur nombre pour le faire coincider au nombres de blocks de collision. (case=0 , une double boucle pour parcourir la matrice)
-Verifier que le chemin vers la case vide est clean ( ne contient que des cases vide)
-faire decendre le block pour constuire une ligne.
C'est trés "géneral" pour l'instant, je vais essayer de prendre en comtpe differents cas (comme tester les differentes rotations de la piéce, prendre en compte la piéce Suivante...etc).
si vous avez des idées d'algorithmes a appliquer ou des stratégies a proposer je suis preneur.
Partager