Autorisation : Membre
Nb de messages : 72
Inscrit le : Jeu 26 Mai 2011, 16:41
Posté le : Lun 11 Juil 2011, 19:21
Voila la version 1 de mon jeu de tank. Pour l'instant les tanks ne bougent pas, il n'y a pas de relief et pas de vent mais on peut dores et déjà se tirer dessus en choisissant l'angle et la force (en appuyant sur les fleches haut et bas et on valide après).
Code
:degré
:0->K:2->H:50->I:I->J
:entaleat(1,2->H
:0->Ymin
:10->Ymax
:0->Xmin
:Ymax->Xmax
:AxesNAff
:EffDessin
:For(A,.4,1.4,.1
:Ligne(1,A,2,A
:Ligne(8,A,9,A
:End
:Horizontale .4
:Horizontale .1
:SauveImage Img1
:Lbl 1
:45->[theta]
:7->V
:H-2ent(H/2)+1->H
:If H:Then
:2->S:2.7->N:10->O: .3->P
:End
:If H=2:Then
:8->S:7.3->N:0->O: -.3->P
:End
:While K [différent de] 105
:codeTouche->K
:If K=25 et [theta]<90:Then:[theta]+1->[theta]:EffDessin:End
:If K=34 et [theta]>0:Then:[theta]-1->[theta]:EffDessin:End
:RappelImage Img1
:Texte(1,5,"ANGLE:
:Texte(1,30," "
:Texte(1,30,[theta]
:Texte(1,60,"J1:
:Texte(1,70," "
:Texte(1,70,I
:Texte(9,60,"J2:
:Texte(9,70," "
:Texte(9,70,J
:If H=1
:Ligne(S,1.4,S+cos([theta]),1.4+sin([theta]
:If H=2
:Ligne(S,1.4,S-cos([theta]),1.4+sin([theta]
:End
:0->K
:While K[différent de]105
:codeTouche->K
:If K=25 et V<15
:V+1->V
:If K=34 et V>0
:V-1->V
:Texte(9,5,"FORCE:
:Texte(9,25," "
:Texte(9,30,V
:End
:For(X,N,O,P
:-4.9(X-2.7)²/(V²(cos([theta])²))+(X-2.7)tan([theta])+1.4+sin([theta]->Y
:Pt-On(X,Y
:If X[supérieur ou égal]8 et X[inférieur ou égal]9 et Y[inférieur ou égal]1.4:Then:J-5->J:Goto 2:End
:If X[supérieur ou égal]1 et X[inférieur ou égal]2 et Y[inférieur ou égal]1.4:Then:I-5->I:Goto 2:End
:End
:Lbl 2
:If I=0:Then:Texte(31,20,"LE JOUEUR 2 GAGNE!":Stop:End
:If J=0:Then:Texte(31,20,"LE JOUEUR 1 GAGNE!":Stop:End
:0->K
:Pause
:EffDessin
:Goto1
Quelqu'un peut me dire ce qu'il en pense?
---------------------- En école d'ingénieurs depuis cette année.
Continue de programmer sur ma ti malgré les 3 tonnes quotidiennes de devoirs ^^
Fan de metallica et de tous autres groupes sachant jouer du vrai métal. (yeah!!!)
Un grand bravo !
J'ai sans doute fais quelque erreur car le tracé de la courbe ne commence pas a partir du tank mais depuis le ciel !
Le clrDraw a chaque fois que l'on change l'angle fais mal au yeux
Et, dès que l'un des deux joueurs a fini son tour ça fini le programmes.
Voila
---------------------- "Des millions de gens ont vu tomber une pomme, Newton est le seul a s'être demandé pourquoi ."
"L'urgent est fait, l'impossible est en cours.
un probléme a toujours une solution, la solution est de trouver le probléme, pour les miracles, prévoir un délai ...
"
Autorisation : Membre
Nb de messages : 72
Inscrit le : Jeu 26 Mai 2011, 16:41
Posté le : Lun 01 Aoû 2011, 10:53
Voici la version 2 de mon jeu de tank paufinée et fignolée aux petits oignons. Les améliorations sont : la position aléatoire des tanks, du vent, des tanks plus petits (mais tout aussi éfficaces), du relief avec des crevasses aléatoires, des barres de vie (parceque c'est plus classe) et euh je crois que c'est tout. J'ai un peu oublié ce qu'il y avait dans la V1 qui n'était qu'une ébauche alors voila:
Code
:degré
:50->I:I->J:EffvarWEffvarR:45->N:N->0:7->P:7->Q
:entaleat(1,2->H
:entaleat(5,20->D
:entaleat(74,89->H
:AxesNAff
:EffDessin
:0->Ymin
:62->Ymax
:0->Xmin
:94->Xmax
:Menu("FORME DU TERRAIN","PLAT",0,"(PRESQUE) PLAT",A,"COLLINE",B,"MONTAGNE",C
:Lbl 0
:0->M:-1->C
:Goto D
:Lbl A
:.2->M:18->C
:Goto D
:Lbl B
:.4->M:37->C
:Goto D
:Lbl C
:.7->M:65->C
:Lbl D
:Effecr
:Disp "DENIVELE TERRAIN","(ENTRE 1 ET 15)
:Input "",B
:If B<1:1->B
:If B>15:15->B
:EffDessin
:For(Z,1,47
:entaleat(1,B->L
:Ligne(Z,0,Z,MZ+L
:If Z [supérieur ou égal à]D et Z[inférieur ou égal à]D+5 et MZ+L+4>W
:MZ+L+4->W
:End
:For(Z,47,94
:entAleat(1,B->L
:Ligne(Z,0,Z,C+B-MZ-L
:If Z [supérieur ou égal à]E et Z[inférieur ou égal à]E+5 et C+B-MZ-L+4>R
:C+B-MZ-L+4
:For(A,W-4,W
:Ligne(D,A,D+5,A
:End
:For(A,R-4,R
:Ligne(E,A,E+5,A
:End
:SauveImage Img1
:Lbl 1
:H-2ent(H/2)+1->H
:If H:Then
:0->K
:N+(O-N)(H=2->[theta]
:P+(Q-P)(H=2->V
:entAleat(-3,3->F
:Effdessin
:RappelImage Img1
:While K [différent de] 105
:codeTouche->K
:[theta]+2(K=25 et [theta]<90)-2(K=34 et [theta]>1->[theta]
:If K et K [différent de]105:Then
:If H=1
:Texte(ent(62-W-5),D+6," "
:If H=2
:Texte(ent(62-R-5),E-4," "
:0->K:End
:Texte(1,5,"ANGLE:",[theta]," "
:Texte(1,60,"J1:",I," "
:Ligne(70,58,70+I/3,58
:Texte(9,60,"J2:",J," "
:Ligne(70,52,70+J/3,52
:Texte(1,5,"Vent",F," "
:Ligne(50,59,50+2F,59
:Ligne(50+2F,59,47(F>0)+50(F=0)+53(F<0)+2F,62
:Ligne(50+2F,59,47(F>0)+50(F=0)+53(F<0)+2F,56
:If H=1
:Ligne(D+5,W,D+6+4cos([theta]),W+4sin([theta]
:If H=2
:Ligne(E,R,E-1-4cos([theta]),R+4sin([theta]
:End
:If H=1
:[theta]->N
:If H=2
:[theta]->O
:0->K
:While K[différent de]105
:codeTouche->K
:V+(K=25 et V<15)-(K=34 et V>4)->V
:Texte(13,5,"FORCE:",V," "
:End
:If H=1
:V->P
:If H=2
:V->Q
:For(M,0,94,3
:PxlOff(0,M
:Texte(1,M" "
:Texte(7,M," "
:Texte(13,M," "
:End
:D+5+(89-E-D)(H=2->T
:For(X,T,Xmax
:ent(-4.9(X-T)²/(8(V+F-2F(H=2))²(cos([theta])²))+(X-T)tan([theta])+W+(R-W)(H=2)+sin([theta]->Y
:If Y<0:Goto 2
:If Y>0 et Y<62 et X[différent de]94 et X>T+5
:Then
:If pxl-Test(62-Y,X+(93-2X)(H=2
:Goto 2
:Pxl-On(62-Y,X+(93-2X)(H=2
:End:End
:End
:Lbl 2
:If H=2 et X[supérieur ou égal à]94-D-5 et X[inférieur ou égal à]94-D et Y[inférieur ou égal à]W et Y[supérieur ou égal à]W-4
:I-5->I
:If H=1 et X[supérieur ou égal à]E et X[inférieur ou égal à]E+5 et Y[inférieur ou égal à]R et Y[supérieur ou égal à]R-4
:I-5->I
:If non(I ou non(J:Then:Texte(31,20,"LE JOUEUR",H,"GAGNE!":Stop:End
:Pause
:Goto1
Des questions?
---------------------- En école d'ingénieurs depuis cette année.
Continue de programmer sur ma ti malgré les 3 tonnes quotidiennes de devoirs ^^
Fan de metallica et de tous autres groupes sachant jouer du vrai métal. (yeah!!!)
Autorisation : Membre
Nb de messages : 72
Inscrit le : Jeu 26 Mai 2011, 16:41
Posté le : Lun 01 Aoû 2011, 14:16
Pour le déplacement il faudrait que je revoie totalement le relief parce que c'est très chaotique parfois et donc difficile de s'y "déplacer" mais c'est ce qui rend l'autre difficile à toucher surtout quand il y a du "vent".
Pour les différents tanks, il n'y aurait pas assez de place. On est qand même en 62x94 pixels. C'est pas terrible comme définition et puis j'ai pratiquement utilisé toutes les variables pour le prog déja existant alors à moins d'utiliser des listes...
Mais merci du compliment et des suggestions ça fait plaisir quand même.
---------------------- En école d'ingénieurs depuis cette année.
Continue de programmer sur ma ti malgré les 3 tonnes quotidiennes de devoirs ^^
Fan de metallica et de tous autres groupes sachant jouer du vrai métal. (yeah!!!)
Autorisation : Membre
Nb de messages : 72
Inscrit le : Jeu 26 Mai 2011, 16:41
Posté le : Jeu 04 Aoû 2011, 20:11
Quelqu'un peut-il tester mon programme et me dire ce qu'il en pense? Ce serait sympa
Et les éventuelles optimisations même si je pense avoir fait le tour (on est jamais trop prudent )
---------------------- En école d'ingénieurs depuis cette année.
Continue de programmer sur ma ti malgré les 3 tonnes quotidiennes de devoirs ^^
Fan de metallica et de tous autres groupes sachant jouer du vrai métal. (yeah!!!)
Autorisation : Membre
Nb de messages : 72
Inscrit le : Jeu 26 Mai 2011, 16:41
Posté le : Sam 06 Aoû 2011, 22:22
Euh youhou? y'a quelqu'un? Je me sent alone sur mon sujet la
---------------------- En école d'ingénieurs depuis cette année.
Continue de programmer sur ma ti malgré les 3 tonnes quotidiennes de devoirs ^^
Fan de metallica et de tous autres groupes sachant jouer du vrai métal. (yeah!!!)
Autorisation : Membre
Nb de messages : 1366
Inscrit le : Ven 25 Mar 2011, 22:58
Posté le : Dim 07 Aoû 2011, 10:50
Pour le tester, je n'ai pas trop le temps de recopier un programme long comme ça (en ce moment je suis en train de travailler sur 2 concours à la fois (zContest2011 et celui d'espace TI) et d'essayer d'apprendre l'ASM (j'aimerais faire le programme pour le concours d'espace TI en ASM, plus peut-être un autre en ASM pour le zContest (c'est une autre catégorie donc on peut présenter un autre programme)).
Par contre, si jamais tu met un lien de téléchargement, je veux bien tester.
Sinon, pour l'optimisation, voici ce que j'ai trouvé:
Code
:Menu("FORME DU TERRAIN","PLAT",0,"(PRESQUE) PLAT",A,"COLLINE",B,"MONTAGNE",C
:Lbl 0
:0->M:-1->C //à transformer en :Effvar M-1->C //ici "-" = [(-)]
:Goto D
While K [différent de] 105
:codeTouche->K
:[theta]+2(K=25 et [theta]<90)-2(K=34 et [theta]>1->[theta]
:If K et K [différent de]105:Then
:If H=1
:Texte(ent(62-W-5),D+6," "
:If H=2
:Texte(ent(62-R-5),E-4," "
:0->K:End
est à remplacer par:
Code
While K [différent de] 105
:codeTouche->K
:[theta]+2(K=25 et [theta]<90)-2(K=34 et [theta]>1->[theta]
:If K et K [différent de]105:Then
:effvar KIf H=1
:Texte(ent(62-W-5),D+6," "
:If H=2
:Texte(ent(62-R-5),E-4," "
:End
Code
:Ligne(50+2F,59,47(F>0)+50(F=0)+53(F<0)+2F,62 //remplacer "(F=0)" par "non(F)
:Ligne(50+2F,59,47(F>0)+50(F=0)+53(F<0)+2F,56 //idem
Code
0->K //à supprimer
:While K[différent de]105 //à remplacer pas :effvar KWhile K[différent de]105
:codeTouche->K
:V+(K=25 et V<15)-(K=34 et V>4)->V //parenthèse avant le sto à suprimer
:Texte(13,5,"FORCE:",V," "
:End
Sandro
PS : pour le dénivelé du terrain, il ne faudrait pas vérifier que le résultat est entier?
---------------------- mort à l'inutile, place à la mémoire libre et aux programmes
Autorisation : Membre
Nb de messages : 72
Inscrit le : Jeu 26 Mai 2011, 16:41
Posté le : Dim 07 Aoû 2011, 12:25
Merci d'avoir répondu. Non ça marche bien comme ça pour le dénivelé. Sinon je ne peux pas poster de 82p pour la bonne raison que je n'ai pas le cable
Bonne chance pour les concours!!!!!!
---------------------- En école d'ingénieurs depuis cette année.
Continue de programmer sur ma ti malgré les 3 tonnes quotidiennes de devoirs ^^
Fan de metallica et de tous autres groupes sachant jouer du vrai métal. (yeah!!!)
Autorisation : Membre
Nb de messages : 60
Inscrit le : Mer 21 Sep 2011, 17:10
Posté le : Mer 21 Sep 2011, 17:12
c'est super mais il manque un tanke je ne comprend ps pourquoi il peut tirer mais il est invisible et le tank de doite ne peut pas dirigr sont connon sur celui de gauche(l'invisible)
Autorisation : Membre
Nb de messages : 72
Inscrit le : Jeu 26 Mai 2011, 16:41
Posté le : Jeu 22 Sep 2011, 19:34
Verifie qu'il n'y a pas d'erreur dans ton code. Une faute de frappe est vite arrivée
---------------------- En école d'ingénieurs depuis cette année.
Continue de programmer sur ma ti malgré les 3 tonnes quotidiennes de devoirs ^^
Fan de metallica et de tous autres groupes sachant jouer du vrai métal. (yeah!!!)
Autorisation : Membre
Nb de messages : 60
Inscrit le : Mer 21 Sep 2011, 17:10
Posté le : Lun 26 Sep 2011, 18:38
apres avoir verifier le probleme du placement aleatoire est resolue mais pas celui du tank invisible je croit qu'il sont confondu car c'est comme si je jouai avec le meme tank tout le temps