Forum

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

Puissance 4 by the K !

The K le 18/03/2012 à 20:15
Et voila ma version du puissance 4 ... version graphique actuellement sans vérification de victoires ! (mais très joli graphique pour compenser !). Le tout tient en 1550 octets actuellement, mais il doit y avoir moyen d'améliorer ça ... n'hésitez pas, une remarque, une question ... happy.gif


Version 1.3 avec vérification de victoire en téléchargement :
Pour TI 82-stats / 83 (.83G) : http://www.mediafire.com/?c21ua7agoabllgs
Pour TI 83+ / 84+ / 84pocket (.8xp) : http://www.mediafire.com/?gdmsbzu4d7wjyqe


Dans le code, l'antislash ( \ ) représente le petit L du menu liste / ops / B.

Code
SauveBDG 1
AxesNAff
Fonc
FonctNAff
94ü ( ) Xmax
0ü ( ) Xmin
0ü ( ) Ymin
62ü ( ) Ymax
Lbl 0
EffDessin
"PUISSANCE4 BY THE Kü ( ) Chaine1
Cercle(8,31,6
Ligne(80,36,92,24
Ligne(92,36,80,24
EffVar C
For(A,0,54,3
partEnt(5A/3ü ( ) B
C+1ü ( ) C
If C[inférieur ou égal à]19
Texte(A+1,B+1,sous-chaine(Chaine1,C,1
End
Ligne(5,62,94,9
Ligne(0,53,88,0
Texte(2,49,"2 JOUEURS
Texte(10,49,"CONTRE LA M.
Texte(46,6,"A PROPOS ...
Texte(54,6,"QUITTER
2ü ( ) A:45ü ( ) B
EffVar G
Repeat G
CodeToucheü ( ) K
Texte(A,B,"   
A-8(K=25 and A>2)+8(K=34 and A<54ü ( ) A
Texte(A,B,">
If A=38:Then
Texte(A,B,"   
10ü ( ) A
45ü ( ) B
End
If A=18:Then
Texte(A,B,"   
46ü ( ) A
2ü ( ) B
End
If K=105
1ü ( ) G
End
EffVar H
If A=2
Goto 1
If A=10
Goto 2
If A=54
Goto 4
EffDessin
Texte(2,1,"A PROPOS :
Texte(15,1,"PROGRAMME FAIT PAR THE K
Texte(25,1,"ACHEVE LE 18/03/2012
Texte(35,1,"UN PROBLEME ? UNE AMELIO.?
Texte(45,1,"HTTP://WWW.TOUT82.FREE.FR
Texte(55,1,"(VERSION 1.3)
Pause
Goto 0
Lbl 2
1ü ( ) H
Lbl 1
1ü ( ) G
EffDessin
Texte(55,4,"1      2      3      4      5      6      7
For(A,0,70,10
Verticale A
End
EffVar JEffVar A70ü ( ) B
Ligne(0,A,0,B
For(C,8,62,9
Ligne(A,C,B,C
End
Ligne(A,A,B,A
7ü ( ) dim(\P4                    // le symbole \ est égal au petit l du menu liste
Remplir(6,\P4
If H
Texte(35,74,"TEMPS
2000ü ( ) M
{6,7ü ( ) dim([A]
While non(G                 
Jü ( ) I
1+Jü ( ) J
If J=3
1ü ( ) J
If non(C
Iü ( ) J
Texte(15,80,"J",J
Repeat K
getKeyü ( ) K
EffVar C
If H:Then
Texte(45,76,M
M-1ü ( ) M
If non(M
1ü ( ) G
1ü ( ) K
End
If K=92 et \P4(1
1ü ( ) C
If K=93 et \P4(2
2ü ( ) C
If K=94 et \P4(3
3ü ( ) C
If K=82 et \P4(4
4ü ( ) C
If K=83 et \P4(5
5ü ( ) C
If K=84 et \P4(6
6ü ( ) C
If K=72 et \P4(7
7ü ( ) C
If K=45
1ü ( ) G
If C:Then
\P4(Cü ( ) D                               
Jü ( ) [A](D,C
7-Dü ( ) Q
If J=2:Then
Ligne(10C-8,6+9Q,10C-2,1+9Q
Ligne(10C-8,1+9Q,10C-2,6+9Q
Else
Cercle(10C-5,3.5+9Q,2.5
Pt-NAff(10C-2,4+9Q
End
D+3ü ( ) V
If Dù ( ) 4:6ü ( ) V
C-3ü ( ) W
If C<4:1ü ( ) W
EffVar L
For(X,0,6
If W+X<8:Then
If [A](D,W+X)=[A](D,C:Then
L+1ü ( ) L
Else
EffVar L
End
End
End
If Lù ( ) 4
2ü ( ) G
EffVar L
For(X,0,6
If W+X<8 and V-X>0:Then
If [A](V-X,W+X)=[A](D,C):Then
L+1ü ( ) L
If Lù ( ) 4
2ü ( ) G
Else
EffVar L
End
End
End
EffVar L
For(X,0,3
If V<7:Then
If [A](V-X,C)=[A](D,C:Then
L+1ü ( ) L
If Lù ( ) 4
2ü ( ) G
Else
EffVar L
End
End
End
EffVar L
C+3ü ( ) W
If C>4
7ü ( ) W
For(X,0,6
If W-X>0 and V-X>0:Then
If [A](V-X,W-X)=[A](D,C:Then
L+1ü ( ) L
If Lù ( ) 4
2ü ( ) G
Else
EffVar L
End
End
End
D-1ü ( ) \P4(C
End
End
End
EffVar L
For(B,0,31
Horizontale B
Verticale B
Horizontale 62-B
Verticale 94-B
End
EffDraw
If G=1
Texte(28,30,"GAME OVER !
If G=2
Texte(20,30,"JOUEUR",J,"A GAGNE !
EffVar KRepeat K
CodeToucheü ( ) K
End
Lbl 4
EffVar [A]EffVar Chaine1RappelBDG 1
Output(1,1,"
tapenad le 18/03/2012 à 20:29
il a l'air bien mais gros, je vais attendre le lien godgrace.gif
sandro le 18/03/2012 à 20:46
Deux question :
elle y est l'IA? car tu en parle dans le menu mais je ne la voie pas dans le code
-c'est exprès que tu faits un menu perso plutôt que d'utiliser la fonction menu( ?

Sandro
The K le 18/03/2012 à 21:04
C'est vrai qu'il est pas léger. Mais j'ai fait un menu personnalisé léché ! godgrace.gif qui doit bien prendre 400 octets au moins. Voila. mais il vaut le coup d'oeil ! J'ai même réussi à donner l'illusion de faire apparaître des niveau de gris en TI-basic (illusion seulement hein ^^).

Sandro : non, il n'y a pas d'IA, pas de trace dans le programme. L'option contre la montre dans le menu est juste le mode 2 joueurs avec un compteur, et le jeu s'arrête que le compteur est à zéro.
linkakro le 18/03/2012 à 21:06
Bizarre je ne voie pas non plus de test de victoire : Je ne voie ni matrice ni pxltest.

Certains veulent rester graphiques jusqu'au bout, il n'y a qu'à voir ma discussion avec programmath pour les menus graphiques. (ici)
Moi je n'en suis pas adepte jusqu'à présent.
The K le 18/03/2012 à 21:12
Pour l'instant je l'ai fait sans test de victoire (mais je travaille dessus !). d'où la suppression de la matrice winkle.gif

Pour le menu graphique ben faut bien que mon programme ait un intérêt non ? (et puis il est pas mal !).

(j'ai upload les liens)
Persalteas le 18/03/2012 à 21:23
Quand le TI-Concours sera passé, je pourrai te donner une super technique que j'ai trouvée pour faire ce genre de test de vérification. winkle.gif

(En supposant que tu gardes la matrice)
The K le 18/03/2012 à 21:35
Il finit pas de suite happy.gif j'essaierai de faire une vérif' moi-même (ou avec papa informaticien, à voir minied.gif )

Mais oui je garde la matrice. Je visualise pas suffisamment le programme avec des listes ou autre pixels-test winkle.gif

(la traduction en français-basic est prête !)
Persalteas le 19/03/2012 à 11:47
ça va déchirer du poney rose.
The K le 19/03/2012 à 19:10
Bien ! La vérification de victoire est prête, et fonctionne (sauf dans certains cas particuliers à savoir alignement de 5 cases en diagonale - si qqun a une idée ...) ! bigmouth.gif

Ça déchire du poney rose nan ? ou d'la TI-87 gold edition rose à points verts et dorés. A voir. laugh.gif

Reste l'optimisation, que j'essaierai de faire pour la fin de semaine au moins. Pareil, si vous avez des conseils, lâchez-vous j'vous en serai reconnaissant winkle.gif
Persalteas le 20/03/2012 à 09:09
Citation
Pareil, si vous avez des conseils, lâchez-vous j'vous en serai reconnaissant


là, c'est ce qu'on sait faire de mieux... winkle.gif