:: Accueil Jeux vidéo ► Le Serpent Ovipare

Version d'archive

  • Ce site est en lecture seule. Certains liens dynamiques peuvent ne pas fonctionner correctement.

Le Serpent Ovipare

Auteur Message

Fiche technique

Il arrive parfois qu'en cours on s'ennuie profondément. Pas au point de s'endormir, mais presque. Heureusement nous avons tous, nous autre élèves, à notre disposition un outil formidable : la calculatrice programmable. pouce


Comment me vint l'idée de ce jeu

Avouons-le tout de suite : le principe de ce jeu n'est qu'une conséquence de ma flemmardise et de ma médiocrité en algorithmique  ( var fausse_modestie = true ). En effet, je m'étais d'abord conforté dans l'idée de programmer un banal Snake . Mais malgré mes incommensurables efforts, je n'arrivais pas à régler deux problème majeur : faire grandir le serpent et gérer les collisions.

Soudain, il me vint une idée idee : au lieu de me torturer les méninges afin de permettre un agrandissement du serpent, je pensai qu'il suffisait de remplacer l'agrandissement du serpent par quelque chose de tout aussi gênant. Je décidai donc de faire pondre un oeuf à mon serpent lorsque il arrive enfin à manger sa pomme. Mais il faut faire attention à ne pas casser les oeufs !

Ainsi naquit le Serpent Ovipare.

Principe de Jeu

Bon, j'ai déjà expliqué le principe dans la première partie, mais je les redit pour les gens du fond qui suivent pas : vous dirigez un serpent dont le but premier est de vous occupper pendant les heures de cours ennuyantes et de manger des pommes. A chaque fois que vous avalez goulûment un de ces délicieux fruits, vous pondez un oeuf. Direct, comme ça, d'un coup. Ca fait bizarre, hein ? icon_lol Vous gagnez donc un point. Nonobstant ( j'ai enfin réussi à le caser celui-là ) que vous ayez gagné un point, il vous faut être prudent, car si vous cassez un oeuf, vous perdez non pas un, mais DEUX points ! niark Au début, c'est facile mais vers la fin, c'est l'enfer...  De plus, votre serpent perd un point s'il n'a pas mangé depuis plus de 30 secondes! Le jeu prend aussi en compte un score qui est en fait le temps de jeu ( plus vous tenez longtemps, plus vous avez de points ).

Programmation

Le jeu a été codé en TI-Basic, ce qui implique une assez petite taille mais aussi quelques limitations techniques; le jeu s'affiche donc en ASCII-Art pour ne pas consommer trop de ressources, et un jeu légerement lent. Il est compatible seulement avec la TI-82 Stats .fr (pour les autres j'ai pas testé ), qui est de toute façon la calculatrice demandée par l'Éducation Nationale lorsque vous rentrez au lycée.

Mais comme le jeu ne gère pas l'agrandissement du serpent, il ne ralentit jamais, contrairement aux autres snake que l'on peut trouver en fouinant sur Internet. Vous voilà prévenu : quand il y aura une vingtaine d'oeufs à l'écran, ne comptez pas sur un ralentissement du jeu pour vous aider ! Cependant une pause est disponible à tout moment pour souffler un peu ( ou si le prof surgit derrière votre dos icon_razz ).

Attention toutefois, le programme nécessite de pré-fabriquer une matrice [A] de dimensions 6 * 16. Ou sinon vous pouvez rajouter la ligne suivante au début du code : 

 [[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0][0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0][0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0][0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0][0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0][0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0][0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]] -> [A]

Code du jeu

Allez, sans plus tarder, le code du jeu :

Spoiler (Sélectionnez le texte dans le cadre pointillé pour le faire apparaître)

Lbl D
EffEcr
Remplir(0, [A]
4->E:2->F
4->J:1->K
entAleat(1,6->U
entAleat(1,16->V
1->Z
1->W
1->P
26->M
While 1
1->G
Output(E+1,F,"O
Output(U+1,V,"X
Output(1,1,Z
Output(8,1,W
If E=U et F=V
Then
Z+1->Z
1->[A](U,V
Output(U+1,V,"O/
entAleat(1,6->U
entAleat(1,16->V
Output(U+1,V,"X
0->G:0->P
End
E->J:F->K
If [A](E,F:[A](E,F)+1->[A](E,F
If [A](E,F)=3
Then
Z-2->Z
0->[A](E,F
End
codeTouche->Q
If Q != 0:Q->M
If M=26:F+1->F
If M=24:F-1->F
If M=34:E+1->E
If M=25:E-1->E
If M=91
Then
EffEcr
Output(1,1," "
Stop
End
If E>6:1->E
If E<1:6->E
If E>16:1->F
If F<1:16->E
If G:Output(J+1,K," 
Output(1,1,"                "
If M=24 ou M=26 ou M=25 ou M=34
Then
W+1->W:P+1->P
End
If Z<=0
Then
EffEcr
Output(2,1,"BRAVO,VOUS AVEZSURVECU PENDANT
Output(4,7,W
Output(5,5,"SECONDES
Pause
Goto D
End
If P>30
Then
Z-1->Z:0->P
End
End

Légende:

  • -> représente la touche STO ( au dessus de ON )
  • != représente 'n'est pas égal à', accessible avec le menu 'test' ( seconde + 'math' )
  • <= représente 'plus petit ou égal', accessible lui aussi via le menu 'test'.
  • [A], c'est la matrice A, accessible via le menu 'matrice'. Pour l'éditer utilisez le menu EDIT.
  • Le O/ est en fait le symbole têta ( Alpha + 3 ). Libre à vous de le remplacer par un autre symbole.

Résumé des commandes :

  • Les flèches pour diriger le serpent
  • La touche STO pour arrêter le jeu
  • n'importe quelle autre touche pour mettre le jeu sur pause.
  • Vous devez manger les pommes ( X ) sans casser vos oeufs ( têta )

A noter qu'il est fortement déconseillé de jouer à ce jeu dans les matières ou la calculatrice est inutile ... sourire3

Ertaï



Ersatz de régnant.

Même si je n'ai plus la possibilité de tester ce genre de programme, je soutiens de tout mon coeur la programmation sur calculatrice icon_razz

A noter que j'ai fait une petite erreur concernant le nom du jeu : Un Serpent n'est pas Ovipare, mais Ovovipare ( C'est un ami qui ma l'a fait remarquer ), ce qui signifie que les oeufs incubent et éclosent dans le ventre de la femelle sans interaction avec celle-ci ( Merci Wikipedia biggrinking )

Sbirematqui



Expert en Cachalots

Bigre, je suis un grand programmeur-testeur sur CASIO, et je n'ai aucune TI sous la main... blaicon15

En tout cas, plein d'encouragements toussa, n'hésite pas à passer à droite à gauche sur le forum ! ô/

 
:: Accueil Jeux vidéo ► Le Serpent Ovipare

© Copyright 2002-2024 Aeriesguard.com - Mentions légales
Aerie's Guard V 7.0
réalisé par Ertaï, designé par Ivaldir, illustré par Izual et Sophie Masure
Famfamfam