Poster un nouveau sujet Poster une réponse
ESCRIME
Auteur Message
Rézus



Autorisation : Membre
Nb de messages : 853
Inscrit le : Sam 20 Jui 2009, 20:35
Posté le : Mar 14 Juil 2009, 21:08   Citer 

Bon je m'ennuie alors voilà un petit programme d'escrime.(¤ c'est un theta)

Code
:Lbl A
:ClrHome
:1->A:15->B
:0->I:0->J
:Lbl 1
:A->D:B->E
:ClrHome
:Output(8,A,"I
:Output(7,A,"0I
:Output(6,A,"0!
:Output(5,A," !
:Output(8,B+1,"I
:Output(7,B,"I¤
:Output(6,B,"!¤
:Output(5,B,"!
:0->K
:getKey->K
:If K=41
:1->I
:If K=44
:Goto 5
:If K=45
:1->J
:If K=41 or K=45
:Goto 1
:If K=42
:Goto 3
:A-(K=51)+(K=52)->A
:B-(K=54)+(K=55)->B
:If A+1=B
:Then
:A-1->A:B+1->B
:End
:B-(B=16)->B
:A+(A=0)->A
:If A different de D
:0->I
:If B different de E
:0->J
:Goto1
:Lbl 3
:Output(5,A+1,"
:Output(6,A+1,"
:Output(7,A+1,"H--
:If J=1 and A+3=B+1
:Then
:Output(1,11,"BLOQUE
:0->J
:Goto 1
:Else
:If A+3=B+1
:Then
:Disp "JOUEUR DE GAUCHE
:Disp "      GAGNE
:Pause
:Goto ¤
:Else
:Goto 1
:End
:Lbl 5
:Output(5,B,"
:Output(6,B,"
:Output(7,B-2,"--H
:If I=1 and B-2=A
:Then
:Output(1,1,"BLOQUE
:0->I
:Goto 1
:Else
:If B-2=A
:Then
:Disp "JOUEUR DE DROITE
:Disp "      GAGNE
:Pause
:Goto ¤
:Else
:Goto 1
:End
:Lbl ¤
:ClrHome
:Output(1,1,""


Les touches pour le joueur de gauche sont x^-1 et sin pour les déplacements,math pour bloquer un coup et matrice pour attaquer.
Pour le joueur de droite c'est tan et ^ pour les déplacements,annul pour bloquer et var pour tapper.
PS:quand vous appuyez sur la touche de bloquage,le personnage est prêt à bloquer tant que vous ne vous déplacez pas. si vous recevez un coup le bloquage s'annule.
On peut pousser l'adversaire si on avance vers lui alors qu'on le touche.

 Adresse email Haut de page Bas de page 
 
Sangohan38



Autorisation : Membre
Nb de messages : 3370
Inscrit le : Sam 31 Déc 2005, 19:48
Posté le : Mer 15 Juil 2009, 12:00   Citer 

Je pense que ce programme est rétrecissable de la façon suivante (j'ai pas de calto sous la main donc faudra tester):


Code
:Lbl A
:1->A:15->B
:A->D:B->E
:0->I:0->J
:Lbl 1
:ClrHome
:Output(8,A,"I
:Output(7,A,1,"0I
:Output(6,A,"0!
:Output(8,B+1,"I
:Output(7,B,"I¤
:Output(6,B,"!¤
:Output(5,B,"!
:0->K
:While K=0
:getKey->K
:A-(K=51)+(K=52)->A
:B-(K=54)+(K=55)->B
:If A+1=B
:A-1->A
:If A+1=B
:B+1->B
:If B>15
:B-1->B
:If A<1
:A+1->A
:If A différent de D
:0->I
:If B différent de E
:0->J
:If A différent de D ou B différent de E
:Goto 1
:If K=41
:1->I
:If K=44
:1->J
:If K=41 ou K=44:Goto 1
:If K=45
:Goto 3
:If K différent de 42
:End
:Output(5,A+1,"
:Output(6,A+1,"
:Output(7,A+1,"H--
:If J=1
:Then
:Output(1,11,"BLOQUE
:0->J
:Goto 1
:Else
:If A+2=B+1 ou A+3=B+1
:Then
:Disp "JOUEUR DE GAUCHE
:Disp "      GAGNE
:Pause
:Stop
:Else
:Goto 1
:End
:Lbl 5
:Output(5,B,"
:Output(6,B,"
:Output7,B-2,"--H
:If I=1
:Then
:Output(1,1,"BLOQUE
:0->I
:Goto 1
:Else
:If B-2=A ou B-1=A
:Then
:Disp "LE JOUEUR DE DROITE
:Disp "         GAGNE
:Pause
:Stop
:Else
:Goto 1
:End



Sangohan38

 Adresse email Haut de page Bas de page 
 
Rézus



Autorisation : Membre
Nb de messages : 853
Inscrit le : Sam 20 Jui 2009, 20:35
Posté le : Mer 15 Juil 2009, 14:45   Citer 

Ta version est plus courte mais un peu plus lente que la mienne,de plus les adversaires ne peuvent pas se taper et donc j'ai pas pu vérifier si ils peuvent bloquer enfin bon sans calculette c'est pas facile.

PS: T'as fait des erreurs en tapant le code ^^ regarde dans les output du début, et à "LE JOUEUR DE DROITE" faut enlever le 'LE' sinon sa rentre pas dans l'écran mais ça sans la calto c'est pas facile à savoir non plus.

 Adresse email Haut de page Bas de page 
 
Sangohan38



Autorisation : Membre
Nb de messages : 3370
Inscrit le : Sam 31 Déc 2005, 19:48
Posté le : Mer 15 Juil 2009, 17:09   Citer 

Au risque de te décevoir, je n'ai fait qu'un copié-coller de ton programme et ensuite j'ai modifié.

Donc le LE est écrit dans ton code en premier et non dans le miens.
Pour l'abscence du bloquage, c'est possible car j'ai essayé de modifier mais je n'ai tester aucun des deux programmes.

Ta version est plus rapide mais l'utilisation des Then entraine un ralentissement de la calculatrice.

Sangohan38

 Adresse email Haut de page Bas de page 
 
Rézus



Autorisation : Membre
Nb de messages : 853
Inscrit le : Sam 20 Jui 2009, 20:35
Posté le : Mer 15 Juil 2009, 18:14   Citer 

Bon j'ai modifié des trucs,et j'ai supprimé le Then.Je laisse le deuxième car c'est lui qui permet aux joueurs de se pousser j'ai vu que dans ta version tu l'as enlevé mais ça empêche le joueur de droite de pousser celui de gauche.

Je rajoute aussi le ClrHome et le Output(1,1,"" pour te faire plaisir ^^

 Adresse email Haut de page Bas de page 
 
Tampp
Invité
Posté le : Dim 06 Sep 2009, 17:38   Citer 

Bonjour voila après avoir mis le prog dans ma calculette j'ai eu des probleme avec les theta j'ai corriger le probleme mais sa me dis toujours quil y en a un.

  Haut de page Bas de page 
 
Rézus



Autorisation : Membre
Nb de messages : 853
Inscrit le : Sam 20 Jui 2009, 20:35
Posté le : Dim 06 Sep 2009, 17:41   Citer 

Et ça provoque quoi ?

 Adresse email Haut de page Bas de page 
 
tampp
Invité
Posté le : Dim 06 Sep 2009, 19:01   Citer 

Il me di que cette ligne est mauvaise


Citer
Output(7,B,"I¤



  Haut de page Bas de page 
 
Rézus



Autorisation : Membre
Nb de messages : 853
Inscrit le : Sam 20 Jui 2009, 20:35
Posté le : Lun 07 Sep 2009, 19:26   Citer 

J'ai vérifié et j'ai pas fais de faute de copie.
Si il t'affiche erreur domaine c'est qu'il y a un problème avec la variable B donc partout où tu vois un B regarde si tu as bien recopié.
Si il te met erreur argument ou syntaxe écrit la ligne comme ça: Output(7,B,"I¤")
Et si ça marche pas supprime là. si le jeux démarre c'est la ligne qui a un problème,sinon c'est ailleurs.
Dis moi quoi.

 Adresse email Haut de page Bas de page 
 
coc5
Avatar

Autorisation : Membre
Nb de messages : 891
Inscrit le : Sam 16 Jui 2007, 13:37
Posté le : Jeu 10 Sep 2009, 21:40   Citer 

Avant tout précise l'erreur : SYNTAXE ? ARGUMENT ? Y a pleins de types différents, mais avant tout action faut connaître la nature de l'erreur.

----------------------
Ne cliquez pas ici !
 Adresse email Haut de page Bas de page 
 
maofr



Autorisation : Membre
Nb de messages : 1
Inscrit le : Jeu 08 Oct 2009, 9:21
Posté le : Jeu 08 Oct 2009, 9:27   Citer 

Hello je suis nouveau dans la programmation
et j'ai testé le prog : le joueur de gauche ne fai que taper et c impossible de gagner mais la base est geniale ^^

PS y a til un site ou on voit le nombre des touches ( getKey->K:K=42 ...45 ...

merci d'avance : bigmouth.gif

 Adresse email Haut de page Bas de page 
 
Wirekey



Autorisation : Membre
Nb de messages : 240
Inscrit le : Mer 17 Jui 2009, 0:54
Posté le : Jeu 08 Oct 2009, 15:11   Citer 

http://tifreakware.net/tutorials/83p/b/tifw/im/83plusgetkey.gif

Pour les retrouver si tu programme en cours crée un petit programme du style

Code
Repeat K=11
Getkey->K
If K != 0
Disp K
End
Stop



( Pour quitter appuie sur [ f( x ) ]

Voila godgrace.gif

 Adresse email Haut de page Bas de page 
 
sypotu
Avatar

Autorisation : Membre
Nb de messages : 655
Inscrit le : Dim 13 Sep 2009, 8:27
Posté le : Jeu 08 Oct 2009, 19:07   Citer 

Il y a plus simple :
Le premier chiffre est la ligne de la touche, le second la colone.

----------------------
Ti-83+.fr
Passe en 1ère S


Foire Aux Questions__________Traduction des fonctions Anglais/Français
Emplacement des fonctions____Lexique
Liste des jeux
Ouvrir, éditer et créer des .82p ou .83p sans télécharger de logiciel
Logiciel pour prendre des screenshot animés
Hebergeur pour vos .83p
 Adresse email Haut de page Bas de page 
 
Rézus



Autorisation : Membre
Nb de messages : 853
Inscrit le : Sam 20 Jui 2009, 20:35
Posté le : Dim 11 Oct 2009, 17:41   Citer 

Quant au bug,le programme marche sur ma calculette et je n'ai pas fais d'erreur de copie donc vérifie si tu n'en a pas fait.

 Adresse email Haut de page Bas de page 
 
Rézus



Autorisation : Membre
Nb de messages : 853
Inscrit le : Sam 20 Jui 2009, 20:35
Posté le : Dim 18 Oct 2009, 20:32   Citer 

Un petit prog du même genre que j'ai fait tout à l'heure et qui ne mérite pas un topic à lui tout seul par contre il a une IA.
Vous êtes à droite,vous êtes protégé quand vous êtes derrière le mur.
Le but est de vous placer en face de l'adversaire et de tirer pour marquer des points.Il peut faire de même donc attention
[annul] pour vous déplacer vers le haut
[diviser] pour aller vers le bas
[^] pour tirer
[entrer] pour terminer la partie

Code
EffEcr
Output(4,1,"0!
Output(4,15,"!Á
4üY:4üZ:0üE:0üF:0üO:0üP:0üT:0üU
Lbl 1
For(A,0,9û99,1^ú9
0üK:0üD
codeTouchüK
YüB:ZüC
Y+entAléat(-1,1)üY
Y-(Y=9)+(Y=0)üY
Z-(K=45)+(K=65)üZ
Z-(Z=9)+(Z=0)üZ
Output(B,1,"
Output(Y,1,"0
Output(C,16,"
Output(Z,16,"¤
If K=55 et Zø4
Goto 2
If Y=Z et Yø4
entAléat(1,2)üD
If D=1
Goto 3
If D=2
T+1üT
If K=105
Goto 4
End
Lbl 2
If Z=Y
Then
Output(Y,1,"
F+1üF
O+1üO
Goto 1
End
O+1üO
Goto 1
Lbl 3
Output(Z,16,"
E+1üE
T+1üT
Goto 1
Lbl 4
EffEcr
Output(3,1,E
Output(3,5,"SCORES
Output(3,14,F
Output(4,1,T
Output(4,6,"TIRS
Output(4,14,O
If Eø0
100E/TüU
Output(5,1,partEnt(U
Output(5,4,"PRECISION
If Fø0
100F/OüP
Output(5,14,partEnt(P



Bon maintenant que j'ai le cable,je vais pouvoir poster des trucs un peu plus évolués ^^

 Adresse email Haut de page Bas de page 
 
Poster un nouveau sujet Poster une réponse





  Powered by Fire-Soft-Board v1.0.10 © 2004 - 2024 Groupe FSB
Page générée en 9 requêtes
BlackOne par Grimmlink