Forum

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

La vertion 4 béta du Labygénérateur ! - Page 6 / 7

ld le 10/02/2011 à 11:16
La V5 Béta du Labygénérateur ! bigmouth.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/(154/45  ----(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 ou B=D
:codeTouche->K
:
:if K=/=0:Then
:If K=45:Goto 5
:-(K=24)+(K=26->X
:-(K=25)+(K=34->Y
:
:If non(Pxl-Test(A+2Y,B+2X:Then
:Pt-Off(B,62-A,3
:A+4Y->A:B+4X->B
:Pt-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
Persalteas le 10/02/2011 à 14:01
ok, tout marche bien pour le tracé de labyrinthe...

là dessus, c'est nickel, chapeau encore une fois.

mais alors par contre, je lance le prog, je fais new, il se trace, je fais On au bout d'un moment, je relance et je choisis "repet" et là, ça réfléchit...longtemps. d'ailleurs il va falloir que je l'arrête...

est-ce normal?

ah et sinon, à quoi servent les lignes facultatives ?
ld le 10/02/2011 à 14:23
T'es sérieux ?! Çà fonctionne ?! ahh.gif
C'est génial ! bigmouth.gif

Bon, je t'explique: loupe.gif
-Tout d'abord, tu le lance avec "NEW"
-Tu le laisse se générer... (Une barre de chargement apparais en bas).
C'est la ligne facultative:
:C+1->C:Pxl-On(62,2+partEnt(C/(154/45
Si par malheur c'est un peu trop long, tu l’arrête avec "ON".
Oui j'airais tous simplement pus générer des listes pour qu'il ne cherche plus bêtement les cases vides, mais sinon ce n'est plus aléatoire, pas drôle !
-Si c'est lui qui s’arrête tout seul à cause d'un erreur mémoire et qui ne te semblait pas assez finit, alors relance le avec cette fois "REPET".
(Normalement avec cette version çà ne devrais plus arriver, mais bon...)
-Une fois tracer, démarre avec "PLAY".
-A l’occasion tu peut jouer... LOL !
-Si tu veut l’arrêter, fait "ANNUL".
-S'il se laby t'as plus et que tu ne la pas encore entièrement explorer ou tout simplement que tu as la flemme d’attendre la prochaine fois, fait "SAVE".
-A l'inverse, fait "QUIT".
-Pour charger un laby déjà sauvegarder, fait "LOAD" et joue !

Bonne chance et merci pour la question ! glasses.gif

les montres qui te poursuivent et les passage secret, bientôt !
Persalteas le 10/02/2011 à 14:37
D'accord, j'ai compris...

OK, tout marche bien, sauf l'erreur de domaine sur la fameuse ligne facultative, au moment ou la barre de chargement sort de l'écran tout à la fin, mais sinon c'est parfait.

EDIT: aaaah, non! je croyais... regarde un peu l'image que j'ai...



et comment je fais, là, pour rejoindre le point ? impossible !
f/x=x² le 11/02/2011 à 08:29
Ouais ben c'est ce que je dis, y'a des îlots.
Bon maintenant je vais mettre à jour ma ti (j'avais la version 4.7).
ld le 11/02/2011 à 10:52
Ah! Oui! j'oubliais, tu m'avais demander pourquoi c'était si long quand tu veut terminer ton laby en le relançant avec "REPET"...
En fait, "REPET" n'est vraiment utile que si moin de 50% du graph a étais tracer.
Au delà, c'est forcément plus long; Et si la quasi totalité des points sont pris, il va mettre un temps pas possible (à moin d'avoir de la chance) pour tomber de façon aléatoire sur un point vide où se repiquer.
Dans les prochaines versions, "REPET" se verra attribuer un moteur de génération non-aléatoire, en gros les murs ne se repiquerons plus de façon aléatoire, mais par un systéme de for(a,1,62,4):for(b,1,94,4)...If Pxl-test=0...
Seul leur trajet resterons imprévisible.
Ce sera bien plus rapide et efficace pour finir un laby presque terminé.
Néanmoins la commande "NEW" sera toujours aléatoire, sinon les laby n'ont pas d’intérêts ici...
ld le 11/02/2011 à 11:04
C'est cool que t'es put m’envoyer l'image, je ne vais plus chercher dans le vide maintenant !
Je pense savoir d'où viens l'une de t'es erreurs:
-Pour la barre de chargement qui dépasse de l'écran, c'est peut'être qu'elle ne démarre tout simplement pas de 0.

Oui, si tu recopie cette ligne:
:C+1->C:Pxl-On(62,2+partEnt(C/(154/45

Tu dois recopier c'elle-ci aussi:
:Lbl 1:Effvar cEffvar P1->N

Où du moin:
:Effvar c

Après qu'il se soit lancer tout seul ou que tu ais fais "PLAY" manuellement,
la barre s’efface...Si P=0 ,d'ou:Effvar P.
Puis, a chaque point manger, tu as un point de plus qui s'affiche en bas, trois dans ton cas.

Pour le problème des îlots tu remarquera que des pixels manquant par endroit, ce qui est space, lorsqu'on n'y trace que des lignes !
Je penses que çà dois venir d'une erreur de paramétrage de l'écran.
Je vais chercher. C'est une TI-83 que tu as ?
Persalteas le 11/02/2011 à 16:18
effectivement, je n'avais pas mis effvar C

j'ai une Ti 83+ (enfin c'est là dessus que je l'ai testé, mais je vois pas ce qui changerais si je mettais le prog sur ma Ti 82 stats.fr.

ps: cool ton avatar... Les Louis au pouvoir, tu es d'accord ?
ld le 11/02/2011 à 17:06
Ouai ! ch'ui d'accort ! T'façon c'est les meilleurs ! laugh.gif
Bon maintenant y a pus qu'a résoudre ton deuxième problème. cupsmiley.gif
Sut "il n'y a plus qu'a" pour Sangohan... happy.gif
linkakro le 13/02/2011 à 12:43
J'ai uploadé le screen de démarrage ici.

Les images de ton autre jeu sont trop illisibles pour que je les recopie au pixel près dans mon bitmap (1ère étape).
ld le 13/02/2011 à 16:38
Mille millions de mille sabords !
J'AI TROUVER L'ERREUR ! bigmouth.gif

La ligne : {62,65.1,62,58,9->C est fausse ! maxiangry.gif
C'est {62,65.1,62,58.9->C ! ahh.gif

VICTOIRE !!! bigmouth.gif

Tout s'explique à présent ! Et dire que pendant si longtemps, nous avons chercher cette erreur. Une virgule à la place d'un point ! maxiangry.gif

J'ai moi même essayer l'erreur sur ma calto, et j'arrive à la même chose que toi Persalteas ! c'est elle la coupable ! angry.gif

Qu'elle plait béante, c'est fautes de recopiage ! evil.gif maxiangry.gif
je présente mes plus plates excuses à tous ceux qui ont tenter en vain de le recopier... moodforlove.gif
ld le 13/02/2011 à 16:46
Voici pour m'excuser quelques améliorations de la partie 2 (Après le Lbl 2) en attendant la suite !

Sur papier les murs bougent, les passages secret fonctionnent déjà, seul les montres qui vous poursuivent sont encore a fignoler...
Je publierais cette version dès que possible !

Code
: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 ou B=D
:codeTouche->K
:
:if K=/=0:Then
:If K=45:Goto 5
:-(K=24)+(K=26->X
:-(K=25)+(K=34->Y
:
:If non(Pxl-Test(A+2Y,B+2X:Then
:Pt-Off(B,62-A,3
:A+4Y->A:B+4X->B
:Pt-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
archimeti le 13/02/2011 à 16:55
moi je dis qu'une chose: respect...
tu as utiliser l'algorythme du labirynthe parfait pour ton prog?
linkakro le 13/02/2011 à 19:38
Oui. A dire vrai, il a utilisé plusieurs algorithmes différents depuis la première version.

l.davin : ton excitation t'a fait rater mon dernier message. Avec l'importance que tu donnes au démmarrage de chaque programme, ce serait dommage de ne pas profiter de cet upload exceptionnel.
ld le 14/02/2011 à 10:54
Oui, c'est vrai, je donne beaucoup d'importance au démarrage de chaque progm.
En fait, je n'ais eu que très peu de temps pour publier cet ultime correctif.
Je n'ais pas trouver le temps de lire le reste... cry.gif
Je suis navré, c'est outrant pour quelqu'un qui répond de ne pas être lu...
j'ai télécharger chaque images; Et je me demande d’ailleurs comment tu as fait pour trans former une simple photo en Screenshots. Tu as utiliser VTI et redessiner l'image de fond pixel par pixel ? ahh.gif
En tout cas elles sont mieux que les miennes.
Dis, certaines personnes sur ce forum parviennent a insérer des images ou des sorte d’animations au dessus de leur texte ou code du prgm, comment on fait ? crazy.gif
Je pourrait ainsi m'être la tienne ! happy.gif

Ah oui, alors çà fonctionne à présent ce prgm ? C'est que je m'en serait donner du mal ! evil.gif

Pour répondre à archimeti, oui c'est laby sont bel et bien "parfait" selon la définition mathématique. D'où d’ailleurs le temps de génération relativement long, du fait que tout doit être parfaitement aléatoire. happy.gif
linkakro le 14/02/2011 à 22:52
J'ai d'abord recopié l'image en bitmap, puis je l'ai convertit en asm avec le logiciel d'alexvire, puis utilisé le prog asm dans vti, extraît un screen et un 83i, et enfin publié toutes les sources.

Note que les 2 manières directes de partager une image sont le prog asm et le 83i. (ce prog asm ne marche bien que lancé depuis un autre programme)

J'ai recopié ce soir une image de bombrman directement dans vti (plus pratique en fin de compte, mais j'ai eu des problèmes car une surexposition de l'écran m'empêche de compter certains pixels confondus dans le flouté). La suite et l'autre image plus tard.

Pour publier un gif, utilise soit la combinaison de vti et calccapture soit wabbitemu. Un screen fixe se fait direct avec vti. Une fois le gif généré, envoie le sur un site comme imageshack (y'en a d'autres) et insère le lien de l'image avec la balise img.

A l'avenir, ce serait intéressant que tu postes toi-même les 83i etc.
ld le 16/02/2011 à 11:51
Oui, oui... Mais çà marche à présent le prgm ? ahh.gif
f/x=x² le 17/02/2011 à 12:43
Citation
Oui, oui... Mais çà marche à présent le prgm ? ahh.gif


OUI!!!! bigmouth.gif bigmouth.gif
CA Y EST! J'ai plus d'îlots sur mes labyrinthes! OUAIS! bigmouth.gif cupsmiley.gif godgrace.gif
J'attends avec impatience la version avec les monstres...
Persalteas le 17/02/2011 à 20:50
j'ai essayé... ça marche!

gutes arbeit, Herr Dafinn!


(ps: en dessous de ta photo de césar, tu devrais écrire: "l.davin fait avancer Texas Instruments". ça va bien avec ton profil je trouve... mdr!)
ld le 18/02/2011 à 10:57
César vous remercie ! happy.gif kiss.gif