Forum

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

Tir à l'arc

Luffychigox le 12/11/2011 à 10:59
J'ai fait un petit jeu de tir à l'arc, les règles sont simples, il suffit de tirer des flèches pour toucher les cibles qui défilent. C'est normal qu'elles s'arrêtent quand on tire, parce-que sinon, c'est très difficile de toucher les cibles. Et aussi, même si ce n'est pas super utile, on a la possibilité de déplacer l'arc de haut en bas. Voilà le code:
Note: -> représente la touche sto, et # représent la touche "différent de" (pas égal).

Code

:EffEcr
:Output(3,4,"TIR A L'ARC
:Output(5,2,"BY LUFFYCHIGOX
:Pause
:Lbl M
:EffEcr
:Menu(" MENU ","JOUER",J,"RECORD",R,"QUITTER",Q
:Lbl R
:EffEcr
:Output(5,3,"RECORD:  /20
:Output(5,10,L3(1
:Pause
:Goto M
:Lbl Q
:EffEcr
:Stop
:Lbl J
:1->dim(L3
:0->S
:5->A
:5->B
:16->D
:20->F
:Lbl 1
:Effecr
:3->C
:Output(A,2,"D
:Output(B,D,"O
:Output(1,1,"F:
:Output(1,3,F
:If B#8
:B+1->B
:If B=8
:Then
:1->B
:entAléat(10,16->D
:End
:If F=0
:Goto G
:codeTouche->K
:If K=25 et A=2
:A+0->A
:If K=34 et A=8
:A+0->A
:If K=25 et A#2
:A-1->A
:If K=34 et A#8
:A+1->A
:If K=21
:Then
:F-1->F
:Goto 0
:End
:Goto 1
:Lbl 0
:EffEcr
:Output(A,2,"D
:Output(B,D,"O
:Output(1,1,"F:
:Output(1,3,F
:Output(A,C,"->              (là, -> ne représente pas sto)
:C+1->C
:If C=15
:Goto 1
:If A=B et C+2=D
:S+1->S
:Goto 0
:Lbl G
:If S>L3(1
:S->L3(1
:EffEcr
:Output(3,1,"FLECHES EPUISEES
:Output(5,4,"SCORE:  /20
:Output(5,10,S
:Output(7,3,"RECORD:  /20
:Output(7,10,L3(1
:Pause
:Goto M


Voilà ! Dites-moi ce que vous en pensez, le programme fait 513 octets, bon recopiage !
Métalocif le 12/11/2011 à 12:49
C'est assez sympa!
J'aurais quelques idées pour le perfectionner:
-crée une liste à part pour le record, sinon, si on utilise la liste L3, le record est effacé; pour créer une liste, écris
Code
3->dim(LARC
,en utilisant le petit L du menu des listes.
-entre des vitesses aléatoires pour les cibles.
-utilise une accolade au lieu d'un "D" pour l'arc; je trouve ça plus joli(enfin, c'est mon avis).
-baîllonne-moi ou je vais rapidement te gaver goutte.gif.

Voilà tout.
Métalocif

PS: tu n'aurais pas eu l'idée en jouant à Zelda?
tapenade le 12/11/2011 à 13:48
moi aussi, j'ai testé c'est un exellent jeu(quoique un poil dur au debut :6/20)
tu pourrai essayé de faire plusieurs niveua en changeant la vitess e de la cible ou faire un multijoueur en tirant chacun son tour happy.gif
Luffychigox le 12/11/2011 à 14:28
->Métalocif
Oui, bon, pour les vitesses aléatoires, c'est pas une mauvaise idée, ça rend le jeu moins facile, sinon pou les listes, c'est comme tous les jeux, ceux qui tiennent absolument à conserver leurs records peuvent faire comme tu l'as dis. Sinon, c'est vrai que c'est plus joli de mettre une accolade à la place d'un D pour l'arc.

->tapenade
Des niveaux avec une différence de vitesse ? Pourquoi pas ? Mais c'est quand même mieux de faire varier la vitesse pendant le même jeu, ça rend le jeu plus intéressant, sinon, pour le multijoueur, c'est bien plus simple de faire chacun une partie, et de comparer notre score, non ?
snap le 12/11/2011 à 14:29
Luffychigox a écrit :

Code

:codeTouche->K
:If K=25 et A=2     
:A+0->A         
:If K=34 et A=8 
:A+0->A         
:If K=25 et A#2
:A-1->A
:If K=34 et A#8
:A+1->A


je ne comprend pas pourquoi tu as mis de la deuxieme a la 5eme ligne. Elles ne servent à rien...
Luffychigox le 12/11/2011 à 14:30
Sinon, je n'ai pas eu l'idée en jouant à Zelda, ça fait longtemps que je voulais faire un jeu de tir à l'arc, et comme j'avais un peu de temps libre...
Luffychigox le 12/11/2011 à 14:38
Effectivement, bien vu snap, j'ai fait le programme hier soir, mais c'est maintenant que je constate que je devais être bien fatigué !
Cette erreur idiote prenais quand même 31 octets sur tout le programme moodforlove.gif
snap le 12/11/2011 à 16:16
Et aussi,

Code
If F=0


Peut s'écrire :

Code
If non(F


Sa prend1 octet de moins winkle.gif
Luffychigox le 12/11/2011 à 21:25
Eh ben, mais pour un octet de moins, on va pas prendre en compte...
snap le 12/11/2011 à 21:32
Si, prend l'octet sa peut toujours servir et quand dans un programme t'aura plein de =0, pense a les changer en non( sa te fera économiser pas mal d'octets.