Poster un nouveau sujet Poster une réponse
Town
Auteur Message
vibra



Autorisation : Membre
Nb de messages : 595
Inscrit le : Mer 04 Avr 2007, 13:29
Posté le : Mar 24 Avr 2007, 10:16   Citer 

Town

Ce programme est un générateur de grilles de Town.
Ce jeu est en quelque sorte au Sudoku, mais en différent. Il fonctionne sur un principe de grille 5x5 (ou plus pour plus de difficulté). Dans chaque colonne et chaque ligne, on trouve les nombres 1,2,3,4,5 (jamais deux fois le même dans une même ligne ou dans même colonne). En fait chaque carreau de la grille représente un immeuble, donc le nombre qui est dessus représente le nombre d´étage qu´a l´immeuble. Ces nombres d´étages sont inconnus, et le but est de les retrouver à l´aide de coefficients qui entourent la grille. Ceux-ci correspondent au nombre d´immeuble que l´on peut voir à l´endroit où ils sont inscrits (un immeuble de 5 étage couvre tous les autre immeuble, un immeuble de 4 couvre 1,2,et 3, etc).
Bref le programme ci-dessous et u générateur de grille. On ne peut pas directement jouer sur la calculette, car comme une grille est assez longue à trouver, autant ne pas user les piles. Le programme affiche également la grille de correction (attention il peut y avoir deux solutions).



