Forum

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

POC3 (jeu de pong) - Page 1 / 5

coc5 le 06/10/2007 à 13:20
La deuxième version de mon pong.
J'ai retapé l'integralité du code pour une meilleur fluidité et une Ai plus réaliste et performante.
edit 25/10/2007 : Cette version est une nouvelle version.



Si vous rencontrer [Liste <2nd +1>], ce n'est pas une instruction ! c'est juste les touches qu'il faut taper pour avoir la bonne instruction happy.gif




image non contractuel^^






LE PROGRAMME ICI !



Code


1->Y
2->dim( [Liste <2nd puis 1>]
{1,9->dim([F]
Lbl M
ClrHome
Menu("POC3 COC5(C)2007","COMMENCER",C,"CONTINUER",3,"NIVEAU A.I",4,"QUITTER",5
Lbl 5:Stop
Lbl 4
10P->A
ClrHome
Disp "NIVEAU A.I",""," DEBUTANT"," FACILE"," MOYEN"," DIFFICILE"," HARDCORE
1->F
Repeat K=105
getKey->K
A->C
min(5,max(1,A+(K=34)-(K=25->A
If F:A->C
0->F
Output(C+2,1," "
Output(A+2,1,"*
End
A/10->P
Goto M
Lbl C
{3,3-> [Liste <2nd puis 1>]
Lbl D
If P>.5 or P<.1:.3->P
6->F:7->A:7->E:8->B
7->G:7->H:0->C:0->D
2->Y
Goto 0
Lbl 3
If not([F](1,1
Goto M
[F](1,1->A
[F](1,7->D
[F](1,2->B
[F](1,8->C
[F](1,3->E
Ans->G
[F](1,4->F
Ans->H
[F](1,9->P
{ [F](1,5),[F](1,6-> [Liste <2nd puis 1>]
1->Y
Lbl 0
A->Q
B->S
Repeat K=22
Repeat not(Y
Output(Q,S," "
B+(B=17)+not(B->B
Output(A,B,"*
Output(1,H,"   "
Output(1,F,"===
getKey->K
If Y-1:Then
(Ans=26)-(Ans=24->M
Output(8,E,"   "
min(14,max(1,E+M->E
Output(8,E,"===
B+C(A-1->O
F->H
If O>16:32-O->O
If O<1:2-O->O
3rand2P(O-F-1+(A<4)2rand
If P>.3 and A=2 and F=B-1:9E-9F
min(14,max(1,F+(Ans>1-2P)-(Ans<2P-1->F
End
If Y=2
Output(4,4,"APPUYEZ SUR     UNE TOUCHE
If Y:Then
If K and K-24 and K-26:0->Y
If Y=2:min(E+2,max(E,B->B
ClrHome
Output(1,16, [Liste <2nd puis 1>] (2
Output(8,1, [Liste <2nd puis 1>] (1
End
End
If K=21:Pause
A->Q
B->S
A+D->A:B+C->B
If A=9 or not(A
Then
1+not(A
-1+ [Liste <2nd puis 1>] (Ans-> [Liste <2nd puis 1>] (Ans
ClrHome
If Ans
Goto D
If  [Liste <2nd puis 1>] (2:Disp "VOUS AVEZ PERDU!
If  [Liste <2nd puis 1>] (1:Disp "VOUS AVEZ","GAGNE !
Stop
End
C-2C(B+C>16 or B+C<1->C
A>6->V
A<3->W
If V and E [INFERIEUR OU EGAL] B and E [SUPERIEUR OU EGAL ]B-2 or W and F [INFERIEUR OU EGAL] B and F [SUPERIEUR OU EGAL] B-2:Then
(B-(F+1)W-(E+1)V)(1+(A=8 or A=1->C
W-V->D
End
End
Menu("SAUVEGARDER ?","OUI",O,"NON",N
Lbl O
[[A,B,E,F, [Liste <2nd puis 1>] (1), [Liste <2nd puis 1>] (2),D,C,P->[F]
Lbl N
ClrHome
Output(1,9,"


"Ancienne version" a écrit :





http://www.badongo.com/file/4612936

[LISTE 1] correspond à L1, qui se marque par [2nd] + [1]
Code
1->Y
2->dim([LISTE 1]
{1,8->dim([F]
Lbl M
Menu("POC2 COC5(C)2007","COMMENCER",C,"CONTINUER",3,"QUITTER",5
Lbl 5:Stop
Lbl C
{4,4->[LISTE 1]
Lbl D
6->F:7->A:7->E:8->B
7->G:7->H:0->C:0->D
2->Y
Goto 0
Lbl 3
If not([F](1,1
Goto M
[F](1,1->A
[F](1,7->D
[F](1,2->B
[F](1,8->C
[F](1,3->E
Ans->G
[F](1,4->F
Ans->H
{[F](1,5),[F](1,6->[LISTE 1]
2->Y
Lbl 0
A->Q
B->S
Repeat K=22
Repeat not(Y
Output(8,G,"   "
Output(8,E,"===
Output(Q,S," "
Output(A,B,"*
Output(1,H,"   "
Output(1,F,"===
Output(1,1,[LISTE 1]2
Output(8,1,[LISTE 1]1
E->G
getKey->K
max(1,min(14,E+(Ans=26)-(Ans=24->E
If Y=2:Then
Output(4,4,"APPUYEZ SUR     UNE TOUCHE
If K=21 or K=105:0->Y
min(E+2,max(E,B->B
ClrHome
End
End
A->Q
B->S
A+D->A:B+C->B
If A=9 or not(A
Then
1+not(A
[LISTE 1](Ans) - 1->[LISTE 1](Ans
If Ans
Goto D
Stop
End
C-2C(B+C>16 or B+C<1->C
A>6->V
A<3->W
If V and E [INFERIEUR OU EGAL] B and E [SUPERIEUR OU EGAL] B-2 or W and F[INFERIEUR OU EGAL]B and F[SUPERIEUR OU EGAL]B-2:Then
(B-(F+1)W-(E+1)V)(1+(A=8 or A=1->C
W-V->D
End
B+C(A-1->O
F->H
If O>16:32-O->O
If O<1:2-O->O
rand.2(O-F-1+(A<4)2rand
min(14,max(1,F+(Ans>0)-(Ans<0->F
End
Menu("SAUVEGARDER ?","OUI",O,"NON",N
Lbl O
[[A,B,E,F,[LISTE 1])(1,[LISTE 1](2),D,C->[F]
Lbl N
ClrHome
mad67 le 06/10/2007 à 16:31
bravo c le pong le mieux fait mais comme je naime pas qu'on fasse mieux que moi je vais integrer un pong dans mon vista.
Stupid le 06/10/2007 à 18:06
mad67 a écrit :
bravo c le pong le mieux fait mais comme je naime pas qu'on fasse mieux que moi je vais integrer un pong dans mon vista.


laugh.gif je vais me lancer dans la lutte aussi rien que pour essayer de faire mieux que mad, et si tu fais un vista faut que tu fasses un jeu d'échec et un démineur...
mad67 le 07/10/2007 à 09:05
ils sont prevu en effet le solitaire et le ink ball manqueront par contre mais pait et vord seront la aussi la version msn elle dechire et celle de coc5 marche pas car g essayer avec mes 2 82 stats
mad67 le 07/10/2007 à 12:58
question c kelle touche pour se deplacer?
Mickael3813 le 07/10/2007 à 13:03
Salut moi jai juste une question je voudrais savoir comment on fait : Ans godgrace.gif
coc5 le 07/10/2007 à 15:33
mad67 a écrit :
question c kelle touche pour se deplacer?


Gauche et droite, comme dans tout pong qui se respecte eyeonly.gif

Mickael3615 a écrit :
Salut moi jai juste une question je voudrais savoir comment on fait : Ans


Simple : [2nd] + [{-}] (la touche à coté de [ENTER])
Mickael3813 le 07/10/2007 à 16:03
Moi j'ai une TI-82stats.fr donc Ans c'est en anglais et Rep pour les calculette française c'est ca ?
Sangohan38 le 07/10/2007 à 16:12
Oui, c'est sa.

Sangohan38
unknow le 08/10/2007 à 20:31
coc5 a écrit :

Gauche et droite, comme dans tout pong qui se respecte eyeonly.gif


LOOL


c'est vrai
mad67 le 10/10/2007 à 13:07
jai du mal le taper.
thibaut59850 le 10/10/2007 à 13:44
Salut,
Moi j'ai une 82Stats.fr et je ne trouve pas If not. Où je peux le trouver?
Mickael3813 le 10/10/2007 à 14:48
If not c'est égale à If nonLe If tu le trouves dans le catalogue [2nd]+[0] et nonc'est dans [math] fleche de droite et la tu y trouveras. godgrace.gif
thibaut59850 le 10/10/2007 à 15:14
OK merci!
Un autre petit truc getKey. Je trouve ça où? moodforlove.gif
Mickael3813 le 10/10/2007 à 15:31
En faite le programme est écrit en anglais et vu que les stats.fr sont en francais il faut trouver les traductions, je sais que sur un sujet ils avaient mis les traduction mais faut chercher mais t'inquiete pas il y en aura bien un qui va te repondre a cette question.
Sangohan38 le 10/10/2007 à 16:22
Alors désoler mais la traduction n'est pas totale mais va dans la section article et cherche traduction anglaise/française.
Tu trouvera que Getkey veut dire Codetouche.

Sangohan38
thibaut59850 le 10/10/2007 à 16:58
oki merci!!
thibaut59850 le 10/10/2007 à 17:38
dsl mé g encor un pti probléme.
je ne sais pas où est rand. moodforlove.gif moodforlove.gif moodforlove.gif
Stupid le 10/10/2007 à 17:39
maths droite droite droite entrer (nbraleat)
thibaut59850 le 10/10/2007 à 17:54
mon programme ne fonctionne pas. il me dit qu'il y a une erreur au niveau de:
out(Q,S,"
Quelqu'un peut-il me dire comment je dois faire pour faire fonctionner mon programme?
Merci d'avance
coc5 le 10/10/2007 à 20:22
C'est: Output(Q,S,"

Deux possiblités :
Ou c'est un Erreur "Domain", et c'est que tu as ma retranscris.

Ou alors, et c'est à mon avis le plus probable, tu n'as pas su qu'il fallait mettre un espace après le guillemet, et c'est normal vu qu'il ne se voit pas eyeonly.gif


Met donc un espace après le guillemet happy.gif
Mickael3813 le 10/10/2007 à 21:05
Moi il me met une faute dans cette formule : {1,8->dim([F]
Plus précisément ou c'est en gras.
coc5 le 10/10/2007 à 21:45
Parce que tu as tapé [ + F + ] je parie happy.gif

En fait, [F] est un "bloc". Par exemple, tu ne peux pas taper Output( avec des lettres sans que ça bug (si tu avais accès aux minuscules). Là c'est pareil, tu peux trouver [F] avec ce chemin (suite de touche) :

[MATRIX] + [6]
Mickael3813 le 10/10/2007 à 21:51
Ah ok merci pour les crochet il faut prendre les matrices moi j'utilisais les crochets. minied.gif merci pour ta réponse.
coc5 le 10/10/2007 à 21:55
A ton service, je suis déjà ravi que quelqu'un d'autre que moi utilise mon programme^^

J'ai finis la nouvelle version, je la mettrais en ligne ce week-end je pense happy.gif

Pour ceux (enfin celui minied.gif ) qui recopient à la main, je mettrais en gras les nouvelles lignes.
Mickael3813 le 10/10/2007 à 22:34
Autre problème, sur le tout dernier End il me mette qu'il y a une erreur pourquoi ? godgrace.gif
coc5 le 11/10/2007 à 16:53
Verifie que tu as bien tapé ces deux lignes (aux environ du premier tiers)

Code
Repeat K=22
Repeat not(Y


Sinon, essaye en enlevant le End mais bon bof
Mickael3813 le 11/10/2007 à 17:35
Ok minied.gif
thibaut59850 le 12/10/2007 à 16:25
Citation
Texte cité
mon programme ne fonctionne pas. il me dit qu'il y a une erreur au niveau de:
out(Q,S,"
Quelqu'un peut-il me dire comment je dois faire pour faire fonctionner mon programme?
Merci d'avance

c'est écrit erreur domaine
mad67 le 12/10/2007 à 17:19
tu as tout simplement mal mis tes variables.
coc5 le 12/10/2007 à 20:44
coc5 a écrit :
C'est: Output(Q,S,"

Deux possiblités :
Ou c'est un Erreur "Domain", et c'est que tu as ma retranscris.

Ou alors, et c'est à mon avis le plus probable, tu n'as pas su qu'il fallait mettre un espace après le guillemet, et c'est normal vu qu'il ne se voit pas eyeonly.gif


Met donc un espace après le guillemet happy.gif


J'ai modifié le code à recopier, tans pis pour les octets, comme ça c'est plus claire pour ceux qui n'ont pas de notions de programmation (Je n'avais pas pensé que les espaces ne se voyaient pas^^)
macwarrior le 17/10/2007 à 18:51
Salut tout le monde, j'ai un petit problem pour trouver ClrHome ... crazy.gif crazy.gif
J'avais lu de mettre prgm + sto + 8
mais cela me marquais pause, et le programme me le marquait encore comme erreur maxiangry.gif
Donc si quelqu'un pouvait me dire ou trouver l'équivalent de ClrHome sur ma Ti-82 Stats.fr, ca serait sympas

merci
Regedit le 17/10/2007 à 19:05
ClrHome = EffEcran
Tu fais prgm + fleche a droite + 8
macwarrior le 17/10/2007 à 19:44
Voilà, j'ai fait comme tu m'a dit, mais maintenant, le jeu "clignotte et en bas à gauche, je vois (4,4) et en haut à gauche (8,8 )...........
en haut, les = qui formant la barre sont au milieu de l'échan, alors, qu'un bas, les = sont tout à gauche, sur le (4,4)...... maxiangry.gif maxiangry.gif
Taper les jeux.......que des problems......si quelqu'un trouve le schéma du cable ti-usb, qu'il me passe le lien, pitié......... crazy.gif crazy.gif crazy.gif crazy.gif

Mais pendant ce "bug", si j'appuie sue entrer, la balle se lance, la calculette joue, mais ma barre à moi reste en bas à gauche, derrieèe le 4 et les fleches ne la font pas bouger...
coc5 le 17/10/2007 à 20:28
Tu m'as l'air de cumuler les bugs de réécriture^^

Primo, quand on parle de la fleche vers la droite, on ne parle pas de [sto] mais de la fleches à proprement parler, en haut à droite du clavier.

Ensuite, {4,4} est en fait en programmation la liste (de taille deux) des vies du joueur et de l'ordi. Tu as donc dû taper "L1" au lieu de de "L1(1"
(Dans le premier cas tu affiches la liste dans le deuxième le premier terme de la liste, autrement dit ta vie) happy.gif

Ensuite, d'après ce que j'ai compris, ta barrre s'affiche à la place de l'affichage normal de la liste (qui devrai afficher 4^^).
De plus, {8,8} est l'emplacement de la barre au début (ces valeurs ne changent -elles pas si tu appuies sur les flèches gauche ou droite ?)


En bref, il faut mieux retaper la zone des "Output( " que de la modifier. C'est comme les voitures, il arrive un moment où il faut mieux en racheter une neuve que de faire réparer la vielle winkle.gif


Pour le cable, si tu en as un je peux t'expliquer comment t'en servir, sinon ça s'achète sans trop de problème (Webmaster, ebay, etc...)
macwarrior le 18/10/2007 à 07:53
voilà, j'ai corrigé les L1(1 et alors, la, le jeu se lance et tout, mais impossible de faire bouger la barre du bas........
j'accumule les erreurs, mais c'est un peu la première fois que je tape à la main un jeu crazy.gif crazy.gif crazy.gif

Sinon, non, je n'ai pas de cable, mais je demandais si quelqu'un avait un schéma pour que je cré moi même celui-ci ( cable usb ) godgrace.gif godgrace.gif
coc5 le 18/10/2007 à 18:50
Regarde si tu as bien écris au niveau de la commande Getkey la commande qui renvoie le numéro de la touche appuyée)
Sinon, regarde aussi au niveau de l'affichage de ta barre, à cette ligne :

Citation
Ouptut(8,E,"===


Tu as peut-être mis 8 à la place de E.
exasky le 18/10/2007 à 19:44
moi il me marque erreur au niveau de " if V et E [inferieur ou egal]...ou A=1->C
c'est au niveau du "->" qui me marque erreur, quelqu'un pour m'aider ?? ^^
exasky le 18/10/2007 à 19:49
nn tt marche ^
mais seulement, l'AI n'arrive pas à toucher la balle.. elle la rate tt le temps
au bout de trois balles, lejeu s'arrete
et à la place ou il y a normalement les scores, ya marqué, en haut {8,2} et en bas {4,1}...
exasky le 19/10/2007 à 11:52
j'ai réussi à regler le programme des vies en hau t et en bas à gauche de l'ecran, mais l'AI continue d'esquiver les balles... Quelqu'un aurait une solution??
macwarrior le 24/10/2007 à 19:04
Salut tous, c'est encore moi, j'ai tout recopier en évitant les fautes que j'avais fait auparavant, mais j'en ai encore quelques-unes........ crazy.gif crazy.gif
alors...
1: quand je gagne, mon score double (ou presque; à 1-2 points prets) 4; 7; 13; 25; 49; ...... par contre, quand je perd, je ne perd qu'un point.....
2: si, avant de lancer la balle, je ne bouge pas, je gagne à chaque fois ( la balle part en haut à droite et la calculette n'arrive pas à l'attrapeer.....
3: à la fin de partie, quand je fait sauvegarder, ca me met erreur à la ligne :
[[A,B,E,F,L1(1)(1,L1(1)(2)DC->[F]
au niveau de -> (sto)
le [F] est bien matrice + 6
Le L est bien 2nde + 1

Voilà, vous avez de quoi réflechir..... godgrace.gif godgrace.gif
P.S: je pense qu'il y a pas mal de fautes dans la ligne, vous moquez pas de moi plz.... crazy.gif crazy.gif crazy.gif
@++++
coc5 le 24/10/2007 à 19:33
Pour le 1 et le 3 ton erreur vient du fait que tu as noté L1(1)(1) ou L1(1)(2
En effet il suffit de marquer L1(1) ou L1(2). happy.gif
Tu mets en faitdeux fois le nombre.
Mais peut-être est-ce mon explicatiàon qui n'est pas clair au dbut du code. Je ne sais pas trop comment est plus compréhensible eyeonly.gif

J'en profite pour dire que je viens de finir une amélioration de jeu, que je vais poster d'ici très peu.
Pour ceux qui n'ont pas envie de tout retaper, ne vous inquiétez pas je mettrais d'une couleur différente les changements happy.gif
macwarrior le 26/10/2007 à 17:02
Salut, c'est encore moi, j'ai corrigé ce que tu m'a dit, mais un problème persiste......: mon score ne change pas correctement, ils double encore........merci de m'aider à résoudre ce dernier problème...

Aussi, un autre problème crazy.gif crazy.gif quand je fait continuer, au début, il me marque une erreur dim invalide à la ligne :
[F](1,5),[F](1,6->L1(1)
au niveau de la fleche (sto)
voilà, c'est tout, merci de m'aider, @++ godgrace.gif godgrace.gif

Ah, je vien d'y penser, un autre bug....
quand la balle va dans le coin inferieur ou supperieur gauche, là ou il y a le score, que je touche ou pas la balle, une erreur domaine s'affiche à la ligne :
Output(A,B,"*
il me marque l'erreur juste après *

voilà, je pense que c'est bon eyeonly.gif eyeonly.gif eyeonly.gif
mad67 le 26/10/2007 à 17:31
apres avoir lu tout sa je n'ai qu'un mot revois ton prog coc5.
coc5 le 26/10/2007 à 19:16
Mais mon code MARCHE. Je viens de le retester, il n'y a aucun problème, c'est juste qu'il n'est pas forcément aisé à recopier vu que je prévilégie la moindre longueur du programme et la rapidité au dépit de sa lisibilité.

Citation
Aussi, un autre problème quand je fait continuer, au début, il me marque une erreur dim invalide à la ligne :
[F](1,5),[F](1,6->L1(1)

C'est simple : tu as oublié ce signe { au début ( avant le [F] )

Pour le doublage des points, tu as dû faire une erreur de recopiage dans cette zone :

Code
If A=9 or not(A
Then
1+not(A
[LISTE 1](Ans) - 1->[LISTE 1](Ans
If Ans
Goto D
Stop
End

A tout les coups pour [LISTE 1](Ans) tu as dû mettre L1(1)(Ans) alors qu'il faudrait marquer L1(Ans)

Pour le dernier hélas... l'erreur peut être n'importe où dans le code...


Mais l'erreur ne vient pas de mon code, je le répète je l'ai testé !

Je vais poster la nouvelle version ce soir donc pas de panique happy.gif
macwarrior le 26/10/2007 à 19:50
Ne t'énerve pas crazy.gif crazy.gif crazy.gif je vais attendre que tu mette la nouvelle version, puis, je recopirai tout godgrace.gif godgrace.gif godgrace.gif
@+++
coc5 le 26/10/2007 à 20:09
Je ne m'énervais pas^^
-> dernière version posté happy.gif
->Désolé Sangho j'avais pas fait attention
Sangohan38 le 26/10/2007 à 21:20
On peut éditer ces messages pour éviter les doubles posts.

Sangohan38
macwarrior le 27/10/2007 à 08:43
Salut tout le monde, vous devez etre en vacance.....moi, j'ai court ce matin...mais en attendant, je vais recopier la nouvelle version du jeu, elle a l'air beaucoup mieu crazy.gif crazy.gif crazy.gif !!!
bon, allè, bonne journée à tous, et bonne vacances!! godgrace.gif godgrace.gif
macwarrior le 04/11/2007 à 17:21
Vous allez m'en vouloir, mais j'ai encore des problems...
La balle ne s'éfface pas après son passage.........pareil pour les "barres", mais sinon, l'IA est largement mieu!! elle est plus rapide et tout.....
voilà pour mon problème, j'espère que vous aurez le courrage de m'aider....encore^^
@+++