Forum

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

Squar0 ( cette fois 100% moi :p )

Monstercrunch le 13/02/2010 à 19:48
Voici le jeu Squar0, pour les règles et jouer enligne vous pouvez aller ici : http://www.squaro.fr/regles.php

Voici le 83p de ma version : http://www.mediafire.com/?2wte2moewt0

Maintenant mon code :

Code
Lbl R
1->X
For(X,1,16
0->L5(X):End
Effecr
Menu("     SQUARO     ","FACILE",F,"MOYEN",M,"QUITTER",QU
Lbl QU:Stop
Lbl F
Menu("     FACILE     ","RETOUR",R,"G1",F1,"G2",F2,"G3",F3,"G4",F4,"G5",F5,"PLUS",FP
Lbl FP
Menu("     FACILE     ","RETOUR",R,"G7",F7,"G8",F8,"G9",F9,"G10",F0
Lbl F1
2->A:1->B:3->C:1->D
1->E:2->F:0->G:2->H
2->I:1->J:Goto PL
Lbl F2
2->A:1->B:1->C:0->D
1->E:1->F:1->G:3->H
2->I:2->J:Goto PL
Lbl F3
3->A:4->B:2->C:4->D
3->E:1->F:4->G:3->H
2->I:3->J:Goto PL
Lbl F4
3->A:4->B:4->C:3->D
3->E:4->F:1->G:2->H
4->I:4->J:Goto PL
Lbl F5
1->A:1->B:2->C:1->D
2->E:1->F:2->G:1->H
0->I:5->J:Goto PL
Lbl F6
2->A:4->B:4->C:3->D
3->E:2->F:2->G:1->H
0->I:6->J:Goto PL
Lbl F7
1->A:2->B:1->C:0->D
1->E:2->F:1->G:3->H
3->I:7->J:Goto PL
Lbl F8
1->A:2->B:3->C:0->D
0->E:1->F:0->G:1->H
1->I:8->J:Goto PL
Lbl F9
2->A:2->B:1->C:2->D
2->E:1->F:0->G:2->H
2->I:9->J:Goto PL
Lbl F0
1->A:1->B:3->C:2->D
1->E:1->F:4->G:3->H
1->I:10->J:Goto PL
Lbl M
Menu("      MOYEN     ","RETOUR",R,"G1",M1,"G2",M2,"G3,M3,"G4",M4,"G5",M5
Lbl M1
1->A:3->B:3->C:1->D
1->E:2->F:2->G:2->H
3->I:1->J:Goto PL
Lbl M2
2->A:3->B:2->C:1->D
1->E:2->F:2->G:1->H
3->I:2->J:Goto PL
Lbl M3
2->A:1->B:2->C:3->D
3->E:2->F:1->G:3->H
3->I:3->J:Goto PL
Lbl M4
1->A:1->B:2->C:1->D
2->E:1->F:1->G:1->H
1->I:4->J:Goto PL
Lbl M5
3->A:3->B:2->C:1->D
3->E:3->F:2->G:2->H
1->I:5->J:Goto PL
Lbl PL
Effecr
Output(3,1,"SQUARO
Output(5,1,"GRILLE
Output(5,7,J
3->X
Repeat X>ou=8
Output(X,10,"! ! ! !"
X+2->X
End
2->X
Repeat X>ou=9
Output(X,10,"O O O O"
X+2->X
End
11->X:2->Y
Repeat Y>ou=9
Repeat X>ou=16
Output(Y,X,"-
X+2->X:End
Y+2->Y:11->X:End
Output(3,11,A
Output(3,13,B
Output(3,15,C
Output(5,11,D
Output(5,13,E
Output(5,15,F
Output(7,11,G
Output(7,13,H
Output(7,15,I
16->dim(L5:1->X:For(X,1,16:0->L5(X)
End
0->Z:2->U:10->V
Lbl CU
Output(U,9," "
Output(1,V," "
codetouche->K
If K=24 et V>11
V-2->V
If K=26 et V<15
V+2->V
If K=25 et U>3
U-2->U
If K=34 et U<7
U+2->U
Output(U,9,">"
Output(1,V,"!"
40!
If K=105:Goto RE
If K=14:Goto RN
Goto CU
Lbl RN
If U=2 et V=10
1->X
If U=2 et V=12
2->X
If U=2 et V=14
3->X
If U=2 et V=16
4->X
If U=4 et V=10
5->X
If U=4 et V=12
6->X
If U=4 et V=14
7->X
If U=4 et V=16
8->X
If U=6 et V=10
9->X
If U=6 et V=12
10->X
If U=6 et V=14
11->
If U=6 et V=16
12->X
If U=8 et V=10
13->X
If U=8 et V=12
14->X
If U=8 et V=14
15->X
If U=8 et V=16
16->X
1->L5(X):Output(U,V,"ø"          <--- zéro
0->K:Goto CU
End
Lbl RE
Menu("     SQUARO     ","RETOUR AU JEU",PW,"RECOMMENCER",PL,"CORRIGER",CO,"CHANGER G.",R
Lbl PW
0->K:Goto CU
Lbl CO
If A=L5(1)+L5(2)+L5(5)+L5(6) et B=L5(2)+L5(3)+L5(6)+L5(7) et C=L5(3)+L5(4)+L5(7)+L5(8) et D=L5(5)+L5(6)+L5(9)+L5(10) et E=L5(6)+L5(7)+L5(10)+L5(11) et F=L5(7)+L5(8)+L5(11)+L5(12) et G=L5(9)+L5(10)+L5(13)+L5(14) et H=L5(10)+L5(11)+L5(14)+L5(15) et I=L5(11)+L5(12)+L5(15)+L5(16):Then
Effecr:Output(5,2,"C EST JUSTE!"
Pause:Goto R
Else
Effecr:Output:(5,3,"C EST FAUX!"
Pause
Menu("     SQUARO     ","RECOMMENCER",PL,"CHANGER G.",R
End


Voilà glasses.gif ! Pour les commandes c'est les fleches directionnelles, [trace] pour colorier un rond et [enter] pour les autres option ( recommencer, retour, corriger...)

Je compte sur vous pour me donner vos avis !
Sangohan38 le 13/02/2010 à 20:26
Tiens ça me rappel que j'en avais fait un de squaro.

Sinon du peu que j'ai vu du programme ça à l'air raccourcissable:

Code
Lbl R
1->X
For(X,1,16
0->L5(X):End
Effecr
Menu("     SQUARO     ","FACILE",F,"MOYEN",M,"QUITTER",QU
Lbl QU:Stop
Lbl F
Menu("     FACILE     ","RETOUR",R,"G1",F1,"G2",F2,"G3",F3,"G4",F4,"G5",F5,"PLUS",FP
Lbl FP
Menu("     FACILE     ","RETOUR",R,"G7",F7,"G8",F8,"G9",F9,"G10",F0
Lbl F1
2->A:1->B:3->C:1->D
1->E:2->F:0->G:2->H
2->I:1->J:Goto PL
Lbl F2
2->A:1->B:1->C:0->D
1->E:1->F:1->G:3->H
2->I:2->J:Goto PL
Lbl F3
3->A:4->B:2->C:4->D
3->E:1->F:4->G:3->H
2->I:3->J:Goto PL
Lbl F4
3->A:4->B:4->C:3->D
3->E:4->F:1->G:2->H
4->I:4->J:Goto PL
Lbl F5
1->A:1->B:2->C:1->D
2->E:1->F:2->G:1->H
0->I:5->J:Goto PL
Lbl F6
2->A:4->B:4->C:3->D
3->E:2->F:2->G:1->H
0->I:6->J:Goto PL
Lbl F7
1->A:2->B:1->C:0->D
1->E:2->F:1->G:3->H
3->I:7->J:Goto PL
Lbl F8
1->A:2->B:3->C:0->D
0->E:1->F:0->G:1->H
1->I:8->J:Goto PL
Lbl F9
2->A:2->B:1->C:2->D
2->E:1->F:0->G:2->H
2->I:9->J:Goto PL
Lbl F0
1->A:1->B:3->C:2->D
1->E:1->F:4->G:3->H
1->I:10->J:Goto PL
Lbl M
Menu("      MOYEN     ","RETOUR",R,"G1",M1,"G2",M2,"G3,M3,"G4",M4,"G5",M5
Lbl M1
1->A:3->B:3->C:1->D
1->E:2->F:2->G:2->H
3->I:1->J:Goto PL
Lbl M2
2->A:3->B:2->C:1->D
1->E:2->F:2->G:1->H
3->I:2->J:Goto PL
Lbl M3
2->A:1->B:2->C:3->D
3->E:2->F:1->G:3->H
3->I:3->J:Goto PL
Lbl M4
1->A:1->B:2->C:1->D
2->E:1->F:1->G:1->H
1->I:4->J:Goto PL
Lbl M5
3->A:3->B:2->C:1->D
3->E:3->F:2->G:2->H
1->I:5->J:Goto PL
Lbl PL
Effecr
Output(3,1,"SQUARO
Output(5,1,"GRILLE
Output(5,7,J
3->X
Repeat X>ou=8
Output(X,10,"! ! ! !"
X+2->X
End
2->X
Repeat X>ou=9
Output(X,10,"O O O O"
X+2->X
End
11->X:2->Y
Repeat Y>ou=9
Repeat X>ou=16
Output(Y,X,"-
X+2->X:End
Y+2->Y:11->X:End
Output(3,11,A
Output(3,13,B
Output(3,15,C
Output(5,11,D
Output(5,13,E
Output(5,15,F
Output(7,11,G
Output(7,13,H
Output(7,15,I
16->dim(L5:1->X:For(X,1,16:0->L5(X)
End
0->Z:2->U:10->V
Lbl CU
Output(U,9," "
Output(1,V," "
codetouche->K
If K=24 et V>11
V-2->V
If K=26 et V<15
V+2->V
If K=25 et U>3
U-2->U
If K=34 et U<7
U+2->U
Output(U,9,">"
Output(1,V,"!"
40!
If K=105:Goto RE
If K=14:Goto RN
Goto CU
Lbl RN
If U>2 et U<8 et V>10 et V<16 et fpart((V+U)/2)=0
2U-4+int(.1V)+5fpart(.1V)->X
1->L5(X):Output(U,V,"ø"          <--- zéro
0->K:Goto CU
End
Lbl RE
Menu("     SQUARO     ","RETOUR AU JEU",PW,"RECOMMENCER",PL,"CORRIGER",CO,"CHANGER G.",R
Lbl PW
0->K:Goto CU
Lbl CO
If A=L5(1)+L5(2)+L5(5)+L5(6) et B=L5(2)+L5(3)+L5(6)+L5(7) et C=L5(3)+L5(4)+L5(7)+L5(8) et D=L5(5)+L5(6)+L5(9)+L5(10) et E=L5(6)+L5(7)+L5(10)+L5(11) et F=L5(7)+L5(8)+L5(11)+L5(12) et G=L5(9)+L5(10)+L5(13)+L5(14) et H=L5(10)+L5(11)+L5(14)+L5(15) et I=L5(11)+L5(12)+L5(15)+L5(16):Then
Effecr:Output(5,2,"C EST JUSTE!"
Pause:Goto R
Else
Effecr:Output:(5,3,"C EST FAUX!"
Pause
Menu("     SQUARO     ","RECOMMENCER",PL,"CHANGER G.",R
End


Sangohan38
Monstercrunch le 13/02/2010 à 21:04
Mon niveau me permet pas de comprendre ce que tu as amélioré:
Citation
If U>2 et U<8 et V>10 et V<16 et fpart((V+U)/2)=0
2U-4+int(.1V)+5fpart(.1V)->X

peut tu expliquer ?
sypotu le 14/02/2010 à 08:16
Moi je dirais plutôt :
Code
If U>3 et U<9 et V>9 et V<17 et fpart(V/2)=0 et fpart(U/2)=0
2U-3+5fpart(.1V)->X


U>3 et U<9 et V>9 et V<17 car il faut que U soit compris entre 3 et 9 et V entre 9 et 17

fpart(U/2)=0 et fpart(V/2)=0 car il faut que U et V soient pair => lorsqu'ils sont divisés par 2 leur partie decimale soit éguale à 0 ( fpart((U+V)/2)=0 ne marche pas car la condition est vérifié si U et V sont impairs )

Pour la suite teste dans tous les cas et tu verras que ça marche ^^
Monstercrunch le 14/02/2010 à 15:42
Je ne doute pas sur le fait que ça marche, c'était juste pour comprendre, et si vous pouvier détailler les fonction que vous avez utilisé comme fpart( et int(
sypotu le 14/02/2010 à 16:36
ouai mais je sais pas trop expliquer
il y a sûrement une technique en maths pour trouver les équation à deux inconnus, mais je ne la connais pas alors moi je part un peu au hasard quand je dois trouver un truc comme ça (là j'ai repris celui de sangohan minied.gif )

fpart(
= partDéc( en francais c'est la partie décimale ^^
int = ent( en français c'est la partie entiere loupe.gif

Quelqun connait la différence entre ent( et partEnt( ???


P.S: Fait nous un .83p de ton jeu winkle.gif
Monstercrunch le 14/02/2010 à 17:31
Je viens de faire un 83p avec le code de sangohan et j'ai un erreur dim in valide au niveau de sa modification, je vais donc faire le 83p avec mon code. J'éditerai le lien.
Sangohan38 le 14/02/2010 à 23:21
Vu que ma modification ne touche pas aux dimension, l'erreur doit venir de la version d'origine.

Sangohan38
Monstercrunch le 15/02/2010 à 02:50
Si tu as le temps, vas voir sur le tchat, j'ai relevé des erreurs qui ne vienne pas de mon programme originaire.
Sangohan38 le 15/02/2010 à 09:56
Pourtant ce bout de code pris seul marche totalement, j'ai réessayer avec un disp pour afficher la valeur de X et elle se modifie correctement.

Sangohan38
Monstercrunch le 15/02/2010 à 15:53
Voici le 83p de ma version : http://www.mediafire.com/?2wte2moewt0

Normalement elle marche, si vous trouvez des bugg signalez les.
titozzz le 15/02/2010 à 15:59
Ca marche le 83p j'ai essayé avec Vti bigmouth.gif
sypotu le 15/02/2010 à 16:59
Ca marche super bien !
C'est vraiment un bon jeu ! bigmouth.gif
Monstercrunch le 15/02/2010 à 23:39
Il me semble qu'une grille est infaisable en "facile", si pouviez me la trouver ça serai sympa ^^
Sangohan38 le 15/02/2010 à 23:50
Juste pour savoir, les grilles sont pré enregistrée où sont générées aléatoirement?

Sangohan38
sypotu le 16/02/2010 à 00:00
elles sont pré enregistrées
laquelle monster crunch ?