PongDuino : un pong sur écran LCD 16x2

Bonjour,

Comme j'ai suscité de la curiosité durant ma présentation, je vous présente mon projet PongDuino : un jeu de Pong affiché sur un écran LCD de 16x2 caractères (en redéfinissant 8 caractères pour dessiner les pads et la balle), avec un moteur Pong "portable" écrit en C++.

J'ai tout d'abord commencé à écrire un émulateur d'écran LCD en C++ et en QT, afin, de pouvoir bosser durant les trajets en train vers le boulot :

Une fois le moteur et l'émulateur terminé (quelques heures tout au plus, je suis programmeur à la base), il m'a fallu de quelques instants pour séparer le code en 2 "libraries" (une pour le moteur pong, une autre pour faire le pont entre les "événements" de type "commandes" et "timer" de la boucle "loop") et ça a marché du premier coup.

Voici le premier test, où j'envoie régulièrement des "up" et "down" en alternance au moteur :

Ici, c'est la version avec bouton start/pause, et 2 joueurs.

Je devrais prendre le temps d'ajouter un piezo pour faire des bips, et remplacer une des commandes (voire les 2) par des joysticks ou potentiomètres, mais c'est du "yaka", ça m'intéresse moins :smiley: (Mon prochain projet sera un peu plus dans les sentiers battus : faire de l'affichage LED en utilisant des strips ou pixels.)

S'il y a des gens intéressés, je publierai le code-source (en licence libre) d'ici peu.

Super intéressant ! Bravo !
Le code source m'intéresse notamment pour la définition des caractères, j'ai du mal à voir comment tu as fait avec les huit caractères libres.

Hello,

Dès que j'ai mis un peu de forme dans le code (ajout de la licence), je mets en ligne.

Pour ce qui concerne les caractères, je me suis basé sur l'exemple de LiquidCrystal, et ai utilisé 2 caractères pour le pad de gauche, 2 pour le pad de droite, et entre 0 et 4 pour la balle (0 quand je la dessine à proximité d'un pad, 4 quand elle consiste en 4 points "explosés" sur 4 caractères).

Le code-source est disponible sur mon blog: PongDuino : le code-source – Xavier Miller