Code
0->Xmin
94->Xmax
0->Ymin
62->Ymax
AxesOff
GridOff
FnOff
ClrDraw
ClrHome
0->Z
Menu (« TOWN », »NEW GRILLE »,1, « CORRECTION »,2
Lbl 2
Z+1->Z
Lbl 1
Z+1->Z
For(A,23,73,10
Line(A,6,A,56
End
For(A,6,56,10
Line(23,A,73,A
End
If Z=2
Goto 3
Lbl 4
{5,5}->dim [E]
Fill (1,[E]
0->A
0->B
For (B,2,5
ClrList L5
10->dim L5
For (A,1,5
int (rand 4,99)+1->C
If [E](A,B) [différent de] 1 or C=L5(1) or C=L5(2) or C=L5(3) or C=L5(4) or C=L5(5)
Then
A-1->A
1->L5(C+5)                <- //
If L5(6)=1 and L5(7)=1 and L5(8)=1 and L5(9)=1 and L5(10)=1
Goto 4
Else
B->[E](A,C)
C->L5(A)
Text (59,85,B
Text (56,90,A             <- //
0->L5(6)
0->L5(7)
0->L5(8)
0->L5(9)
0->L5(10)
End
End
End                       <- //
Text (56,85, «      »                   <-[5 espaces]
Text (56,90, «      »                   <-[5 espaces]
For (B,1,5
1->C
1->E
For (A,2,5
([E](A,B)-[E](C,B))->D
If D>0
Then
A->C
E+1->E
End
Text (0,10B+17,E
End
End
For (B,1,5
1->E
5->C
For (A,4,1,-1)
([E](A,B)-[E](C,B))->D
If D>0
Then
A->C
E+1->E
End
Text (57,10B+17,E
End
End
For (A,1,5
1->C
1->E
For (B,2,5
([E](A,B)-[E](A,C))->D
If >0
Then
B->C                         <- //
E+1->E
End
Text (10A-2,19,E
End
End
For (A,1,5
5->C
1->E
For (B,4,1,-1)
([E](A,B)-[E](A,C))->D
If D>0                             <- //
Then
B->C                               <- //
E+1->E
End
Text (10A-2,75,E
End
End
Stop
Lbl 3
Dim [E]->L5
If L5(1) [différent de]5 or L5(2) [différent de]5
Then
Disp « CORRECTION
Disp « EFFACEE
ClrList L5
Stop
End
For (A,8,48,10)
For (B,27,67,10)                        <- //
Text (A,B,[E]((A+2)/10,(B-17)/10)
End
End
ClrList L5
{1,1}->dim [E]



----------------------
Vive la programmation et vive le vibraphone !!!
 Adresse email Haut de page Bas de page 
 
Jcotnys



Autorisation : Membre
Nb de messages : 180
Inscrit le : Lun 20 Mar 2006, 13:28
Posté le : Jeu 03 Mai 2007, 16:53   Citer 

on pe jouer à ton jeu ou pas??? ahh.gif

----------------------
le travail c la santé winkle.gif
 Adresse email Haut de page Bas de page 
 
vibra



Autorisation : Membre
Nb de messages : 595
Inscrit le : Mer 04 Avr 2007, 13:29
Posté le : Jeu 03 Mai 2007, 17:37   Citer 

C'est un générateur de grilles. Toujours pareil, c'est autant ridicule de jouer au sudoku sur calculette que ce jeu qui est difficile à résoudre. Pour y jouer, il suffit de recopier les 20 nombres.

----------------------
Vive la programmation et vive le vibraphone !!!
 Adresse email Haut de page Bas de page 
 
Jcotnys



Autorisation : Membre
Nb de messages : 180
Inscrit le : Lun 20 Mar 2006, 13:28
Posté le : Sam 19 Mai 2007, 16:22   Citer 

Ok je vais voir ce que ça donne minied.gif

----------------------
le travail c la santé winkle.gif
 Adresse email Haut de page Bas de page 
 
vibra



Autorisation : Membre
Nb de messages : 595
Inscrit le : Mer 04 Avr 2007, 13:29
Posté le : Sam 19 Mai 2007, 22:35   Citer 

Merci, c'est simpa de l'essayer. Le principe de ce jeu est tiré du magazine SVJ.

----------------------
Vive la programmation et vive le vibraphone !!!
 Adresse email Haut de page Bas de page 
 
Jcotnys



Autorisation : Membre
Nb de messages : 180
Inscrit le : Lun 20 Mar 2006, 13:28
Posté le : Mer 11 Jui 2008, 21:23   Citer 

bopn désolé vibra laugh.gif laugh.gif pour le temps d'attente et le "remontage" de ce topic mais c'est pour dire que je le teste que maintenant le prog (aaah la vie... crazy.gif crazy.gif crazy.gif XD )

----------------------
le travail c la santé winkle.gif
 Adresse email Haut de page Bas de page 
 
Jcotnys



Autorisation : Membre
Nb de messages : 180
Inscrit le : Lun 20 Mar 2006, 13:28
Posté le : Dim 10 Aoû 2008, 19:21   Citer 

reslt ! ya personne sur le fofo à ce ke je vois donc tt le monde est en vac cupsmiley.gif cupsmiley.gif
bref une kestion: kant on appuie sur correction ca marque :
invalid DIM et si on fait goto
ca va à cette ligne :

Code

Text (A,B,[E]((A+2)/10,(B-17)/10)


c'est un bug ou c normal ??

----------------------
le travail c la santé winkle.gif
 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 : Dim 10 Aoû 2008, 20:25   Citer 

Déjà fais attention à ton orthographe pour la dernière fois car maintenant, j'éditerais chacun de tes messages mal écrit et j'en ferait part au Webmaster pour prendre des mesures.

Et pour t'aider, il faudrait que tu nous donne la valeur de A et de B ainsi que la taille de la matrice [E] au moment de l'erreure.

Sangohan38

 Adresse email Haut de page Bas de page 
 
Jcotnys



Autorisation : Membre
Nb de messages : 180
Inscrit le : Lun 20 Mar 2006, 13:28
Posté le : Dim 30 Nov 2008, 19:23   Citer 

resalut désolé de l'absence mais le boulot vous savez ce que c'est XD bref ouai ok pas de problème sango je vais regarder l'erreur et je vous dit quoi winkle.gif

----------------------
le travail c la santé winkle.gif
 Adresse email Haut de page Bas de page 
 
Jcotnys



Autorisation : Membre
Nb de messages : 180
Inscrit le : Lun 20 Mar 2006, 13:28
Posté le : Ven 23 Jan 2009, 18:56   Citer 

slt ! alors les valeurs sont pour 8 pour A, 27 pour B et valeur de la matrice E

Code

[[1 1 1 1 2]]
 [2 1 1 1 1]
 [1 1 1 2 1]
 [1 1 2 1 1]
 [1 2 1 1 1]]


voila winkle.gif

----------------------
le travail c la santé winkle.gif
 Adresse email Haut de page Bas de page 
 
vibra



Autorisation : Membre
Nb de messages : 595
Inscrit le : Mer 04 Avr 2007, 13:29
Posté le : Mer 08 Avr 2009, 12:03   Citer 

Effectivement mon programme était plein d'erreurs de copies. Je l'ai corrigé et j'ai mis "<- //" sur les lignes où il y avait une erreur pour t'aider à les corriger. Il est possible qu'il en reste encore.
Bonne continuation.

----------------------
Vive la programmation et vive le vibraphone !!!
 Adresse email Haut de page Bas de page 
 
Jcotnys



Autorisation : Membre
Nb de messages : 180
Inscrit le : Lun 20 Mar 2006, 13:28
Posté le : Lun 13 Avr 2009, 11:29   Citer 

la taille de la matrice E est de 5*5
pour tes erreurs vibra, je les ai corrigées moi-meme..c'est juste celle de l'invalid dim...

----------------------
le travail c la santé winkle.gif
 Adresse email Haut de page Bas de page 
 
vibra



Autorisation : Membre
Nb de messages : 595
Inscrit le : Mer 04 Avr 2007, 13:29
Posté le : Jeu 16 Avr 2009, 15:08   Citer 

pour commencer la matrice que tu a donnée plus haut est impossible car sur chaque ligne et chaque colonne, il doit y avoir {1,2,3,4,5} (dans n'importe quel ordre évidemment).
Ensuite je crois que j'ai trouvé ton erreur : tu as dû taper '[' + 'E' + ']' alors qu'il faut taper : 'matrix' + '5'.

[edit]
Quoique non ça doit pas être ça parce que ça mettrai une autre erreur que 'invalid dim'. Alors essaye de faire afficher dim [E] avent l'erreur pour vérifier que c'est bien {5 5}.
Sinon je ne vois pas où peut être l'erreur puisque d'après tes valeurs (8+2)/10=1 -> ok et (27-17)/10 -> ok.
Alors je ne vois qu'une chose : Vérifie que tu as bien mis les parenthèses.

----------------------
Vive la programmation et vive le vibraphone !!!
 Adresse email Haut de page Bas de page 
 
Leddry
Invité
Posté le : Mer 25 Nov 2009, 21:44   Citer 

Bonjour,
J'avais un peu de temps devant moi alors j'ai copié le code, mais j'ai tout de même une erreur de dimension à la ligne :

B->[E](A,C)

J'ai vérifié, le reste est correct, et je ne vois pas où est l'erreur.
Ah , j'oublais, j'ai remplacé le

int (rand 4,99)+1->C

Par un

randInt(4,99)+1->C

Je n'ai d'ailleurs pas très bien compris la présence du C dans ce code...

  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