Je réutilise mes connaissances


Objectif

Programmer la commande du jeu snake 3D

Logiciel

IDE Arduino - jeu snake 3D

Matériel

1 joystick deux axes - 1 carte Arduino Uno


Livio du BTS CIEL a adapté un jeu snake 3D pour qu'il puisse être piloté à partir d'un joystick et d'un programme Arduino :



Livio précise les caractéristiques suivantes du jeu snake :


Taille de la fenêtre 

1280 x 720

Commande du joystick

par liaison série via USB en transmettant la direction de déplacement du snake (haut, bas, gauche, droite)

Caractéristique de la liaison série

8-E-1 115200

(voir aide sur la liaison série arduino)

Format de la commande

Appeler la fonction game.sendJoystickValues(); qui permet d'envoyer les commandes de direction pour le déplacement du snake

Taux de rafraîchissement de la commande

géré directement par le jeu

Jeu snake 3D à télécharger

snake_3D.zip

Squelette de code Arduino pour démarrer

snake_source_code.zip


Documentation de la fonction game.sendJoystickValues() :


void sendJoystickValues(const byte start, byte msb_x, byte lsb_x, byte msb_y, byte lsb_y, const byte stop)

Paramètres

Valeurs

Commentaires

const byte start

constante égale à 128


const byte stop

constante égale à 129


byte msb_x et byte lsb_x

Il faut vérifier la relation suivante :

(128 x msb_x) + lsb_x = position_x

avec msb_x et lsb_x entiers et lsb_x < 128

position_x : positon du joystick selon l'axe x renvoyée par analogRead();

byte msb_y et byte lsb_y

Il faut vérifier la relation suivante :

(128 x msb_y) + lsb_y = position_y

avec msb_x et lsb_x entiers et lsb_x < 128

position_y : positon du joystick selon l'axe y renvoyée par analogRead();


Écrire un programme qui permette de contrôler le déplacement du snake.

 


 Indice : pour déterminer les valeurs de msb_x, msb_y, lsb_x et lsb_y il faudra utiliser les opérateurs / (division) et % (modulo), voir le lien suivant :

https://public.iutenligne.net/informatique/algorithme-et-programmation/priou/LangageC/42_les_oprateurs_arithmtiques_______modulo.html



Montrer le résultat final au prof.

Créé avec HelpNDoc Personal Edition: Générateur de documentations PDF gratuit