Tetris est un jeu vidéo de puzzle emblématique créé en 1984 par Alexey Pajitnov, un ingénieur russe. Le principe est simple mais addictif : des formes géométriques appelées tetriminos tombent du haut de l'écran, et le joueur doit les empiler pour former des lignes complètes. Lorsqu'une ligne est complétée, elle disparaît, libérant de l'espace pour continuer à jouer.
Principes du jeu :
Tetriminos : Il existe 7 formes différentes (I, J, L, O, S, T, Z).
Rotation : Les pièces peuvent être tournées pour s'adapter aux espaces disponibles.
Chute et vitesse : Les pièces tombent progressivement, et la vitesse augmente avec le temps.
Game Over : La partie se termine si les blocs s'empilent jusqu'en haut de l'écran.
Depuis sa création, Tetris a été porté sur presque toutes les plateformes possibles : consoles, ordinateurs, téléphones et même des calculatrices ! Il a aussi inspiré des variantes comme Tetris 99 (une version battle royale) et Puyo Puyo Tetris (un mix avec un autre jeu de puzzle).
Ce projet consiste à recréer Tetris sur une carte micro:bit, en utilisant un écran LCD I2C pour afficher le jeu. Les boutons A et B du micro:bit servent à déplacer et faire tourner les blocs (tetriminos).
1- Affichage des Tetriminos sur l'écran LCD
2- Contrôles avec les boutons du micro:bit :
Bouton A → Déplacer la pièce à gauche
Bouton B → Déplacer la pièce à droite
A + B en même temps → Faire pivoter la pièce
3- Gestion de la gravité : les blocs tombent automatiquement
4- Détection des collisions avec d'autres blocs ou les bords
5- Effacement des lignes complètes et augmentation de la vitesse
6- Fin de partie lorsque la pile atteint le haut de l'écran
Carte BBC micro:bit
C'est le microcontrôleur qui exécute le code du jeu Tetris. Il gère l'affichage sur l'écran LCD, détecte les appuis sur les boutons et met à jour la logique du jeu.
Carte d'extension GPIO pour Micro:bit
La carte GPIO Facilite l'accès aux broches GPIO du micro:bit pour connecter plusieurs composants (LCD, boutons, alimentation).
Afficheur LCD I2C (16x2 ou 20x4)
L'écrant LCD affiche le jeu Tetris sous forme de caractères ASCII. Les pièces et l'état du jeu sont représentés sur l'écran.
Breadboard (Plaque de prototypage)
Cette plaque facilite les connexions électriques entre le micro:bit et les autres composants sans soudure.
Fils de connexion (Dupont)
Les fils de connexion relient les différents composants entre eux.
Connecter les broches de l'afficheur LCD:
SCL
→ P19(Mi:crobit)
SDA
→ P20(Mi:crobit)
VCC
→ 5V(Carte GPIO pour Micro:bit)
GND
→ GND(Mi:crobit)
Voici l’algorithme détaillé du jeu Tetris sur micro:bit, où les boutons A et B contrôlent les pièces affichées sur un écran LCD I2C.
1. Initialisation du système
Objectif : Configurer les composants et les variables nécessaires.
Importer la bibliothèque de l'écran LCD I2C.
Initialiser l’écran LCD I2C avec son adresse (ex: 0x27
).
2. Boucle Principale du Jeu
Objectif : Gérer la descente des pièces, les contrôles et la logique du jeu.
Tant que la partie n'est pas terminée :
a- Générer une nouvelle pièce
b- Choisir aléatoirement un tetrimino parmi les 7 formes (I, J, L, O, S, T, Z
).
c- Placer la pièce en haut de l’écran.
3. Affichage de la grille et de la pièce
- Effacer l’écran LCD.
- Dessiner le tetrimino actif à sa position actuelle.
4. Contrôler la pièce avec les boutons A et B
Objectif : Déplacer et tourner la pièce en fonction des boutons pressés.
Si bouton A pressé :
- Vérifier si le déplacement vers la gauche est possible.
- Déplacer la pièce vers la gauche si aucune collision.
Si bouton B pressé :
- Vérifier si le déplacement vers la droite est possible.
- Déplacer la pièce vers la droite si aucune collision.
Si bouton A + B pressés ensemble :
- Appliquer une rotation à la pièce si possible.
- Vérifier si la nouvelle position après rotation est valide.
5. Faire descendre la pièce
Objectif : Gérer la gravité des pièces.
1- Vérifier si la descente est possible.
2- Si possible → déplacer la pièce vers le bas.
3- Sinon (collision avec un autre bloc ou le sol) :
6. Vérifier et supprimer les lignes complètes
Objectif : Supprimer les lignes pleines et ajuster le score.
a) Parcourir chaque ligne de la grille.
b) Si une ligne est remplie (aucune case vide) :
- Effacer la ligne.
- Descendre toutes les lignes supérieures d’un cran.
- Ajouter des points au score (score += 10
).
- Augmenter la vitesse progressivement.
7. Vérifier la condition de fin de jeu
Objectif : Détecter si le joueur a perdu.
Si un nouveau tetrimino ne peut pas apparaître, alors :
a- Effacer l’écran LCD.
b- Afficher "Game Over" + Score final.
c- Attendre un redémarrage manuel.
La robotique éducative joue un rôle important dans l'éducation des enfants et des jeunes en les aidant à acquérir des compétences en science et technologie.
Dans ce cadre notre site web représente une excellente ressource pour les parents, les enseignants et les enfants qui souhaitent découvrir la robotique.
Zaouiet Kontech-Jemmel-Monastir-Tunisie
+216 92 886 231
medaliprof@gmail.com
Site robotique réalisé par Mohamed Ali-Prof Info