Les différentes formes du jeu sont stockées dans un tableau à plusieurs dimensions (lignes 19 à 59 du fichier tetris.js). Pour le moment il n'y a que 2 formes de représentées.
Travail à faire : Créer les différentes formes
Sur le modèle des deux formes déjà proposées, ajouter les autres formes du jeu. L'image ci-dessous récapitule l'ensemble des formes du jeu.
Remarques :
Les formes ne sont pas toutes une matrice de 3 x 3
Les formes ne nécessitent pas toutes le même nombre de position dans leurs différentes rotations possibles (par exemple le carré a une seule représentation possible quelle que soit sa rotation)
L'ordre des différentes rotations à créer pour chaque forme est le sens horaire
Aide
Chaque forme est représentée par des matrices 3x3 ou 4x4. Il faut placer des 1 dans les cases de la matrice de manière à représenter la forme. Pour chaque forme il faut créer plusieurs matrices de manière à représenter les différentes rotations possibles de la forme.
Exemple pour la forme N°1 (fichier "tetris.js") :
Travail à faire : Basculer l'affichage entre les différentes formes
Dans le jeu réel cette fonction ne sera pas utile, elle va seulement nous permettre ici de vérifier que les tableaux créés précédemment sont correctes.
Compléter le code de la fonction de gestion des évènements clavier de telle sorte que l'appuie sur la touche t incrémente la variable "numForme" ce qui permettra à chaque appuie sur cette touche d'afficher une forme différente.
Attention : il ne faut pas incrémenter "numForme" à l'infini, il ne faut pas dépasser le nombre total de formes - 1.
Aide
Diagramme d'activité du code à exécuter lors de l'appuie sur la touche 't' (à coder dans la fonction de gestion des évènements clavier qui est à la fin du fichier "tetris.js") :
2. Gérer la rotation des formes
Dans le code de base proposé, seule la rotation horaire est codée (touche flèche haut du clavier).
Travail à faire : Coder la rotation anti-horaire
Compléter le code de la "fonction de gestion des évènements clavier" de telle sorte que l'appui sur la touche flèche bas du clavier permette de faire pivoter les formes dans le sens anti-horaire.
Aide
Diagramme d'activité du code à exécuter lors de l'appuie sur la touche 'flèche bas' :
3. Vidéo du résultat attendu à la fin de cette première partie