| Sudoku |
| Auteur |
Message |
Sangohan38
Autorisation : Membre
Nb de messages : 3293
Inscrit le : Sam 31 Déc 2005, 19:48
|
Posté le : Mer 14 Mar 2007, 15:01
|
|
|
Voici un jeu de sudoku.
Il ne génère pas les grilles mais, en choisis une (pour l'instant, il y en as 5) et choisis des nombres permettant ainsi de créer de nouvelles grilles.
Le -> est la touche [STO] au dessus de [ON]
[THETA] est le rond barré c'est à dire [ALPHA]+3
Le [DIFFERNET DE] indique la touche du égal barré c'est à dire [2nd]+[TEST]+2
Ce programme sera surement modifié dans les prochains jours donc, indiqués tous bug ou idées à propos de celui-ci.
| Code | ClrDraw
0->Xmin
94->Xmax
0->Ymin
62->Ymax
GridOff
AxesOff
Horizontal 0
Horizontal 62
Vertical 0
Vertical 94
For(A,1,7
Text(10,A," SANGOHAN38
End
For(A,1,10
Text(A,53," PRESENTE:
End
For(A,1,35
Text(35,A," SUDOKU
End
Text(55,28,"VERSION 1.0
Pause
Lbl Z
Menu("SUDOKU","GRILLE FACILE",A,"GRILLE MOYENNE",B,"GRILLE DUR",C,"CONTINUER",D,"INSTRUCTIONS",E,"QUITTER",F
Lbl F
ClrHome
ClrDraw
Output(1,1," "
Stop
Lbl A
50->J
Goto 0
Lbl B
40->J
Goto 0
Lbl C
30->J
Goto 0
Lbl D
ClrDraw
1->Xmin
95->Xmax
1->Ymin
63->Ymax
RecallPic Pic1
Goto 4
Lbl E
0->Xmin
94->Xmax
0->Ymin
62->Ymax
Text(1,1,"LE BUT DE CE JEU EST DE
Text(8,1,"REMPLIRE LA GRILLE AVEC
Text(15,1,"LES CHIFFRES ALLANT DE
Text(22,1,"1 A 9 SANS QU IL Y EST
Text(29,1,"DEUX FOIS LE MEME CHIFFRE
Text(36,1,"SUR LA MEME LIGNE, COLONNE
Text(43,1,"OU LA MEME CELULE.
Pause
ClrDraw
Goto Z
Lbl 0
1->Xmin
95->Xmax
1->Ymin
63->Ymax
ClrDraw
int rand51->X
Text(24,6,"LIGNE:
Text(31,1,"COLONNE:
Line(26,62,90,62
Line(31,1,"COLONNE:
Line(36,62,90,62
Line(36,42,90,42
Line(36,22,90,22
Line(36,2,90,2
Line(36,62,36,2
Line(54,62,54,2
Line(72,62,72,2
Line(90,62,90,2
If X=1:8.29146537->A
If X=1:7.43285196->B
If X=1:6.15793284->C
If X=1:4.82517963->D
If X=1:1.56938742->E
If X=1:3.97624851->F
If X=1:5.31862479->G
If X=1:2.74359618->H
If X=1:9.68471325->I
If X=2:8.19365274->A
If X=2:7.45281963->B
If X=2:2.36974581->C
If X=2:4.21758639->D
If X=2:9.58643127->E
If X=2:3.67192458->F
If X=2:6.74539812->G
If X=2:1.93826745->H
If X=2:5.82417396->I
If X=3:1.57649832->A
If X=3:4.38572961->B
If X=3:2.96183547->C
If X=3:8.29437615->D
If X=3:3.15268479->E
If X=3:6.74915283->F
If X=3:7.82396154->G
If X=3:9.61854328->H
If X=3:5.43821796->I
If X=4:9.34165278->A
If X=4:7.61289354->B
If X=4:8.25437169->C
If X=4:2.96371485->D
If X=4:5.83924617->E
If X=4:1.47856932->F
If X=4:3.58692741->G
If X=4:6.12748593->H
If X=4:4.79513826->I
If X=5:2.89135476->A
If X=5:4.17629538->B
If X=5:6.35874192->C
If X=5:1.24587369->D
If X=5:8.53496721->E
If X=5:9.76312845->F
If X=5:5.48963217->G
If X=5:7.61248953->H
If X=5:3.92751684->I
1->X
38->Z
2->[THETA]
1->R
ClrList L1,L4
81->dim L1
81->dim L3
81->dim L4
Lbl 1
int A->L3(X
A-int A->A
10A->A
int B->L3(X+9
B-int B->B
10B->B
int C->L3(X+18
C-int C->C
10C->C
int D->L3(X+27
D-int D->D
10D->D
int E->L3(X+36
E-int E->E
10E->E
int F->L3(X+44
F-int F->F
10F->F
int G->L3(X+54
G-int G->G
10G->G
int H->L3(X+63
H-int H->H
10H->H
int I->L3(X+72
I-int I->I
10I->I
X+1->X
If A=0:Goto 2
Goto 1
Lbl 2
int rand81+1->C
If L3(C)=L1(C):Goto 2
L3(C)->L1(C
L3(C)->L4(C)
J-1->J
If J=0:Goto 3
5->V
5->W
41->A
Goto 2
Lbl 3
If L4(R)[DIFFERENT DE]0:Text([THETA],Z,L4(R
Z+5->Z
R+1->R
If R=4 or R=7 or R=13 or R=16 or R=22 or R=25 or R=31 or R=34 or R=40 or R=43 or R=49 or R=52 or R=58 or R=61 or R=67 or R=70 or R=76 or R=79:Z+3->Z
If R=28 or R=55:[THETA]+2->[THETA]
If R=10 or R=19 or R=28 or R=37 or R=46 or R=55 or R=64 or R=73:Then:[THETA]:38->Z
End
If R=82:Goto 4
Goto 3
Lbl 4
Text(24,28,W
Text(31,31,V
getkey->K
If K=24 and V-1>0:A-1->A
If K=26 and V+1<10:A+1->A
If K=24 and V-1>0:V-1->V
If K=26 and V+1<10:V+1->V
If K=25 and A-9>0:W-1->W
If K=34 and A+9<82:W+1->W
If K=34 and A+9<82:A+9->A
If K=25 and A-9>0:A-9->A
If K=105:Goto 6
If K=23:0->L1(A
If K=92:1->L1(A
If K=93:2->L1(A
If K=94:3->L1(A
If K=82:4->L1(A
If K=83:5->L1(A
If K=84:6->L1(A
If K=72:7->L1(A
If K=73:8->L1(A
If K=74:9->L1(A
If K=45:Goto G
If L4(A)[DIFFERENT DE]0:L4(A)->L1(A
If K[DIFFERENT DE]0:Goto 5
Goto 4
Lbl 5
If W=1:2->[THETA]
If W=2:8->[THETA]
If W=3:14->[THETA]
If W=4:22->[THETA]
If W=5:28->[THETA]
If W=6:34->[THETA]
If W=7:42->[THETA]
If W=8:48->[THETA]
If W=9:54->[THETA]
If V=1:38->Z
If V=2:43->Z
If V=3:48->Z
If V=4:56->Z
If V=5:61->Z
If V=6:66->Z
If V=7:74->Z
If V=8:79->Z
If V=9:84->Z
If L1(A)[DIFFERENT DE]0:Text([THETA],Z,L1(A
If L1(A)=0:Text([THETA],Z," "
Goto 4
Lbl G
StorePic Pic1
Menu("PAUSE:","CONTINUER",D,"INSTRUCTIONS",E,"QUITTER",F
Lbl 6
0->F
Lbl 7
StorePic Pic1
F+1->F
If F=82:Goto 9
If L1(F)=L3(F):Goto 7
ClrDraw
Text(25,10,"TA GRILLE A DES ERREURS.
Pause
Goto D
Lbl 9
ClrDraw
Text(25,15,"TA GRILLE EST JUSTE.
Pause
Goto Z |
Sangohan38
|
 |
|
| |
mad67
Autorisation : Membre
Nb de messages : 613
Inscrit le : Sam 23 Jui 2007, 14:05
|
Posté le : Mer 14 Mar 2007, 16:14
|
|
|
tu ne lupload pas sa m'arrangerais bcp
|
 |
|
| |
Sangohan38
Autorisation : Membre
Nb de messages : 3293
Inscrit le : Sam 31 Déc 2005, 19:48
|
Posté le : Jeu 15 Mar 2007, 13:16
|
|
|
Je l'ai recopier à partir d'un ordi de mon lycée où les téléchargements sont interdis donc, il n'y aura pas de lien avant samedi.
Sangohan38
|
 |
|
| |
Stupid
Autorisation : Membre
Nb de messages : 765
Inscrit le : Jeu 28 Sep 2006, 18:42
|
Posté le : Jeu 15 Mar 2007, 13:43
|
|
|
les lois sont faites pour etre brisés...
|
 |
|
| |
Google_AdSense
|
Publicité
|
|
|
|
| |
Sangohan38
Autorisation : Membre
Nb de messages : 3293
Inscrit le : Sam 31 Déc 2005, 19:48
|
Posté le : Jeu 15 Mar 2007, 16:00
|
|
|
Oui mais la, c'est vraiment pas possible.
Sangohan38
|
 |
|
| |
mad67
Autorisation : Membre
Nb de messages : 613
Inscrit le : Sam 23 Jui 2007, 14:05
|
Posté le : Sam 17 Mar 2007, 17:09
|
|
|
Si il marche très bien je t'éli meilleur programmeur du site!!j'ai essayé d'en faire un j'ai pas réussi!!
Merci de mettre les accents pour que l'on comprenne ce que tu veut dire.
|
 |
|
| |
Sangohan38
Autorisation : Membre
Nb de messages : 3293
Inscrit le : Sam 31 Déc 2005, 19:48
|
Posté le : Sam 17 Mar 2007, 17:58
|
|
|
Non en fait, c'est basique mais il fallait y penser.
Pour le lien, faudra attendre car j'ai actuellement plus du tout de calculatrice.
Sangohan38
|
 |
|
| |
mad67
Autorisation : Membre
Nb de messages : 613
Inscrit le : Sam 23 Jui 2007, 14:05
|
Posté le : Dim 18 Mar 2007, 18:37
|
|
|
fort et modeste en plus tu est bcp plus fort que ratuss car sudoku c dur a realiser
|
 |
|
| |
Sangohan38
Autorisation : Membre
Nb de messages : 3293
Inscrit le : Sam 31 Déc 2005, 19:48
|
Posté le : Lun 19 Mar 2007, 12:45
|
|
|
Le tout c'est de réflèchir.
Et puis, je n'aime pas être comparer à Ratuss car il à fait des choses que je n'ai pas fait.
Sangohan38
PS: Pas de langage SMS.
|
 |
|
| |
Jcotnys
Autorisation : Membre
Nb de messages : 178
Inscrit le : Lun 20 Mar 2006, 13:28
|
Posté le : Lun 19 Mar 2007, 16:38
|
|
|
bravo, jvé voir ce ke ca donne moi...
c normal les nombres décimaux qui définissent A, B, C etc...???
---------------------- le travail c la santé  |
 |
|
| |
Sangohan38
Autorisation : Membre
Nb de messages : 3293
Inscrit le : Sam 31 Déc 2005, 19:48
|
Posté le : Lun 19 Mar 2007, 17:04
|
|
|
Oui, les nombres décimaux sont les différentes lignes de la grille.
Ainsi, on a 10 variables.
Sangohan38
|
 |
|
| |
mad67
Autorisation : Membre
Nb de messages : 613
Inscrit le : Sam 23 Jui 2007, 14:05
|
Posté le : Lun 19 Mar 2007, 18:11
|
|
|
bravo quand meme tu peux m'expliquer comment tu as fait?
|
 |
|
| |
fab
Invité
|
Posté le : Mar 20 Mar 2007, 19:09
|
|
|
coment on fais pour mettre Xmin Xmax sur la calculette
merci d'avance 
|
| |
|
| |
Deeph
Autorisation : Membre
Nb de messages : 40
Inscrit le : Mar 29 Aoû 2006, 23:20
|
Posté le : Mer 21 Mar 2007, 13:27
|
|
|
Je te conseil d'utiliser la matrices pour ce genre de jeu. T'en prend deux, une qui est la solution, et une qui servira au joueur. Ensuite tu compare les deux et voilà (et faudrai mieu que tu évite les boucles avec des 'Goto' et des labels...).
---------------------- Forum TI z80 |
 |
|
| |
Sangohan38
Autorisation : Membre
Nb de messages : 3293
Inscrit le : Sam 31 Déc 2005, 19:48
|
Posté le : Mer 21 Mar 2007, 17:52
|
|
|
Je sais pas si tu as vu, mais j'"utilise des listes ce qui prend bien moins de place.
J'utilise 3 listes: 1 qui sert à générer la grille, une où on as la grille mais avec les trous et la 3ème que l'on utilise.
Pour la vérification, on utilise la 3ème et la 1ère.
Sangohan38
|
 |
|
| |
Deeph
Autorisation : Membre
Nb de messages : 40
Inscrit le : Mar 29 Aoû 2006, 23:20
|
Posté le : Mer 21 Mar 2007, 18:58
|
|
|
Avec des matrices c'est plus simple et surtout ça alégerai ton programme (même si tu perds un peu de place avec les matrices, puis ça t'éviterai d'utiliser toutes ces variables).
---------------------- Forum TI z80 |
 |
|
| |
BELET01
Invité
|
Posté le : Mer 21 Mar 2007, 22:04
|
|
|
C'est clair que les matrices arrangent tout. J'ai fait à peu de choses près ce prog mais avec des matrices (il ya quelques bugs mais c'est un peu galère donc j'lai laisser comme sa!)
Ps: je vous enverais le code source bientôt... 
|
| |
|
| |
Sangohan38
Autorisation : Membre
Nb de messages : 3293
Inscrit le : Sam 31 Déc 2005, 19:48
|
Posté le : Ven 23 Mar 2007, 13:01
|
|
|
Deeph, tu te rend compte de ce que tu vient de dire?
D'abord:
| Citer | | Je te conseil d'utiliser la matrices pour ce genre de jeu. T'en prend deux, une qui est la solution, et une qui servira au joueur. Ensuite tu compare les deux et voilà (et faudrai mieu que tu évite les boucles avec des 'Goto' et des labels...). |
Et après:
| Citer | | Avec des listes c'est plus simple et surtout ça alégerai ton programme (même si tu perds un peu de place avec les matrices, puis ça t'éviterais d'utiliser toutes ces variables). |
Si j'utlise les listes, c'est pour allégé la mémoire car si je fait deux matrice de 9*9, cela prendrait environ 5000 octets de mémoire alors que 3 listes en prennent à peine 1000.
Enfin, BELET01, ça m'étonnerais que tu l'ai fait car pour le faire, il faut une bonne connaissance en prog.
Poste donc un programme pour que nous puissions jugé de ta capacitée à créer.
Et puis le language SMS n'est pas autorisé.
Sangohan38
|
 |
|
| |
Deeph
Autorisation : Membre
Nb de messages : 40
Inscrit le : Mar 29 Aoû 2006, 23:20
|
Posté le : Ven 23 Mar 2007, 18:30
|
|
|
J'me suis juste trompé entre matrice/liste.
---------------------- Forum TI z80 |
 |
|
| |
Sangohan38
Autorisation : Membre
Nb de messages : 3293
Inscrit le : Sam 31 Déc 2005, 19:48
|
Posté le : Ven 23 Mar 2007, 21:13
|
|
|
Dans lequel de message?
Sangohan38
|
 |
|
| |
Google_AdSense
|
Publicité
|
|
|
|
| |
Deeph
Autorisation : Membre
Nb de messages : 40
Inscrit le : Mar 29 Aoû 2006, 23:20
|
Posté le : Ven 23 Mar 2007, 21:22
|
|
|
| Citer | | Avec des matrices c'est plus simple et surtout ça alégerai ton programme (même si tu perds un peu de place avec les matrices, puis ça t'éviterai d'utiliser toutes ces variables). |
(J'ai édité le message)
---------------------- Forum TI z80 |
 |
|
| |
Google_AdSense
|
Publicité
|
|
|
|
| |
Sangohan38
Autorisation : Membre
Nb de messages : 3293
Inscrit le : Sam 31 Déc 2005, 19:48
|
Posté le : Ven 23 Mar 2007, 23:26
|
|
|
Une matrice prend bien plus de place qu'une liste.
En plus, l'utilisée est plus long qu'uiliser une liste.
Sangohan38
|
 |
|
| |
Google_AdSense
|
Publicité
|
|
|
|
| |
Deeph
Autorisation : Membre
Nb de messages : 40
Inscrit le : Mar 29 Aoû 2006, 23:20
|
Posté le : Ven 23 Mar 2007, 23:29
|
|
|
| Citer | | En plus, l'utilisée est plus long qu'uiliser une liste. |
C'est faux, c'est pas plus long (et c'est bien plus simple d'utilisation, surtout si tu cherche à faire un générateur de grille).
---------------------- Forum TI z80 |
 |
|
| |
Sangohan38
Autorisation : Membre
Nb de messages : 3293
Inscrit le : Sam 31 Déc 2005, 19:48
|
Posté le : Sam 24 Mar 2007, 10:55
|
|
|
Et bien, pour utiliser une case de la matrix, il faut faire par exemple:
Alors que pour une liste dont ont sait exactement la coresspondance des lignes on a:
Ce qui fait un octet de gagner par instruction utilisant les listes donc, cela allège le programme.
Sangohan38
|
 |
|
| |
Deeph
Autorisation : Membre
Nb de messages : 40
Inscrit le : Mar 29 Aoû 2006, 23:20
|
Posté le : Sam 24 Mar 2007, 18:24
|
|
|
Comme ça oui, tu vas gagner un peu de place, mais à long terme non.
---------------------- Forum TI z80 |
 |
|
| |
Sangohan38
Autorisation : Membre
Nb de messages : 3293
Inscrit le : Sam 31 Déc 2005, 19:48
|
Posté le : Sam 24 Mar 2007, 18:25
|
|
|
Si on en gagne à court terme, alors à long terme aussi ont en gagne.
Sangohan38
|
 |
|
| |
Deeph
Autorisation : Membre
Nb de messages : 40
Inscrit le : Mar 29 Aoû 2006, 23:20
|
Posté le : Sam 24 Mar 2007, 18:34
|
|
|
Mais non, les matrices qui répresentent mieu une grille de sudoku qu'une liste. Si tu fait des fonctions avancées, genre afficher la matrice par une boucle avec une variable pour les colones et une autre pour les lignes, tu iras plus vite qu'avec une liste. Mais bon, fait ton sudoku comme tu veux, c'est juste un conseil...
---------------------- Forum TI z80 |
 |
|
| |
Sangohan38
Autorisation : Membre
Nb de messages : 3293
Inscrit le : Sam 31 Déc 2005, 19:48
|
Posté le : Sam 24 Mar 2007, 18:36
|
|
|
Une liste avec une seule boucle.
C'est plus simple à faire et comme je l'ai déja dit, ça prend moins de place.
Sangohan38
|
 |
|
| |
mad67
Autorisation : Membre
Nb de messages : 613
Inscrit le : Sam 23 Jui 2007, 14:05
|
Posté le : Lun 02 Avr 2007, 17:52
|
|
|
sango le lien stp!!
|
 |
|
| |
Sangohan38
Autorisation : Membre
Nb de messages : 3293
Inscrit le : Sam 31 Déc 2005, 19:48
|
Posté le : Lun 02 Avr 2007, 18:01
|
|
|
Mon jeux ne marche plus.
Je vais donc le recréer.
Ainsi, pas de lien avant 2 semaines.
Sangohan38
|
 |
|
| |
mad67
Autorisation : Membre
Nb de messages : 613
Inscrit le : Sam 23 Jui 2007, 14:05
|
Posté le : Mar 03 Avr 2007, 8:08
|
|
|
bon courage!!
|
 |
|
| |
Jcotnys
Autorisation : Membre
Nb de messages : 178
Inscrit le : Lun 20 Mar 2006, 13:28
|
Posté le : Dim 08 Avr 2007, 18:15
|
|
|
reslt dsl pour l'absence
sango, ton prog en première page marche ou pa ??? 
---------------------- le travail c la santé  |
 |
|
| |
FulliZing
Autorisation : Membre
Nb de messages : 65
Inscrit le : Dim 05 Nov 2006, 13:01
|
Posté le : Dim 08 Avr 2007, 18:48
|
|
|
je crois qu'il a dit non, son prog ne fonctionne plus
++
---------------------- Quand on cherche on trouve... |
 |
|
| |
Sangohan38
Autorisation : Membre
Nb de messages : 3293
Inscrit le : Sam 31 Déc 2005, 19:48
|
Posté le : Dim 08 Avr 2007, 19:46
|
|
|
Il semble ne pas fonctionner, mais je l'ai recopier donc théoriquement, il marche.
Sangohan38
|
 |
|
| |
vibra
Autorisation : Membre
Nb de messages : 591
Inscrit le : Mer 04 Avr 2007, 13:29
|
Posté le : Lun 16 Avr 2007, 16:52
|
|
|
Désolé mais, à première vue, je crois que Deeph à raison. D'une part une matrice 9*9 coûte 737 octet, alors qu'une liste de81 termes prend...737 octet !! Ca prend la même place ! Or une matrice est un outil mathématique plus maniable, et plus appropriée à un sudoku. De plus seulement 2 matrices suffisent.
Mais j'avoue que je n'ai pas vraiement étudié le sujet, et les matrices posenent finalement des problèmes d'utilisation. Je suis en vacances, je vais essaye de me pencher sur le sujet.
---------------------- Vive la programmation et vive le vibraphone !!! |
 |
|
| |
Sangohan38
Autorisation : Membre
Nb de messages : 3293
Inscrit le : Sam 31 Déc 2005, 19:48
|
Posté le : Mar 17 Avr 2007, 13:02
|
|
|
Comme je l'ai dit plus haut, utiliser une matrcez prend plus d'octets qu'une liste.
Ensuite, même si elle est plus adaptée qu'une liste, pour l'utiliser, il faut deux boucles avec au moins 2 variables alors qu pour une liste, une seule boucle suffit.
C'est vrai que j'utilise 3 listes mais même avec des matrice dans mon cas, on aurait aussi trois matrice.
Sangohan38
|
 |
|
| |
vibra
Autorisation : Membre
Nb de messages : 591
Inscrit le : Mer 04 Avr 2007, 13:29
|
Posté le : Mar 17 Avr 2007, 13:18
|
|
|
J'arrive pas à comprendre pourquoi tu dit qu'une matrice utilise plus d'espace q'une liste. J'ai obtenu 737 octets pour les deux !! 
---------------------- Vive la programmation et vive le vibraphone !!! |
 |
|
| |
Sangohan38
Autorisation : Membre
Nb de messages : 3293
Inscrit le : Sam 31 Déc 2005, 19:48
|
Posté le : Mar 17 Avr 2007, 13:21
|
|
|
Sur mon ancienne calcu, je peut t'assurer que j'arrivait à des matrices à 900 octets alors qu'une liste en prennait 700.
Mais le test que je vien de faire à mis 740 pour les deux...
Sangohan38
|
 |
|
| |
Google_AdSense
|
Publicité
|
|
|
|
| |
vibra
Autorisation : Membre
Nb de messages : 591
Inscrit le : Mer 04 Avr 2007, 13:29
|
Posté le : Mar 17 Avr 2007, 13:23
|
|
|
Tu avais dû te tromper dans les dimentions de le liste.
---------------------- Vive la programmation et vive le vibraphone !!! |
 |
|
| |
Google_AdSense
|
Publicité
|
|
|
|
| |
vibra
Autorisation : Membre
Nb de messages : 591
Inscrit le : Mer 04 Avr 2007, 13:29
|
Posté le : Mar 17 Avr 2007, 13:23
|
|
|
Heuu, de la matrice pardon.
---------------------- Vive la programmation et vive le vibraphone !!! |
 |
|
| |
Sangohan38
Autorisation : Membre
Nb de messages : 3293
Inscrit le : Sam 31 Déc 2005, 19:48
|
Posté le : Mar 17 Avr 2007, 13:27
|
|
|
Non, c'était bien du 9*9.
Sangohan38
|
 |
|
| |
vibra
Autorisation : Membre
Nb de messages : 591
Inscrit le : Mer 04 Avr 2007, 13:29
|
Posté le : Mar 17 Avr 2007, 13:29
|
|
|
bizare 
---------------------- Vive la programmation et vive le vibraphone !!! |
 |
|
| |