Générateur de labyrinthe.....................][][][][][][

Programmation avancée de jeux en PureBasic
Mytic
Messages : 466
Inscription : mer. 25/juil./2007 0:13

Générateur de labyrinthe.....................][][][][][][

Message par Mytic »

Une autre de mes créations nocturnes. :lol:
Cette procédure génère des labyrinthes rapidement.

Code : Tout sélectionner

Procedure labi(maxlX.l,minlY.l,grosso.l,couleur.l)
#taille = 13
For y = 1 To minlY-1 Step #taille
For x = 1 To maxlX-1 Step #taille
ax = Random(1)
If ax <> 0
For i = 0 To grosso
LineXY(x,y+i,x+#taille,y+i,couleur)
Next i

EndIf
Next x
Next y
For x = 1 To maxlX-1 Step #taille
For y = 1 To minlY-1 Step #taille
ay = Random(1)
If ay <> 0
For i = 0 To grosso
LineXY(x+i,y,x+i,y+#taille,couleur)
Next i
EndIf
Next y
Next x
EndProcedure

InitSprite()
InitKeyboard()
OpenScreen(640,480,16,"test")
FlipBuffers()

Repeat
ClearScreen(0)
StartDrawing(ScreenOutput())
labi(640,480,0,255)
StopDrawing()
FlipBuffers()
Delay(200)
ExamineKeyboard()
Until KeyboardPushed(#PB_Key_Escape) <> 0
Frenchy Pilou
Messages : 2194
Inscription : jeu. 27/janv./2005 19:07

Message par Frenchy Pilou »

effectivement, on n'a pas le temps de trouver la sortie :D
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

Frenchy Pilou a écrit :effectivement, on n'a pas le temps de trouver la sortie :D
sont system est simple et tres efficace :D

bien que dans sa forme actuel , il ne puisse garantir une entré et une sortie !

puisque le principe repose sur l'affichage de lignes horizontale, et verticales, aléatoire :D (c'est bien vu du reste :D )

il suffirait de faire dessiner un parcours apres creation du labyrinthe :D


une fois le labyrinthe déssiné:

tu prends un crayon gomme qui part d'un bord , puis qui écrit en couleur de fond (donc efface) , d'un bout a l'autre (un serpent aleatoire avec des virages a 90 degres :D )
et hop l'air de rien ce crayon fera des trous dans certains mur, et passera dans certaines allées deja crées :D

pour au final etre sur qu'il y a au moins un chemin viable :)
Mytic
Messages : 466
Inscription : mer. 25/juil./2007 0:13

Message par Mytic »

@Dobro
Ce serpent devra être aveugle pour dessiner un chemin dur, sinon il sera perceptible à l’œil.
Mais ton idée est vraiment bien pensée. Reste plus qu’à l’adapter.
:?
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

Mytic a écrit :@Dobro
Ce serpent devra être aveugle pour dessiner un chemin dur, sinon il sera perceptible à l’œil.
Mais ton idée est vraiment bien pensée. Reste plus qu’à l’adapter.
:?
pas pour ce soir en tout cas , je vais pas tarder a allez me Zoner !! :D
Mytic
Messages : 466
Inscription : mer. 25/juil./2007 0:13

Message par Mytic »

Dobro a écrit :
pas pour ce soir en tout cas , je vais pas tarder a allez me Zoner !! :D
Zoner ?! :?
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

Mytic a écrit :
Dobro a écrit :
pas pour ce soir en tout cas , je vais pas tarder a allez me Zoner !! :D
Zoner ?! :?
expression qui signifie "allez Dormir" en "Parigot" :D
- coucher (se)
se pager, se paddocker, se pieuter, se zoner, se pagnoter
on dit aussi "mettre la viande dans le torchon" :lol:
Mytic
Messages : 466
Inscription : mer. 25/juil./2007 0:13

Message par Mytic »

Ah… Merci pour l’info… :lol:
Moi aussi je devrai aller dormir, demain j’ai un test + une présentation à faire !!!
(Je viens de le savoir il y’a une heure, et j’ai rien préparer)
:? :cry:
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

Mytic a écrit :Ah… Merci pour l’info… :lol:
Moi aussi je devrai aller dormir, demain j’ai un test + une présentation à faire !!!
(Je viens de le savoir il y’a une heure, et j’ai rien préparer)
:? :cry:
bon courage pour demain , Bonne nuit :D
Répondre