Go Down

Topic: PongDuino : un pong sur écran LCD 16x2 (Read 1 time) previous topic - next topic

XavierMiller

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 :
http://vimeo.com/68796771

Ici, c'est la version avec bouton start/pause, et 2 joueurs.
http://vimeo.com/68880705

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  :D (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.

Rovhell

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.

XavierMiller

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).

XavierMiller

Le code-source est disponible sur mon blog: http://www.xaviermiller.be/2013/07/30/pongduino-le-code-source/

Go Up