Le jeu vidéo à réaliser est le jeu du Snake à un joueur, avec une pomme, un plateau de jeu rectangulaire et un serpent qui se déplace dans le champ d'un écran VGA. Le jeu consistera simplement à déplacer le serpent de façon à manger 15 pommes dans un temps limité.
Si le bouton de remise à zéro ou le bouton de pause ne sont pas actifs, alors le jeu se lance. Le joueur doit déplacer le serpent affiché à l'écran à l'aide des quatre boutons-poussoirs afin de manger les pommes. A chaque fois qu'il mange une pomme, le serpent grandit et se déplace plus rapidement. La
pomme est alors repositionnée sur le plateau de façon aléatoire. Lorsqu'il a mangé 15 pommes, la partie est gagnée et le jeu s'arrête. Le joueur doit alors effectuer une remise à zéro. S'il touche un mur, s'il touche son propre corps ou s'il n'a pas réussi à manger les 15 pommes en moins de 90 secondes, la partie est perdue et le joueur doit effectuer une remise à zéro pour recommencer.
Le joueur peut à tout moment mettre le jeu en pause en actionnant le bouton correspondant. Le serpent ne peut alors plus se déplacer et le chronomètre est arrêté. Les LEDs défilent pour signaler au joueur que la partie est en pause. Le joueur peut également effectuer une remise à zéro asynchrone à tout
moment. Le score est affiché sur l'écran et s'incrémente à chaque pomme mangée. Le chronomètre est également affiché sur l'écran et est décrémenté à chaque seconde.
Le dispositif décrit est implémenté à l'aide d'une carte d'évaluation équipée d'un FPGA SPARTAN3 de 200 000 portes cadencé à 50 MHz et munie entre autres de 4 boutons-poussoirs BTN1 à BTN3, 8 interrupteurs à glissière SW1 à SW8, 4 afficheurs multiplexés 7 segments et 1 point AN0 à AN3, 8 leds
et une sortie VGA.
[...] COMPONENT DISPLAY_SEG Description fonctionnelle Alexis MARQUE Jean LAURENT Page 2 Mini projet VHDL - Snake Vue externe Structure interne Schéma structurel Séquencement : néant . Erreur ! Signet non défini. X. COMPONENT DISPLAY_LED Description fonctionnelle Vue externe Structure interne Schéma structurel Séquencement : néant . Erreur ! Signet non défini. XI. [...]
[...] COMPONENT GEN_POMME Description fonctionnelle Vue externe Structure interne Schéma structurel Séquencement : néant . Erreur ! Signet non défini. VI. COMPONENT GEN_MSG Description fonctionnelle Vue externe Structure interne Schéma structurel Séquencement : néant . Erreur ! Signet non défini. VII. [...]
[...] P_DIRECTION : Ce process permet d'obtenir la direction du serpent sur l'écran, représenté par le signal DIRECTION variant de 1 à 4 suivant l'appui sur les boutons poussoirs UP, DOWN, LEFT, RIGHT. Le signal DIRECTION sera envoyé au DISPLAY_VGA pour déterminer l'affichage de la tête sur l'écran. P_TEMPO : Le tempo gère la vitesse de déplacement du serpent. P_MAX_TEMPO : Ce process est associé au process P_TEMPO. En effet, le signal MAX_TEMPO représente la borne supérieure du compteur TEMPO et cette borne diminue suivant le nombre de pommes mangées par le joueur. [...]
[...] Cela provoque un déplacement automatique du serpent. P_YSERPENT : Ce process calcul les valeurs des ordonnées du serpent suivant la direction du serpent. Cela provoque un déplacement automatique du serpent. P_TEST_MUR : Ce process génère un signal CONTACT_MUR qui passe à 1 si le serpent touche le mur. Ce signal est envoyé au séquenceur pour déterminer les prochaines étapes du séquencement. P_TEST_POMME : Ce process génère un signal CONTACT_POMME qui passe à 1 si le serpent mange une pomme. Ce signal est envoyé au séquenceur pour déterminer les prochaines étapes du séquencement. [...]
[...] COMPONENT GEN_TETE Description fonctionnelle Vue externe Structure interne Schéma structurel Séquencement : néant . Erreur ! Signet non défini. VIII. COMPONENT CTRL_VGA Description fonctionnelle Vue externe Structure interne Schéma structurel Séquencement : néant . Erreur ! Signet non défini. IX. [...]
Source aux normes APA
Pour votre bibliographieLecture en ligne
avec notre liseuse dédiée !Contenu vérifié
par notre comité de lecture