Pages: [1]   Go Down
Author Topic: PongDuino : un pong sur écran LCD 16x2  (Read 1569 times)
0 Members and 1 Guest are viewing this topic.
Belgium
Offline Offline
God Member
*****
Karma: 15
Posts: 512
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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-grin (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.
Logged

Offline Offline
Full Member
***
Karma: 2
Posts: 143
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Belgium
Offline Offline
God Member
*****
Karma: 15
Posts: 512
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Belgium
Offline Offline
God Member
*****
Karma: 15
Posts: 512
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Pages: [1]   Go Up
Jump to: