Forum

Catégorie : Programmes
Forum : Les programmes des internautes
Vues : 1427
Réponses : 13
Type : discussion
Etat : réponses autorisées

Jeu frogger

AlexRider38 le 27/03/2010 à 12:16
salut, je cherche a faire un prgm du style du jeu "froger", une suggestion de prgm
merci d'avance happy.gif
Image manquante
Sangohan38 le 27/03/2010 à 13:31
Une matrice et des rand pour la fréquence des voitures.

Sangohan38
AlexRider38 le 27/03/2010 à 17:24
tu pourrait me montrer car je ne suis pas fortiche en programmation moodforlove.gif
merci
linkakro le 27/03/2010 à 23:55
Sur une calculatrice j'ai bien peur que le rendu ne soit pas agréable à cause des affichages au fur et à mesure cry.gif


Pour faire simple je suppose que sur l'écran principal 6 lignes sont route, une celle du début, et la pause au milieu , mais dernière ligne pas nécessaire.
Donc sur 8 lignes d'écran.

Moi je ferais une boucle contenant au début les déplacements de la grenouille, puis les déplacements des obstacles puis un test pour savoir si la grenouille meurt.
Dans la matrice on rempli 1 pour un obstacle et 0 pour un vide
Pour un test de présence d'obstacle ça donne style If [A](Y,X)=1:Stop
Rand génère un décimal entre 0 et 1 donc pour faire plus propre avec des égalités d'entiers on fait int(Arand+B) , avec A+B=maxi-1 et B=mini pour un nombre entier entre le mini et le maxi inclus.
Et le reste c'est trop vague pour moi pour l'instant.



C'est le genre de chose où montrer revient presque à faire en entier. Alors je m'arrête là.



PS: Les obstacles doivent-ils apparaître aléatoirement ou régulièrement ? Traditionnellement c'est régulier mais déphasé.
Sangohan38 le 28/03/2010 à 03:29
Dans mes souvenirs de ce jeu les obstacles ne sont pas régulier d'où le rand.

Sangohan38
AlexRider38 le 28/03/2010 à 09:33
salut, les obstacles ne sont en effet pas réguliers mais je débute juste en programmation ,j'ai 12 ans ( oups, je me suis mal exprimer dans le 1er post, je cherchais un programme et non à en programmer un). moodforlove.gif
merci d'avoir essayer de m'aider
Sangohan38 le 28/03/2010 à 11:07
Ca semble faisable mais le problème risque d'être la rapidité du programme.

Sangohan38
AlexRider38 le 28/03/2010 à 14:13
merci mais je vais attendre d'être un peu meilleur en programmation pour me lancer sur ce programme
cry.gif cry.gif cry.gif
linkakro le 28/03/2010 à 21:51
sangohan: D'après le screen posté je déduit plutôt que les séquences d'apparition sont constantes lignes par lignes, mais que c'est la vitesse pour chaque ligne qui diffère. D'autre part je l'ai constaté dans des reprises de ce jeu indémodable.

alex : bonne chance
linkakro le 06/06/2010 à 23:58
J'ai programmé ce frogger il y a un petit moment, mais j'ai été déçu de mon résultat et je n'ai pas osé le poster avant.
Il reste encore un bug concernant la noyade sur les 3 dernières lignes.

Code
:ClrHome
:DelVar [A]
:{8,16}->dim([A])
:18->V
:18->W
:Output(1,1,"     XX       XXXX           XXXXX       XXX   X                XX   XXX   XXXXX XX  XX  XX   XXX    XXXX    XXX"
:
:-1->P
:Lbl P
:P+1->P
:8->Y
:5->X
:0->Z
:Lbl 0
:Z+1->Z
:0->K
:getKey->K
:Output(Y,X," "
:Y->T
:If [A](Y,X)=0 and Y<4
:Output(Y,X,"X
:X-(K=24 and X=/=1)+(K=26 and X=/=16)->X
:Y-(K=25)+(K=34 and Y=/=8)->Y
:If Y=0
:Goto P
:
:X-(Y=3 and not(Z/2=iPart(Z/2)) and Y=T)+(Y=2 and Y=T)-(Y=1 and Y=T)->X
:If X=0 or X=17
:Goto 9
:
:Output(Y,X,"*
:
:If Z/2=iPart(Z/2)
:V+1->V
:V-iPart((V-1)/16)*16->Q
:W+1->W
:W-iPart((W-1)/16)*16->R
:
:Output(7,Q,"X
:Output(7,Q-4+16(Q-4<1)," "
:1->[A](7,Q)
:0->[A](7,Q-4+16(Q-4<1))
:Output(7,Q+8-16(Q+8>16),"X
:Output(7,Q+4-16(Q+4>16)," "
:1->[A](7,Q+8-16(Q+8>16))
:0->[A](7,Q+4-16(Q+4>16))
:
:Output(6,17-R,"X
:Output(6,17-(R-2+16(R-2<1))," "
:1->[A](6,17-R)
:0->[A](6,17-(R-2+16(R-2<1))
:Output(6,17-(R+5-16(R+5>16)),"X
:Output(6,17-(R+3-16(R+3>16))," "
:1->[A](6,17-(R+5-16(R+5>16)))
:0->[A](6,17-(R+3-16(R+3>16))
:Output(6,17-(R+9-16(R+9>16)),"X
:Output(6,17-(R+7-16(R+7>16))," "
:1->[A](6,17-(R+9-16(R+9>16)))
:0->[A](6,17-(R+7-16(R+7>16)))
:Output(6,17-(R+13-16(R+13>16)),"X
:Output(6,17-(R+11-16(R+11>16))," "
:1->[A](6,17-(R+13-16(R+13>16)))
:0->[A](6,17-(R+11-16(R+11>16))
:
:Output(5,R,"X
:Output(5,R-7+16(R-7<1)," "
:1->[A](5,R)
:0->[A](5,R-7+16(R-7<1))
:Output(5,R-10+16(R-10<1),"X
:Output(5,R-13+16(R-13<1)," "
:1->[A](5,R-10+16(R-10<1))
:0->[A](5,R-13+16(R-13<1)
:
:Output(Y,X,"*
:
:Output(3,17-Q,"X
:Output(3,17-(Q-3+16(Q-3<1))," "
:0->[A](3,17-Q)
:1->[A](3,17-(Q-3+16(Q-3<1))
:Output(3,17-(Q+6-16(Q+6>16)),"X
:Output(3,17-(Q+3-16(Q+3>16))," "
:0->[A](3,17-(Q+6-16(Q+6>16))
:1->[A](3,17-(Q+3-16(Q+3>16))
:
:Output(2,R,"X
:Output(2,R-5+16(R-5<1)," "
:0->[A](2,R
:1->[A](2,R-5+16(R-5<1)
:
:Output(1,17-R,"X
:
:Output(1,17-(R-2+16(R-2<1))," "
:0->[A](1,17-R)
:1->[A](1,17-(R-2+16(R-2<1)))
:Output(1,17-(R+9-16(R+9>16)),"X
:Output(1,17-(R+7-16(R+7>16))," "
:0->[A](1,17-(R+9-16(R+9>16))
:1->[A](1,17-(R+7-16(R+7>16))
:
:If [A](Y,X)
:Goto 9
:Goto 0
:Lbl 9
:ClrHome
:Disp "GAME OVER","FROGS="
:Output(2,8,P


Il faut éviter les véhicules puis monter sur les objets flottant.
Persalteas le 07/06/2010 à 11:06
ouuuh... ce programme fait mal aux yeux... crazy.gif
si tu es pas sur qu'il fonctionne je crois que je vais pas le recopier..

au moins il doit être léger.

pour ce genre de jeu il vaudrait mieux une version graphique,non?
et effectivement il faut un rand pour les obstacles, mais il faut que le passage reste libre.... les randoms riquent de bloquer tout le passage.
(cest pour ça que l'écran graphique peut être mieux car il y a plus de place et donc moins de chance d'être coincé.
alexvire le 07/06/2010 à 17:05
Pour ceux qui possèdent un câble: Frogger

Je l'avais essayé mais il est assez dur.
AlexRider38 le 07/06/2010 à 17:52
merci linkaro pour le prog glasses.gif glasses.gif
Persalteas le 08/06/2010 à 11:17
bien