Poster un nouveau sujet Poster une réponse
Labyrinthe
Auteur Message
EGUL



Autorisation : Membre
Nb de messages : 46
Inscrit le : Lun 02 Juil 2012, 11:40
Posté le : Lun 02 Juil 2012, 11:45   Citer 

Bonjour à tous, je viens de m'inscrire sur le site pour poster mes programmes de sorte à ne pas les perdre lors d'un bug calculette, d'une blague ou d'un manque de pile.

Donc je poste ici mon tout premier programme sur ce site.


Code
For(A,1,12
For(B,1,18
0=>[A](A,B
End
End
Input "NIVEAU?",A
For(B,1,18
1=>[A](1,B
1=>[A](12,B
End
For(B,1,12
1=>[A](B,1
1=>[A](B,18
End

If A=1
Then
prgmLABY1
End
If A=2
Then
prgmLABY2
End
.
.
.

EffDessin
AxesNAff
Fonct
FonctOff
For(A,1,18
For(B,1,12
If[A](B,A)=1
Then
For(C,1,5
For(D,1,5
Pxl-On(5(B-1)+C,5(A-1)+D
End
End
End
End
End
Pxl-On(5C-3,5D-3
Pxl-On(5C-3,5D-1
Pxl-On(5C-2,5D-2
Pxl-On(5C-1,5D-3
Pxl-On(5C-1,5D-1
2=>C
2=>D
While C=/=11 ou D=/=17
0=>X
codeTouche=>X
If X=25 ou X=24 ou X=26 ou X=34
Then
Pxl-Off(5C-3,5D-3
Pxl-Off(5C-3,5D-1
Pxl-Off(5C-2,5D-2
Pxl-Off(5C-1,5D-3
Pxl-Off(5C-1,5D-1
End
If X=25 et [A](C-1,D)=0:C-1=>C
If X=24 et [A](C,D-1)=0:D-1=>D
If X=34 et [A](C+1,D)=0:C+1=>C
If X=26 et [A](C,D+1)=0:D+1=>D
If X=/=0
Then
Pxl-On(5C-3,5D-3
Pxl-On(5C-3,5D-1
Pxl-On(5C-2,5D-2
Pxl-On(5C-1,5D-3
Pxl-On(5C-1,5D-1
End
End



Ceci est le code pour un programme de labyrinthe.

De plus, j'ai ajouté à l'intérieur une fonctionnalité servant à ajouté les labyrinthes de vôtre choix (zone espacée avec 3 points).
De base, il n'y a que des murs!

Je vous expliquerais par la suite comment créer vôtre labyrinthe glasses.gif

----------------------
En attente des résultats du bac!
Programmeur TI-82 fou
Prêt à aider ceux qui en ont besoin
 Adresse email Haut de page Bas de page 
 
Google_AdSense



Publicité    



 
EGUL



Autorisation : Membre
Nb de messages : 46
Inscrit le : Lun 02 Juil 2012, 11:40
Posté le : Lun 02 Juil 2012, 11:56   Citer 

Voici le niveau 1
A mettre dans un nouveau programme LABY1


Code

1=>[A](9,11
1=>[A](9,15
1=>[A](8,13
1=>[A](8,17
For(B,1,3
1=>[A](3,9+B
1=>[A](5+B,5
1=>[A](6+B,7
1=>[A](5,10+B
End
For(B,1,4
1=>[A](5,4+B
1=>[A](1+B,14
1=>[A](2+B,16
End
For(B,1,5
1=>[A](3,2+B)
End
For(B,1,6
1=>[A](2+B,9
End
For(B,1,7
1=>[A](7,9+B
End
For(B,1,8
1=>[A](2+B,3
End
For(B,1,14
1=>[A](10,2+B
End
1=>[A](11,16



Bon actuellement il est finit et je le testerais si besoin
Je vais commencer à vous expliquer comment créer vôtre labyrinthe

----------------------
En attente des résultats du bac!
Programmeur TI-82 fou
Prêt à aider ceux qui en ont besoin
 Adresse email Haut de page Bas de page 
 
EGUL



Autorisation : Membre
Nb de messages : 46
Inscrit le : Lun 02 Juil 2012, 11:40
Posté le : Lun 02 Juil 2012, 12:29   Citer 

Alors c'est parti, on attache sa ceinture et on tient bien fort son siège,
vous allez créer votre labyrinthe
Mon, mon , mon labyrinthe frozen.gif
Oui j'ai bien dit vôtre labyrinthe
Donc tout d'abord, dans le programme principal
Il y a une zone avec 3 points
Cette zone, et j’espère que vous n'avez pas écrit bêtement les 3 points, va servir a donner un ID à votre labyrinthe.
Par exemple pour un labyrinthe nommé LABYTEST d'ID 3.14, on écrira:

Code
If A=3.14
Then
prgmLABYTEST
End


Maintenant, vôtre labyrinthe et déjà accessible!
Il ne reste plus qu'à l'éditer
Pour cela rien de plus simple,
Il faut déjà remarquer que le labyrinthe et stocker dans la matrice notée [A] et que les cases sont considérées pleines lorsque la valeur est différente de 0 et que par défaut on a des murs pour bloquer la sortie du joueur du labyrinthe.

Alors par défaut, le labyrinthe fait 12X18
Si vous n'avez pas déjà la matrice de régler, suivez les instructions ci-dessous

1. [matrice]
2. [<=]
3. [enter]
4. tapez 12 faites [enter]
5. tapez 18 faites [enter]

Quittez et ça y est il reste plus que du code!

Je vous conseille d'ouvrir un tableur-grapheur pour le labyrinthe tel que Excel ou OpenOffice Graph.

Étape 1:
Dimensionner les case , on clique en haut à gauche du tableur normalement à gauche de A et on règle les largeurs et hauteurs à un même valeur.

Étape 2:
On prend comme couleur d'arrière plan le noir.
On sélectionne de A1 à A12 et on remplit
On sélectionne de A1 à R1 et on remplit
On sélectionne de R1 à R12 et on remplit
On sélectionne de A12 à A12 et on remplit

Étape 3:
On trace son labyrinthe en laissant les cases B2 et Q17 blanches.

Vôtre labyrinthe est prêt?
Oui!! cupsmiley.gif
Eh bien on finit le travail avec le code alors.

Si vous aviez mit la case B3 en noir, tapez ce code dans le programme du labyrinthe choisit

Code
1=>[A](3,2


Si vous aviez mit les case C4 à C9 en noir tapez un des deux codes aux choix :
Code 1

Code
For(B,1,6
1=>[A](3+B,3
End


Code 2

Code
For(B,0,5
1=>[A](4+B,3
End


Réalisez cela pour tout vôtre tableur sans placer les murs extrêmes.
Et voilà vôtre labyrinthe est terminé!
Si vous avez des problèmes ou réalisé un labyrinthe je vous laisse régir.
Si un programmeur passe par-là, peut-il vérifier mon code car je n'ait pas ma calculette sous la main.
Merci d'avance.

----------------------
En attente des résultats du bac!
Programmeur TI-82 fou
Prêt à aider ceux qui en ont besoin
 Adresse email Haut de page Bas de page 
 
Persalteas



Autorisation : Membre
Nb de messages : 2086
Inscrit le : Sam 23 Jan 2010, 20:09
Posté le : Lun 02 Juil 2012, 18:43   Citer 

ça m'a l'air intéressant. bigmouth.gif

Le défi serait bien sur de coder entièrement l'éditeur de niveau...

 Adresse email Haut de page Bas de page 
 
EGUL



Autorisation : Membre
Nb de messages : 46
Inscrit le : Lun 02 Juil 2012, 11:40
Posté le : Lun 02 Juil 2012, 18:45   Citer 

Mouais . . .
Dans ce cas là je vais devoir apprendre l’hexadécimal!
Naaaaaaaannnn!

----------------------
En attente des résultats du bac!
Programmeur TI-82 fou
Prêt à aider ceux qui en ont besoin
 Adresse email Haut de page Bas de page 
 
matrefeytontias



Autorisation : Membre
Nb de messages : 109
Inscrit le : Lun 25 Jui 2012, 15:51
Posté le : Mar 03 Juil 2012, 1:44   Citer 

Alors là ... N'essaye pas avant 2 ans tongue.gif

----------------------
Apprenez l'hexadécimal z80 ! Nan, vous n'êtes pas obligés de vouloir mourir, mais ça peut aider : https://espace-ti.forumactif.com/t576-programmer-en-hexadecimal-c-est-possible
 Adresse email Haut de page Bas de page 
 
Persalteas



Autorisation : Membre
Nb de messages : 2086
Inscrit le : Sam 23 Jan 2010, 20:09
Posté le : Mar 03 Juil 2012, 9:35   Citer 


Citer : matrefeytontias
Alors là ... N'essaye pas avant 2 ans tongue.gif



Allons bon... Et pourquoi pas ?

 Adresse email Haut de page Bas de page 
 
blg_flg



Autorisation : Membre
Nb de messages : 646
Inscrit le : Mer 23 Mai 2012, 17:28
Posté le : Mar 03 Juil 2012, 10:33   Citer 


Citer : Matref
Apprenez l'hexadécimal z80 ! Nan, vous n'êtes pas obligés de vouloir mourir, mais ça peut aider : https://espace-ti.forumactif.com/t576-programmer-en-hexadecimal-c-est-possible



C'est à cause de moi que tu dis ça? happy.gif

 Adresse email Haut de page Bas de page 
 
ld
Avatar

Autorisation : Membre
Nb de messages : 373
Inscrit le : Jeu 23 Sep 2010, 16:05
Posté le : Mar 03 Juil 2012, 19:05   Citer 

J'ai pus faire ceci il y a un bout de temps maintenant, mais voici pour toi si çà peut t'inspirer pour la suite de ton prgm. Je trouve le tien pas mal je l’essaierai sûrement winkle.gif

https://tout82.pages-perso.free.fr/forum/sujet.php?sujet=2355&page=1

Je te laisse reprendre le flambeau, il est pour toi happy.gif


Code
:{0,4,0,-4,0->A:{0,3.1,0,-3.1,0->B:{62,65.1,62,58.9->C
:Menu("LABYRINTHE","PLAY",2,"NEW",1,"LOAD",7,"REPET",0
:Lbl 1:Effvar cEffvar P1->N ----(Effvar C facultatif).
:AxesNaff:EffDessin
:RappelImage (le n° de votre image):Pause::EffDessin ----(Ligne facultative).
:0->Xmin:0->Ymin:94->Xmax:62->Ymax
:Vertical 1:Vertical 93
:Horizontale 1:Horizontale 61

:Lbl 0
:Reapet pxl-Test(A,B
:1+4entAléat(0,15->A
:1+4entAléat(0,23->B:End

:If A=1:2->L:If A=61:4->L:If B=1:1->L:If B=93:3->L
:if C=308:Goto 2

:Lbl 6
:If non(pxl-Test(A+LA(L),B+LA(L+1:Then
:A+LA(L->A:B+LA(L+1->B
:Ligne(B,LC(L)-A,B-LB(L+1),LC(L)-A-LB(L)
:C+1->C:Pxl-On(62,2+partEnt(C/3.4 ----(Ligne facultative).
:Else
:If pxl-Test(A+4(A=/=61),B)Pxl-Test(A-4(A=/=1),B)pxl-Test(A,B+4(B=/=93))pxl-Test(A,B-4(B=/=1
:Goto 0
:End

:entAléat(1,4->L
:Goto 6
______________________________________________________________________

:Lbl 2
:3+4entAléat(1,14->C
:3+4entAléat(1,22->D
:Pxl-On(C,D
:If P=0:Then:3->A:3->B
:For(P,2,92:Plx-Off(62,P:End ----(Ligne facultative).
:End:1->P

:Repeat A=C et B=D
:codeTouche->K

:if K=/=0:Then
:If K=45:Goto 5
K=24)+(K=26->Y
K=25)+(K=34->x

:If non(Pxl-Test(A+2Y,B+2X:Then
t-Off(B,62-A,3
:A+4Y->A:B+4X->B
t-On(B,62-A,3
:End:End:End
:N+2-)N:Pxl-On(62,N:Goto 2

:Lbl 5
:Pxl-Off(C,D
:Menu("Menu(","QUIT",4,"SAVE",3

:Lbl 3:SauveImage 0

:Lbl 4:EffListe LA,LB,LC:AxesAff:ZStandard:EffEcr:Disp (N-1)/2:Stop

:Lbl 7
:AxesNaff:0->Xmin:0->Ymin:94->Xmax:62->Ymax
:RappelImage 0:Goto 2



----------------------
Note Éphéméride Chrono Bombrman BlueFishEncryptor Labygénérateur Nord BandeauDeTexte LunarPhase Syracuse Papy-Jump Convertisseur ! SolveurDeSudoku VérificateurDeCodesBanquaire PrgmADiviser CryptageDeVigenere MiniSolv Reed-Solomon Code128Géodésie
 Adresse email Haut de page Bas de page 
 
blg_flg



Autorisation : Membre
Nb de messages : 646
Inscrit le : Mer 23 Mai 2012, 17:28
Posté le : Mar 03 Juil 2012, 19:08   Citer 

Oh! Un revenant! loupe.gif ahh.gif

 Adresse email Haut de page Bas de page 
 
EGUL



Autorisation : Membre
Nb de messages : 46
Inscrit le : Lun 02 Juil 2012, 11:40
Posté le : Mar 03 Juil 2012, 20:01   Citer 

l.davin

J'essayerais dès que j'ai le temps happy.gif

----------------------
En attente des résultats du bac!
Programmeur TI-82 fou
Prêt à aider ceux qui en ont besoin
 Adresse email Haut de page Bas de page 
 
Goshi
Invité
Posté le : Sam 24 Nov 2012, 22:21   Citer 

On pourrait pas fait un "you win" quand on gagne ?

Merci

  Haut de page Bas de page 
 
Poster un nouveau sujet Poster une réponse





  Page générée en 6 requêtes