SOMMAIRE

 

1) GENERALITES 
1.1) Principe du projet
1.2) Caractéristiques
1.3) Ma vision du projet

2) HARDWARE
2.1) Carte de développement
2.2) Verilog, schéma global
2.3) Verilog, coeur CPU
2.4) Verilog, Vidéo VGA
2.5) Verilog, périphériques

3) OUTILS DEVELOPPEMENT SOFTWARE
3.1) Généralités
3.2) Langage A2Z Basic
3.3) Compilateur
3.4) Assembleur
3.5) Autres outils
3.6) Emulateur sur PC

4) LES LOGICIELS A2Z
4.1) Le Boot
4.2) Système fichier & OS
4.3) Editeur texte
4.4) Image viewer & map viewer
4.5) Le jeu : Micromachines

Blog (hackaday.io)

4.5) Le jeu : Micromachines

C’est un jeu de voiture vu de dessus, style micromachines.


C’est, de loin, l’application la plus sympa, et celle qui montre le mieux les capacités graphiques de A2Z.
Touches clavier :

  • Flèche droite / flèche gauche : direction
  • A : accélérateur / Q : Frein et marche arrière
  • F12 : quitter


Malheureusement, vu la faible fréquence du CPU, j’affiche seulement le jeu dans une fenêtre de 320x240 pixels. 

Les dalles:

Le terrain/le circuit est créé à partir de dalles. Les dalles graphiques et les dalles formant les obstacles n’ont pas la même taille : 64x64 pixels pour les obstacles, et 128x128 pixels pour le fond graphique du circuit. Les matrices de dalles sont des tableaux 2D de 40x40 ou 80x80. 

 
Le circuit est conçu sur papier:

 

Le codage des dalles d'obstacle:

J’ai créé un programme sur PC, codé une nouvelle fois en C, qui permet de générer toutes les données du jeu: graphiques, et matrices de dalles. Les matrices de dalles sont renseignées dans des fichiers au format CSV. 

La création d’un circuit prend pas mal de temps ; Du coup, je n’ai pas eu le courage de créer plus d’un circuit.
J’ai eu un peu de mal à coder la gestion des collisions. J’utilise 4 coins de la voiture, et pour chacun des 4 coins, je vérifie à quelle dalle d’obstacle il appartient, et s’il est en interférence avec les obstacles de cette dalle.
Je suis assez content du résultat. C’est l’aboutissement de tout le travail sur A2Z.


F4HDK| Janvier 2017
f4hdk_arob_free.fr