Autorisation : Membre
Nb de messages : 26
Inscrit le : Mar 13 Avr 2010, 12:34
Posté le : Ven 23 Avr 2010, 10:45
Voila un petit programme que j'ai du réalisé en 2 étapes:
La première fois on se déplaçait en rentrant 1 pour aller a droite, 3 pour aller a gauche, 2 pour tirer et 5 pour attaque spécial. Les ennemis ne faisait pas mal et le jeu ralentissait, mais j'étais fier ^^ .
Tout ça c'était avant le drame...
Le RESET impromptue de ma très chère TI-82 ... (aucune sauvegarde --" )
Depuis j'ai tout refait et je dois dire que "Mars Atak!" s'en porte mieux!
Déplacement avec les flèches, pas de ralentissement, ennemies qui vous tues...
Parfait! (Enfin presque)
Bon, je voit beaucoup d'améliorations possible...
Je vous dit ça à la fin de programme.
// Ceci est un commentaire
Le programme BRIDE sera expliqué à la fin
Code
50->U //var de temps (elle ne baisse pas)
U->T //T=var de temps qui baisse au fur et a mesure du jeu)
0->S //var d'attaque spécial
1->N //var de niveau
Pause "PROG BY LiNK
Lbl A
EffEcr
Menu("MARS ATAK!","JOUER",1,"MEILLEUR SCORE",9,"QUITTER",Z
Lbl 9
Disp "MEILLEUR SCORE
Disp H
Disp "RECORD DE NIVEAU
Pause Z
Goto A
Lbl 1
EffEcr
0->I //var de d'ennemies tués
Disp "NIVEAU
Output(1,7,N
If N[supérieur]Z:N->Z
Pause
EffEcr
Output(4,6,"PRET?
50->[théta]
prgmBRIDE
Lbl 4
EffEcr
8->A //var vertical vaisseau
8->B //var horizontal vaisseau
Goto 5
Lbl 3
EffEcr
T-1->T
If T=0
Then
Disp "BRAVO!
Disp I
Pause "TUES
If I[supérieur]H:I->H
S+2->S
N+1->N
U+20->U
U->T
Goto 1
End
Output(8,16,S
Output(A,B,"^0^" // ces deux lignes correspondent a l'affiche du vaisseau, il
Output(A-1,B+1,"!" // peut donc être modifié à la guise du programmeur (tant qu'il n'y a que3 caractères en bas et 1 en haut)
G+1->G
If G=9:Goto 5
Output(G,H,"*" // pareille ici pour l'affichage de l'ennemie (1 caractère max)
If G=A-1 et H=B+1:Goto Y
If G=A
Then
If H=(B+1) ou H=B ou H=B+2:Goto Y
End
Lbl 6
0->C
CodeTouche->C
If C=0:Goto 6
If C=24:B-1->B
If B=0:1->B
If C=26:B+1->B
If B=14:13->B
If C=25
Then
0->D
A-1->E
B+1->F
Lbl 2
E-1->E
If E=0:Goto 3
If E=G et F=H
Then
I+1->I
Goto 5
End
Output(E,F,"'" // le caractère à afficher est un guillemet simple
3->[théta]
prgmBRIDE
Goto 2
End
If C=34 et S[différent de]0
Then
S-1->S
I+1->I
Output(4,B+1,"+
50->[théta]
prgmBRIDE
EffEcr
Output(6,6,"BOUM!
50->[théta]
prgmBRIDE
Goto 5
End
Goto 3
Lbl 5
ent(15NbrAléat)->H
If H=1 ou H=0:2->H
0->G
Goto 3
Lbl Y
"Perdu!
90->[théta]
prgmBRIDE
Lbl Z
Disp "PROG BY LiNK
voilà, ça c'est le programme principal!
Maintenant le programme BRIDE
Lbl 1
If [Théta][sup ou égal]1
Then
[théta]-1->[théta]
Goto 1
End
Ce programme sert juste a ralentir l'action qui suivra l'exécution de ce programme.
Plus la variable [théta] (qui est annoncé avant dans le programme principal) est grande, plus l'attente sera longue.
C'est une question de fluidité de jeu.
J'utilise ce programme en remplacement d'un "Pause", cela évite à l'utilisateur d'avoir à appuyer sur "Entrer".
Vous pouvez tout de même remplacer ce programme par un pause.
--------------------+
Maintenant mes questions:
Pourrait-on m'indiquer quels "Then" et "End" pourrait être enlevés?
J'aimerais, dans le futur, augmenter le nombre d'ennemies à chaque niveau (ex: niv 3 -> 2 ennemies, niv 6 -> 3 ennemies ect ...)? Je pense que se travaille est assez long, mais réalisable.
Merci.
Toutes critiques (positives et négatives) sont les bienvenues.
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Sam 24 Avr 2010, 19:26
Ton BRIDE peut être un simple For vide.
Code
For(W,¤,1,(-)1
End
¤ représente thêta
comme toujours ( - ) est le petit moins du bas
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Sam 24 Avr 2010, 21:11
Plus thêta est grand et plus le For dure longtemps, ralentissant le programme.
Ce ralentissement est le plus propre que je connaisse.
W est la variable directrice du For.
For(variable,valeur_début,valeur_fin,incrément_ou_décrément
pour les then en trop ...
Code
If G=A
Then
If H=(B+1) ou H=B ou H=B+2:Goto Y
End
devient :
Code
If G=A et (H=(B+1) ou H=B ou H=B+2):Goto Y
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Dim 25 Avr 2010, 22:43
Sur ma 82statfr ça marche très bien avec des parenthèses autour de la série de ou. Cela constitue une équation de la forme a*(b+c+d) tout-à-fait plausible.
Quelques trucs comme ça me semblent différer entre les modèles
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Autorisation : Membre
Nb de messages : 26
Inscrit le : Mar 13 Avr 2010, 12:34
Posté le : Lun 26 Avr 2010, 18:29
J'ai aussi une TI-82 Stats.fr
Je pense que la première fois que j'ai essayé je n'avais pas mis les parenthèses et que c'est pour cela que ça n'a pas marché.
Merci Linkacro, jessairais a l'ocase!
Autorisation : Membre
Nb de messages : 57
Inscrit le : Jeu 08 Oct 2009, 20:56
Posté le : Lun 26 Avr 2010, 18:55
Moi, le programme BRIDE fait 31 octets et INVADERS ( je l'ai renommé à l'occasion ) fait 704 octets ! Très impressionnant pour un programme de ce genre Bon après je l'ai pas encore essayé, juste tapé sur ma caltos ^^ Je te dis ça !
Autorisation : Membre
Nb de messages : 57
Inscrit le : Jeu 08 Oct 2009, 20:56
Posté le : Lun 26 Avr 2010, 18:58
Euh déjà tu as oublié Lbl A juste avant le menu : si on va dans les highscores et qu'on fait entrée, il affiche err. étiquette D'autre part, j'ai moi-même fait mon Lbl "Quitter" que je préfère d'ailleurs nommer Q ( tu verras que pour se retrouver dans un gros prog de 10 000 octets, vaut mieux avoir des labels de l'initiale de ce qu'ils renvoient sinon tu t'en sors plus )
Autorisation : Membre
Nb de messages : 57
Inscrit le : Jeu 08 Oct 2009, 20:56
Posté le : Lun 26 Avr 2010, 19:00
Oups désolé pour le double-post ^^ Je voulais justement mettre mon Lbl "Q" quand j'ai cliqué sur Envoyer, j'avais déjà oublié Bon alors c'est tout con, mais très propre : ça ne laisse absolument aucune trace !
Lbl Q
EffEcr
Output(1,1,"
Stop
raboulavev Invité
Posté le : Lun 26 Avr 2010, 19:06
Eh bien, mes premières impressions :
- Assez fluide, il faudrait cependant mettre une règle du jeu ( J'ai trouvé comment lancer un misile car je connais le codetouche, mais sinon c'est galère pour un débutant )
- Il me met lvl 0 au début, et quand je passe lvl 2 il me met 2 : petite erreur variable je pense
- Passé le lvl 2, les ennemis ne bougent que quand je bouge : tu as voulu faire un Mars Attack version RPG, ou sinon c'est un bug ? Je pencherais pour la 2e réponse Mais sinon le lvl 1 est nickel
Voili-voilou ! Bon le Menu pour les règles est pô compliqué d'ailleurs je l'ai moi-même déjà fait
En tous cas, un début pas mal du tout mais comme c'est ton prog il faudrait que je le relise bien plutôt que le taper bêtement, comme ça je pourrais corriger les bugs tout seul mais là j'ai pas le temps, Oral blanc de Français oblige ^^ ( courage, plus que 2 mois ... )
raboulavev Invité
Posté le : Lun 26 Avr 2010, 19:08
Ah non je me suis trompé, en fait dès le lvl 1 c'est du rpg Mais le joueur boule-de-nerfs ne se rendra même pas compte que c'est du RPG, il tape trop vite sur les touches Pour moi, ce problème a toujours été, j'ai jamais réussi à le corriger. J'ai déjà tenté plein de Space Invaders dans le même genre mais aucun n'était convaincant. Bon je m'y suis pas trop attardé non plus aussi, j'avais d'autres trucs à foutre ^^
Autorisation : Membre
Nb de messages : 26
Inscrit le : Mar 13 Avr 2010, 12:34
Posté le : Mar 27 Avr 2010, 17:42
Lu! Merci de toute ces critiques !!!
Pour l'étiquette A, désolé, j'ai recopier une vieille version ou il n'y avait pas de "meilleur score", donc forcément pas de Lbl A.
Désolé, mais ma religion de programmeur m'interdit de mettre des "Stop".
Explication : je crée un système d'exploitation (si tu vois ce que je veux dire), donc pas le droit à un arrêt du programme!!! ^^
Pour l'étiquette de fin de programme, ne t'inquiète pas, j'ai mon habitude!!!! Lbl Z pour la fin, A pour le menu principale, 1 pour la boucle principal, et pareille pour les variables! Pas de problème la dessus ^^
Oui, le but était de faire un RPG. Ca rend le jeu plus "tactique" (même si sur ce genre de jeu un peu limiter, la tactique ne vas pas loin). En effet, la plupart de mes amis on commencé comme toi: en mode BOURRIN!
Ils appuyaient sur toutes les touches en croyant que l'ennemie progressé vers soit!
(je m'imagine ce qu'ils ont du penser:
"jappuie plus vite pour en tué plus", accélère la candence, "mais il arrive trop vite!", accélère la cadence , "mais c'est trop rapide!!!" )
Sinon, oui je voulais mettre une instruction. Enfin bon, c'est pas le genre de truc primordial, rapidement fait quoi.
Merci beaucoup pour ces critiques! ^^ (attention, une critique peut être autant positive que négative! (je rapelle le sens de ce mots ))
Bonne chance pour l'orale blanc de Français! Moi qui suit en Seconde je n'ai pas cours de français de la semaine grâce à cela!!! Hi Hi Hi!
@+
LiNK, programmateur du bahut Victor Hugo
darkking Invité
Posté le : Mer 28 Avr 2010, 17:17
Du lycée victor hugo d'où ?
Moi je suis à colomiers !
Autorisation : Membre
Nb de messages : 26
Inscrit le : Mar 13 Avr 2010, 12:34
Posté le : Mer 28 Avr 2010, 20:16
Lycée Victor Hugo à Lunel, près de Montpellier, dans le Sud de la France. ^^
moi Invité
Posté le : Mar 11 Mai 2010, 9:57
Vive l'Oral Blanc !
Y a rien a savoir et ça remonte la moyenne !
Sinon, j'ai moi même crée un prgm mars attack que je ne peux malheureusement pas vous transmettre faute de cable ti. Dommage.
Voici ses caractèristiques:
-vitesse et nb d'ennemis croissants
-Score
-Possiilité d'utiliser des Bombes
-fluidté correct
le tout pour moins de 1000 octets
Cependant, je pense que celui posté sur ce site est superieur au mien a vue d'oeil, je vous ferais part du mien dès que j'aurai le cable ti
Autorisation : Membre
Nb de messages : 26
Inscrit le : Mar 13 Avr 2010, 12:34
Posté le : Lun 17 Mai 2010, 18:21
lol! Moi je peut pas la prêter à quelqu'un sans stresser toute la journée! (c'était le cas de aujourd'hui --" )
Cool, j'ai hâte de voir ça!!!
LiNK
moi Invité
Posté le : Mar 18 Mai 2010, 12:37
Je compatis.
Moi, quant on me prend ma calculette, j'étrangle, je frappe, je mord...
completement accro ^^
bien voila le prmg. je ne met pas tt les ":"
Code
lbl A
EffEcr
0->S,Y:1->T,Q,A,B,C,X / J'ai la flemme de repéter les -> mais tu comprendra
3->D,E,F
15->N,L,J
lbl B
1->W
code touche->A
If A=25:B-1->B
If A=34:B+1->B
If B>8:8->B
If B<1:1->B
Output(B,1,">")
If A=105:Then:Output(B,2,"---------------":2->W:end
If A=42 et X>0:Then:EffEcr:X-1->X:Goto X:end:
If S>2 et D non egal a 2:1->D
If S>8 et E non egal a 2:1->E
If S>20 et F non egal a 2:1->F
If C=2: Goto C:
entaleat(1,8)->G
15->H:2->C
lbl C: If D>1:Goto D
entaleat(1,8)->I:15->J:2->D
lbl D:If E>1:Goto E: entaleat(1,8)->K:15->L:2->E
lbl E:If F>1:Goto F:entaleat(1,8)->M:15->N:2->F
lbl F
Output(G,H,"<")
H-1->H
If S<3 et D non egal a 2:Goto T
Output(I,J,"<"
J-1->J
lbl T: If S<8 et E non egal a 2:goto U
Output(K,L,"<"):L-1->L
lbl U:If S<20 et F non egal a 2:Goto V
Output(M,N,"<"):N-1->N
lbl V
If B=G et W=2:Then: output(G,H+1,"0":1->C:S+1->S:end
If B=I et W=2:Then: output(I,J+1,"0":1->D:S+1->S:end
If B=K et W=2:Then: output(K,L+1,"0":1->E:S+1->S:end
If B=M et W=2:Then: output(M,N+1,"0":1->F:S+1->s:end
If H=0 ou J=0 ou L=0 ou N=0: Goto Z
If S>9:3->y
If S>19:2->Y
If S>29:1->Y
lbl Y:If Y>1:Y-1->Y:If Y>1:Goto Y
EffEcran
goto B
lbl Z
Disp"Perdu!"
Disp"score:"
disp S
pause
Goto A
lbl X: Output(1,1,"------------------------------------------------BOUM!----------------------------------------------------------------------":1->F:1->E:1->C:1->D:S+4->S
goto B
Bien, j'éspere que je n'ai pas fait de fautes de frappes.
Bonne journée
Autorisation : Membre
Nb de messages : 3293
Inscrit le : Sam 31 Déc 2005, 19:48
Posté le : Mar 18 Mai 2010, 15:56
Tu oublies aussi de mettre la balise code ...
Et on est tous dans ce cas, les gens sont tellements jaloux de notre talent de programmeur qu'ils veulent toujours tout nous supprimer.
Heureusement que le câble existe sinon je crois que ma vie serait déjà finie.
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Mar 20 Mai 2014, 18:33
Toutes les variables qu'il a juxtaposé par des virgules doivent certainement recevoir la même valeur.
Code
0->S,Y:1->T,Q,A,B,C,X
0->S
0->Y
1->T
1->Q
1->A
1->B
1->C
1->X
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)