FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» bouton dans autre form que 0
Labyrinth - Page 3 Emptypar leclode Aujourd'hui à 13:59

» KGF_dll - nouvelles versions
Labyrinth - Page 3 Emptypar Klaus Aujourd'hui à 11:41

» Gestion d'un système client-serveur.
Labyrinth - Page 3 Emptypar Klaus Aujourd'hui à 10:23

» PANORAMIC V 1
Labyrinth - Page 3 Emptypar papydall Sam 4 Mai 2024 - 3:43

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Labyrinth - Page 3 Emptypar Froggy One Jeu 2 Mai 2024 - 11:16

» @Jack
Labyrinth - Page 3 Emptypar Jack Mar 30 Avr 2024 - 20:40

» trop de fichiers en cours
Labyrinth - Page 3 Emptypar papydall Lun 29 Avr 2024 - 23:39

» Une calculatrice en une ligne de programme
Labyrinth - Page 3 Emptypar jean_debord Dim 28 Avr 2024 - 8:47

» Form(résolu)
Labyrinth - Page 3 Emptypar leclode Sam 27 Avr 2024 - 17:59

» Bataille navale SM
Labyrinth - Page 3 Emptypar jjn4 Ven 26 Avr 2024 - 17:39

» Les maths du crocodile
Labyrinth - Page 3 Emptypar jean_debord Jeu 25 Avr 2024 - 10:37

» Naissance de Crocodile Basic
Labyrinth - Page 3 Emptypar jean_debord Jeu 25 Avr 2024 - 8:45

» Dessine-moi une galaxie
Labyrinth - Page 3 Emptypar jjn4 Lun 22 Avr 2024 - 13:47

» Erreur END_SUB
Labyrinth - Page 3 Emptypar jjn4 Lun 22 Avr 2024 - 13:43

» Bug sur DIM_LOCAL ?
Labyrinth - Page 3 Emptypar papydall Dim 21 Avr 2024 - 23:30

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
Le deal à ne pas rater :
Cdiscount : -30€ dès 300€ d’achat sur une sélection Apple
Voir le deal

 

 Labyrinth

Aller en bas 
+4
bignono
jpcr
Jicehel
Nardo26
8 participants
Aller à la page : Précédent  1, 2, 3, 4  Suivant
AuteurMessage
jpcr

jpcr


Nombre de messages : 276
Age : 57
Localisation : Val de Marne (94)
Date d'inscription : 06/05/2011

Labyrinth - Page 3 Empty
MessageSujet: Re: Labyrinth   Labyrinth - Page 3 EmptyLun 21 Nov 2011 - 17:01

c clair que je ne sais toujours pas ou est la sortie...
Revenir en haut Aller en bas
http://jeanpierre.creis.free.fr/Panoramic/Panoramic.html
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Labyrinth - Page 3 Empty
MessageSujet: Re: Labyrinth   Labyrinth - Page 3 EmptyLun 21 Nov 2011 - 17:22

on va peut-être se rencontrer en train d'errer dans les couloirs...
Revenir en haut Aller en bas
Nardo26

Nardo26


Nombre de messages : 2294
Age : 55
Localisation : Valence
Date d'inscription : 02/07/2010

Labyrinth - Page 3 Empty
MessageSujet: Re: Labyrinth   Labyrinth - Page 3 EmptyLun 21 Nov 2011 - 17:25

Oui ça serait sympa un jeu en ligne... Wink

Revenir en haut Aller en bas
http://nardo26.lescigales.org
Jicehel

Jicehel


Nombre de messages : 5947
Age : 51
Localisation : 77500
Date d'inscription : 18/04/2011

Labyrinth - Page 3 Empty
MessageSujet: Re: Labyrinth   Labyrinth - Page 3 EmptyLun 21 Nov 2011 - 22:41

Bon bignono ne nous a pas fait de nouvelle version géniale depuis plusieurs heures, du coup, je mets une petite version modifiée pour éviter les problème d'approximation suite à la suite de déplacement avec des pas qui ne sont pas des multiples exacts (on finissait dans les murs ...) et test les dépassement dans les mouvements pour éviter que le joueur ne fasse demi tour à l'entrée pour faire le tour du labyrinthe et n'arrive à la sortie ... ou qu'il parte en sens inverse et plante le programme avec un dépassement de tableau puisque l'on irait à moins de 0 ... et quelques autres petites modifs mineures
Code:
' ******************************************************************************
' ******************************************************************************
' ************************* LABYRINTHE 3D version 08 ***************************
' ********************** CRÉÉ PAR bignono le 21/11/2011 ************************
' **************************** EN BASIC PANORAMIC ******************************
' ******************************************************************************
' ******************************************************************************


dim ang,d,dtn,espace,gd,h,i,j,k,n,pas,pasv,r,s,v,pt,rot,w, c(4)
label affiche,attend,droite,entr,gauche,lab,moteur,pan1,pan2,pan4,pan8,pivot
label r1,r2,r3,r4,r5,r6,r7,termine,trace
scene3d 1:full_space 0:full_space 1:light_position 0,100,0
3d_skybox 1:' ---> Si vous voulez définir un "SKYBOX 1" ici sur cette ligne
' N'oubliez pas d'habiller votre skybox avec les commandes 3d_load_texture_back, bottom, front, left, right et top
3d_plane 2:3d_scale 2,500,500,1:3d_x_rotate 2,90:3d_y_position 2,0:3d_color 2,0,0,32: ' ---> CHANGEZ LE 3D_COLOR 2 PAR 3D_LOAD_TEXTURE 2,"FICHIER BMP OU JPG" ET N'OUBLIEZ PAS LES COMMANDES 3D_U_TILES & 3D_v_TILES
3d_cube 3,1:3d_mesh 4:3d_hide 3: ' CRÉATION DES VÉHICULES MOTEUR ET CAMÉRA


' ******************************************************************************
' ************************ INITIALISATION DES VARIABLES ************************
' ******************************************************************************
' ** h et v représentent les dimensions du labyrinthe (vous pouvez les modifier,
' mais plus le labyrinthe est grand, plus le programme ralentit!) **************
' ****** pas : sert à règler la vitesse de déplacement dans le labyrinthe ******
' ****** pasv: sert à règler la vitesse du zoom vertical ***********************
h=20:v=15:n=h*v-1: h=h+1: v=v+1: d=1:w=4:espace=0:pas=0.75:pasv=1.5
dim a(h+1,v+1),mur(h+1,v+1),trc(h+1,v+1)
gosub lab

' ******************************************************************************
' ******************************************************************************



' ******************************************************************************
' ****************      CONSTRUCTION DU LABYRINTHE      ************************
' ******************************************************************************
3d_text 5,"ENTRÉE":3d_color 5,0,0,255:3d_y_rotate 5,180
3d_position 5,((h/2)*8)-(2*odd(h)-2*even(h)),4,12
3d_text 6,"SORTIE":3d_color 6,0,0,255:3d_y_rotate 6,180
3d_position 6,((h/2)*8)-(2*odd(h)-2*even(h)),4,(v*8)+4

' CAS 1 = MUR GAUCHE, CAS 2 = MUR ARRIÈRE, CAS 4 = MUR DROIT, CAS 8 = MUR FACE
' LES AUTRES CAS, C'EST UNE ADDITION; EX: CAS 3 = CAS 1 + CAS 2
for j=2 to v
  for i=2 to h
  if j=2 and i=int(h/2) or j=v and i=int(h/2) then goto entr
    select a(i,j)
      case 1:        gosub pan1                      : ' mur de gauche (G)
      case 2:        gosub pan2                      : ' mur du bas    (B)
      case 3:        gosub pan1:gosub pan2          : ' G+B
      case 4:        gosub pan4                      : ' mur de droite (D)
      case 5:        gosub pan1:gosub pan4          : ' G+D
      case 6:        gosub pan2:gosub pan4          : ' B+D
      case 7:        gosub pan1:gosub pan2:gosub pan4: ' G+B+D (cul de sac en u)
      case 8:        gosub pan8                      : ' mur du haut  (H)
      case 9:        gosub pan1:gosub pan8          : ' G+H
      case 10:      gosub pan2:gosub pan8          : ' B+H
      case 11:      gosub pan1:gosub pan2:gosub pan8: ' G+B+H (cul de sac en [)
      case 12:      gosub pan4:gosub pan8          : ' D+H
      case 13:      gosub pan1:gosub pan4:gosub pan8: ' G+D+H (cul de sac en n)
      case 14:      gosub pan2:gosub pan4:gosub pan8: ' B+D+H (cul de sac en ])
    end_select
entr:
  next i
next j
' ******************************************************************************
' ******************************************************************************



' ******************************************************************************
' ** Initialisation position de départ et création d'un timer pour gérer les  **
' * déplacements. Si le programme plante augmentez la valeur du timer_interval *
' ******************************************************************************
i=int(h/2):j=1:dtn=1:a(i,j)=a(i,j)-2:a(i,v)=a(i,v)-2
3d_position 3,((h/2)*8)-(3*odd(h)),4,j*8:gosub affiche
timer 2:timer_interval 2,100:on_timer 2,moteur
end


' ******************************************************************************
' *****************    LE PROGRAMME PRINCIPAL    ******************************
' ******************************************************************************
moteur:

if espace=1 then goto trace

select scancode

case 27:goto termine: ' SORTIE PROGRAMME

case 32:espace=1: ' AFFICHAGE DU PLAN DU LABYRINTHE

case 37:gosub gauche: ' FLECHE GAUCHE = ROTATION A GAUCHE

case 39:gosub droite: ' FLECHE DROITE = ROTATION A DROITE

case 38: ' FLECHE HAUT = DTN DEFINIT LA DIRECTION NORD, OUEST, SUD OU EST
    if dtn=1 and j < v+1
        if a(i,j)=0 or a(i,j)=1 or a(i,j)=4 or a(i,j)=5 or a(i,j)=8 or a(i,j)=9 or a(i,j)=12 or a(i,j)=13
            pt=j*8:j=j+1:gd=j*8
              repeat
                pt=pt+pas:3d_move 3,pas:gosub affiche
              until pt>gd
        end_if
    end_if

    if dtn=2 and i < h  and j > 1
        if a(i,j)<4 or a(i,j)>7 and a(i,j)<12
          pt=i*8:i=i+1:gd=i*8
              repeat
                pt=pt+pas:3d_move 3,pas:gosub affiche
              until pt>gd
        end_if
    end_if

    if dtn=3 and j > 2
        if a(i,j)<8
            pt=j*8:j=j-1:gd=j*8
              repeat
                gd=gd+pas:3d_move 3,pas:gosub affiche
              until gd>pt
        end_if
    end_if

    if dtn=4 and i > 2 and j > 1
        if odd(a(i,j))=0
            pt=i*8:i=i-1:gd=i*8
              repeat
                gd=gd+pas:3d_move 3,pas:gosub affiche
              until gd>pt
        end_if
    end_if
    3d_position 3, i*8,4,j*8
end_select

' TEST DE SORTIE DU LABYRINTHE
if j=v+1
  beep_exclamation:message "BRAVO, VOUS ETES SORTI DU LABYRINTHE!":goto termine
end_if

' MÉMORISATION DE SON PASSAGE PAR DES SPHÈRES ORANGES
if trc(i,j)=0
  3d_sphere number_3d_objects+1,0.25
  3d_position number_3d_objects,i*8,1,j*8
  3d_color number_3d_objects,224,128,32
  trc(i,j)=1
end_if

return
' ******************************************************************************
' ******************************************************************************



' ******************************************************************************
' *********************    LES ROUTINES      ***********************************
' ******************************************************************************

' CALCUL DES POSITIONS DES VÉHICULES MOTEUR ET CAMÉRA
affiche:
3d_position 4,o3d_x_position(3),o3d_y_position(3),o3d_z_position(3):3d_rotate 4,o3d_x_rotate(3),o3d_y_rotate(3),o3d_z_rotate(3)
3d_move 4,1:cam_position o3d_x_position(3),w,o3d_z_position(3):point_position o3d_x_position(4),4,o3d_z_position(4)
return

' CRÉATION DES MURS DU LABYRINTHE : Vous pouvez supprimer les 3d_color et mettre
' à la place un 3d_load_texture si vous voulez habillez les murs!!!
pan1:
3d_box number_3d_objects+1,8.9,8.9,1:3d_position number_3d_objects,(i*8)-4,4,(j*8)
3d_y_rotate number_3d_objects,90:3d_color number_3d_objects,96,0,0
return
pan2:
3d_box number_3d_objects+1,8.9,8.9,1:3d_position number_3d_objects,(i*8),4,(j*8)+4
return
pan4:
3d_box number_3d_objects+1,8.9,8.9,1:3d_position number_3d_objects,(i*8)+4,4,(j*8)
3d_y_rotate number_3d_objects,90:3d_color number_3d_objects,96,0,0
return
pan8:
3d_box number_3d_objects+1,8.9,8.9,1:3d_position number_3d_objects,(i*8),4,(j*8)-4
return

' VISION DE HAUT DU LABYRINTHE EN 3D
trace:
  repeat
      w=w+pasv:cam_position o3d_x_position(3),w,o3d_z_position(3):display
  until w=70

attend:
if scancode=27 then goto termine
if scancode=32
  repeat
      w=w-pasv:cam_position o3d_x_position(3),w,o3d_z_position(3):display
  until w=4
  espace=0
  goto moteur
end_if
if scancode=37 then gosub gauche
if scancode=39 then gosub droite
goto attend

' ROTATION A GAUCHE
gauche:
ang=rot+90:dtn=dtn+1:if dtn>4 then dtn=1
    repeat
        rot=rot+6*pas:3d_y_rotate 3,rot:if w>4 then gosub pivot
        gosub affiche
    until rot>=ang
return

' ROTATION A DROITE
droite:
 ang=rot-90:dtn=dtn-1:if dtn<1 then dtn=4
    repeat
        rot=rot-6*pas:3d_y_rotate 3,rot:if w>4 then gosub pivot
        gosub affiche
    until rot<=ang
return

' ROTATION DE LA CAMÉRA LORS DE LA VISION DE HAUT
pivot:
cam_position o3d_x_position(3),o3d_y_position(3)+w,o3d_z_position(3)
return

' GÉNÉRATION DU LABYRINTHE
lab:
for j=2 to v+1:a(1,j)=4:a(h+1,j)=1:next j
for i=2 to h:a(i,v+1)=8:a(i,1)=2:for j=2 to v:a(i,j)=15:next j:next i
r=int(h/2+1):s=int(v/2+1):a(r,s)=15
for k=1 to n
r1:
  i=0
  if a(r-1,s)=15 then i=i+1 :c(i)=1
  if a(r,s-1)=15 then i=i+1 :c(i)=2
  if a(r+1,s)=15 then i=i+1 :c(i)=3
  if a(r,s+1)=15 then i=i+1 :c(i)=4
  if i=0 then goto r2
  if i<>1 then i=int(rnd(i)+1)
  select c(i)
      case 1 :a(r,s)=a(r,s)-(int(a(r,s))-int(int(a(r,s))/2)*2):r=r-1:a(r,s)=a(r,s)-(int(a(r,s)/4)-int(int(a(r,s)/4)/2)*2)*4
      case 2 :a(r,s)=a(r,s)-(int(a(r,s)/8)-int(int(a(r,s)/8)/2)*2)*8:s=s-1:a(r,s)=a(r,s)-(int(a(r,s)/2)-int(int(a(r,s)/2)/2)*2)*2
      case 3 :a(r,s)=a(r,s)-(int(a(r,s)/4)-int(int(a(r,s)/4)/2)*2)*4:r=r+1:a(r,s)=a(r,s)-(int(a(r,s))-int(int(a(r,s))/2)*2)
      case 4 :a(r,s)=a(r,s)-(int(a(r,s)/2)-int(int(a(r,s)/2)/2)*2)*2:s=s+1:a(r,s)=a(r,s)-(int(a(r,s)/8)-int(int(a(r,s)/8)/2)*2)*8
  end_select
  goto r7
r2:
  if d=-1 then goto r3
  if r<>h then goto r5
  if s<>v then goto r4
  r=2:s=2:goto r6
r3:
  if r<>2 then goto r5
  if s<>v then goto r4
  r=h:s=2: goto r6
r4:
  s=s+1:d=-1*d:goto r6
r5:
  r=r+d
r6:
  if a(r,s)=15 then goto r2
  goto r1
r7:
  mur(r,s)=int(rnd(6)+1)
  if mur(r,s)=mur(r-1,s) or mur(r,s)=mur(r+1,s) or mur(r,s)=mur(r,s-1) or mur(r,s)=mur(r,s+1) then goto r7
next k
return

' SORTIE DU PROGRAMME
termine:
timer_off 2:terminate
Revenir en haut Aller en bas
Nardo26

Nardo26


Nombre de messages : 2294
Age : 55
Localisation : Valence
Date d'inscription : 02/07/2010

Labyrinth - Page 3 Empty
MessageSujet: Re: Labyrinth   Labyrinth - Page 3 EmptyLun 21 Nov 2011 - 23:40

Superbe labyrinthe !
On tourne un peu en rond parfois, heureusement qu'il y a la barre d'espace pour nous sauver ! Wink
Il faudrait peut être rajouter des repères visuels: comme les murs sont tous identiques, c'est hard de ne pas perdre son sens de l'orientation... Smile
Revenir en haut Aller en bas
http://nardo26.lescigales.org
wiwi60




Nombre de messages : 57
Date d'inscription : 21/11/2011

Labyrinth - Page 3 Empty
MessageSujet: Re: Labyrinth   Labyrinth - Page 3 EmptyMar 22 Nov 2011 - 1:21

N'est ce pas le but du labirynthe!!!
Revenir en haut Aller en bas
http://freeaddons.free.fr
bignono

bignono


Nombre de messages : 1127
Age : 66
Localisation : Val de Marne
Date d'inscription : 13/11/2011

Labyrinth - Page 3 Empty
MessageSujet: Re: Labyrinth   Labyrinth - Page 3 EmptyMar 22 Nov 2011 - 7:29

BONJOUR AMIS PANORAMICIENS!

Merci Jicehel pour les petites modifs. J'essaye de coder maintenant le déplacement du monstre, mais c'est plus difficile qu'il n'y parait.
alors un peu de patience...
dès que j'y serais arrivé, vous aurez la primeur du code.

bonne journée à tous! Cool
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 51
Localisation : 77500
Date d'inscription : 18/04/2011

Labyrinth - Page 3 Empty
MessageSujet: Re: Labyrinth   Labyrinth - Page 3 EmptyMar 22 Nov 2011 - 7:49

Merci, tiens, je mets mon implémentation des texture pour que tout le monde puisse avoir facilement un exemple et aussi pour avoir une image de monstre pour ton code.

Bon, la création du labyrinthe est plus longue, il va falloir rajouter une barre de progression à la Nardo pour ne pas avoir un écran blanc immobile ... Smile

Voir le Fichier : Labyrinthe.7z

Et là, c'est le code, pour faire simple, à la place de faire le 3D_image_texture, pour faire plaisir à Nardo, il faudra appeler une routine qui fera un tirage aléatoire de la texture ou selon des critères particulier (par exemple de la mousse sur les murs au nord, ...) seule votre imagination compte ...

Bon, le code dans le 7z fonctionne mais la dernière version est ci dessous:

Code:

' ******************************************************************************
' ******************************************************************************
' ************************* LABYRINTHE 3D version 08 ***************************
' ********************** CRÉÉ PAR bignono le 21/11/2011 ************************
' **************************** EN BASIC PANORAMIC ******************************
' ******************************************************************************
' ******************************************************************************


dim ang,d,dtn,espace,gd,h,i,j,k,n,pas,pasv,r,s,v,pt,rot,w, c(4)
dim texture_mur : texture_mur = 100 : image texture_mur: file_load texture_mur,"mur.bmp"
label affiche,attend,droite,entr,gauche,lab,moteur,pan1,pan2,pan4,pan8,pivot
label r1,r2,r3,r4,r5,r6,r7,termine,trace
scene3d 1:full_space 0:full_space 1:light_position 0,100,0

3d_skybox 1 :  3d_load_texture_back  1,"noir.bmp" :  3d_load_texture_front 1,"noir.bmp"
3d_load_texture_left 1,"noir.bmp": 3d_load_texture_right 1,"noir.bmp": 3d_load_texture_top  1,"noir.bmp"


' ******************************************************************************
' ************************ INITIALISATION DES VARIABLES ************************
' ******************************************************************************
' ** h et v représentent les dimensions du labyrinthe (vous pouvez les modifier,
' mais plus le labyrinthe est grand, plus le programme ralentit!) **************
' ****** pas : sert à règler la vitesse de déplacement dans le labyrinthe ******
' ****** pasv: sert à règler la vitesse du zoom vertical ***********************
h=20:v=15:n=h*v-1: h=h+1: v=v+1: d=1:w=4:espace=0:pas=0.75:pasv=1.5

dim a(h+1,v+1),mur(h+1,v+1),trc(h+1,v+1)
3d_plane 2:3d_scale 2,500,500,1:3d_x_rotate 2,90:3d_y_position 2,0
3d_u_tile 2,500: 3d_v_tile 2,500
3d_load_texture 2,"sol.bmp"

3d_cube 3,1:3d_mesh 4:3d_hide 3: ' CRÉATION DES VÉHICULES MOTEUR ET CAMÉRA

gosub lab

' ******************************************************************************
' ******************************************************************************



' ******************************************************************************
' ****************      CONSTRUCTION DU LABYRINTHE      ************************
' ******************************************************************************
3d_text 5,"ENTRÉE":3d_color 5,0,0,255:3d_y_rotate 5,180
3d_position 5,((h/2)*8)-(2*odd(h)-2*even(h)),4,12
3d_text 6,"SORTIE":3d_color 6,0,0,255:3d_y_rotate 6,180
3d_position 6,((h/2)*8)-(2*odd(h)-2*even(h)),4,(v*8)+4

' CAS 1 = MUR GAUCHE, CAS 2 = MUR ARRIÈRE, CAS 4 = MUR DROIT, CAS 8 = MUR FACE
' LES AUTRES CAS, C'EST UNE ADDITION; EX: CAS 3 = CAS 1 + CAS 2
for j=2 to v
  for i=2 to h
  if j=2 and i=int(h/2) or j=v and i=int(h/2) then goto entr
    select a(i,j)
      case 1:        gosub pan1                      : ' mur de gauche (G)
      case 2:        gosub pan2                      : ' mur du bas    (B)
      case 3:        gosub pan1:gosub pan2          : ' G+B
      case 4:        gosub pan4                      : ' mur de droite (D)
      case 5:        gosub pan1:gosub pan4          : ' G+D
      case 6:        gosub pan2:gosub pan4          : ' B+D
      case 7:        gosub pan1:gosub pan2:gosub pan4: ' G+B+D (cul de sac en u)
      case 8:        gosub pan8                      : ' mur du haut  (H)
      case 9:        gosub pan1:gosub pan8          : ' G+H
      case 10:      gosub pan2:gosub pan8          : ' B+H
      case 11:      gosub pan1:gosub pan2:gosub pan8: ' G+B+H (cul de sac en [)
      case 12:      gosub pan4:gosub pan8          : ' D+H
      case 13:      gosub pan1:gosub pan4:gosub pan8: ' G+D+H (cul de sac en n)
      case 14:      gosub pan2:gosub pan4:gosub pan8: ' B+D+H (cul de sac en ])
    end_select
entr:
  next i
next j
' ******************************************************************************
' ******************************************************************************



' ******************************************************************************
' ** Initialisation position de départ et création d'un timer pour gérer les  **
' * déplacements. Si le programme plante augmentez la valeur du timer_interval *
' ******************************************************************************
i=int(h/2):j=1:dtn=1:a(i,j)=a(i,j)-2:a(i,v)=a(i,v)-2
3d_position 3,((h/2)*8)-(3*odd(h)),4,j*8:gosub affiche
timer 2:timer_interval 2,100:on_timer 2,moteur
end


' ******************************************************************************
' *****************    LE PROGRAMME PRINCIPAL    ******************************
' ******************************************************************************
moteur:

if espace=1 then goto trace

select scancode

case 27:goto termine: ' SORTIE PROGRAMME

case 32:espace=1: ' AFFICHAGE DU PLAN DU LABYRINTHE

case 37:gosub gauche: ' FLECHE GAUCHE = ROTATION A GAUCHE

case 39:gosub droite: ' FLECHE DROITE = ROTATION A DROITE

case 38: ' FLECHE HAUT = DTN DEFINIT LA DIRECTION NORD, OUEST, SUD OU EST
    if dtn=1 and j < v+1
        if a(i,j)=0 or a(i,j)=1 or a(i,j)=4 or a(i,j)=5 or a(i,j)=8 or a(i,j)=9 or a(i,j)=12 or a(i,j)=13
            pt=j*8:j=j+1:gd=j*8
              repeat
                pt=pt+pas:3d_move 3,pas:gosub affiche
              until pt>gd
        end_if
    end_if

    if dtn=2 and i < h  and j > 1
        if a(i,j)<4 or a(i,j)>7 and a(i,j)<12
          pt=i*8:i=i+1:gd=i*8
              repeat
                pt=pt+pas:3d_move 3,pas:gosub affiche
              until pt>gd
        end_if
    end_if

    if dtn=3 and j > 2
        if a(i,j)<8
            pt=j*8:j=j-1:gd=j*8
              repeat
                gd=gd+pas:3d_move 3,pas:gosub affiche
              until gd>pt
        end_if
    end_if

    if dtn=4 and i > 2 and j > 1
        if odd(a(i,j))=0
            pt=i*8:i=i-1:gd=i*8
              repeat
                gd=gd+pas:3d_move 3,pas:gosub affiche
              until gd>pt
        end_if
    end_if
    3d_position 3, i*8,4,j*8
end_select

' TEST DE SORTIE DU LABYRINTHE
if j=v+1
  beep_exclamation:message "BRAVO, VOUS ETES SORTI DU LABYRINTHE!":goto termine
end_if

' MÉMORISATION DE SON PASSAGE PAR DES SPHÈRES ORANGES
if trc(i,j)=0
  3d_sphere number_3d_objects+1,0.25
  3d_position number_3d_objects,i*8,1,j*8
  3d_color number_3d_objects,224,128,32
  trc(i,j)=1
end_if

return
' ******************************************************************************
' ******************************************************************************



' ******************************************************************************
' *********************    LES ROUTINES      ***********************************
' ******************************************************************************

' CALCUL DES POSITIONS DES VÉHICULES MOTEUR ET CAMÉRA
affiche:
3d_position 4,o3d_x_position(3),o3d_y_position(3),o3d_z_position(3):3d_rotate 4,o3d_x_rotate(3),o3d_y_rotate(3),o3d_z_rotate(3)
3d_move 4,1:cam_position o3d_x_position(3),w,o3d_z_position(3):point_position o3d_x_position(4),4,o3d_z_position(4)
return

' CRÉATION DES MURS DU LABYRINTHE : Vous pouvez supprimer les 3d_color et mettre
' à la place un 3d_load_texture si vous voulez habillez les murs!!!
pan1:
3d_box number_3d_objects+1,8.9,8.9,1:3d_position number_3d_objects,(i*8)-4,4,(j*8)
3d_y_rotate number_3d_objects,90 : 3d_image_texture number_3d_objects, texture_mur
return

pan2:
3d_box number_3d_objects+1,8.9,8.9,1:3d_position number_3d_objects,(i*8),4,(j*8)+4
3d_image_texture number_3d_objects, texture_mur
return

pan4:
3d_box number_3d_objects+1,8.9,8.9,1:3d_position number_3d_objects,(i*8)+4,4,(j*8)
3d_y_rotate number_3d_objects,90: 3d_image_texture number_3d_objects, texture_mur
return

pan8:
3d_box number_3d_objects+1,8.9,8.9,1:3d_position number_3d_objects,(i*8),4,(j*8)-4
3d_image_texture number_3d_objects, texture_mur
return

' VISION DE HAUT DU LABYRINTHE EN 3D
trace:
  repeat
      w=w+pasv:cam_position o3d_x_position(3),w,o3d_z_position(3):display
  until w=70

attend:
if scancode=27 then goto termine
if scancode=32
  repeat
      w=w-pasv:cam_position o3d_x_position(3),w,o3d_z_position(3):display
  until w=4
  espace=0
  goto moteur
end_if
if scancode=37 then gosub gauche
if scancode=39 then gosub droite
goto attend

' ROTATION A GAUCHE
gauche:
ang=rot+90:dtn=dtn+1:if dtn>4 then dtn=1
    repeat
        rot=rot+6*pas:3d_y_rotate 3,rot:if w>4 then gosub pivot
        gosub affiche
    until rot>=ang
return

' ROTATION A DROITE
droite:
 ang=rot-90:dtn=dtn-1:if dtn<1 then dtn=4
    repeat
        rot=rot-6*pas:3d_y_rotate 3,rot:if w>4 then gosub pivot
        gosub affiche
    until rot<=ang
return

' ROTATION DE LA CAMÉRA LORS DE LA VISION DE HAUT
pivot:
cam_position o3d_x_position(3),o3d_y_position(3)+w,o3d_z_position(3)
return

' GÉNÉRATION DU LABYRINTHE
lab:
for j=2 to v+1:a(1,j)=4:a(h+1,j)=1:next j
for i=2 to h:a(i,v+1)=8:a(i,1)=2:for j=2 to v:a(i,j)=15:next j:next i
r=int(h/2+1):s=int(v/2+1):a(r,s)=15
for k=1 to n
r1:
  i=0
  if a(r-1,s)=15 then i=i+1 :c(i)=1
  if a(r,s-1)=15 then i=i+1 :c(i)=2
  if a(r+1,s)=15 then i=i+1 :c(i)=3
  if a(r,s+1)=15 then i=i+1 :c(i)=4
  if i=0 then goto r2
  if i<>1 then i=int(rnd(i)+1)
  select c(i)
      case 1 :a(r,s)=a(r,s)-(int(a(r,s))-int(int(a(r,s))/2)*2):r=r-1:a(r,s)=a(r,s)-(int(a(r,s)/4)-int(int(a(r,s)/4)/2)*2)*4
      case 2 :a(r,s)=a(r,s)-(int(a(r,s)/8)-int(int(a(r,s)/8)/2)*2)*8:s=s-1:a(r,s)=a(r,s)-(int(a(r,s)/2)-int(int(a(r,s)/2)/2)*2)*2
      case 3 :a(r,s)=a(r,s)-(int(a(r,s)/4)-int(int(a(r,s)/4)/2)*2)*4:r=r+1:a(r,s)=a(r,s)-(int(a(r,s))-int(int(a(r,s))/2)*2)
      case 4 :a(r,s)=a(r,s)-(int(a(r,s)/2)-int(int(a(r,s)/2)/2)*2)*2:s=s+1:a(r,s)=a(r,s)-(int(a(r,s)/8)-int(int(a(r,s)/8)/2)*2)*8
  end_select
  goto r7
r2:
  if d=-1 then goto r3
  if r<>h then goto r5
  if s<>v then goto r4
  r=2:s=2:goto r6
r3:
  if r<>2 then goto r5
  if s<>v then goto r4
  r=h:s=2: goto r6
r4:
  s=s+1:d=-1*d:goto r6
r5:
  r=r+d
r6:
  if a(r,s)=15 then goto r2
  goto r1
r7:
  mur(r,s)=int(rnd(6)+1)
  if mur(r,s)=mur(r-1,s) or mur(r,s)=mur(r+1,s) or mur(r,s)=mur(r,s-1) or mur(r,s)=mur(r,s+1) then goto r7
next k
return

' SORTIE DU PROGRAMME
termine:
timer_off 2:terminate
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 51
Localisation : 77500
Date d'inscription : 18/04/2011

Labyrinth - Page 3 Empty
MessageSujet: Re: Labyrinth   Labyrinth - Page 3 EmptyMar 22 Nov 2011 - 12:36

Fond noir (regarder bien, c'est un pixel juste en dessous Smile ....):
Labyrinth - Page 3 Noirlc

Mur 1 (pour la gauche (ouest)):
Labyrinth - Page 3 Mur1f

Mur 2 (pour le haut (nord)):
Labyrinth - Page 3 Mur2

Mur 3 (pour la droite (est)):
Labyrinth - Page 3 Mur3

Mur 4 (pour le bas (sud)):
Labyrinth - Page 3 Mur4

Sol:
Labyrinth - Page 3 Solaf
Shot at 2011-11-22

Monstre:
Labyrinth - Page 3 Monstrey
Revenir en haut Aller en bas
Nardo26

Nardo26


Nombre de messages : 2294
Age : 55
Localisation : Valence
Date d'inscription : 02/07/2010

Labyrinth - Page 3 Empty
MessageSujet: Re: Labyrinth   Labyrinth - Page 3 EmptyMar 22 Nov 2011 - 12:58

Le lien pour le petit pixel noir Wink
ici !

Le code au dessus n'est pas adapté pour tes images ?...
Revenir en haut Aller en bas
http://nardo26.lescigales.org
Jicehel

Jicehel


Nombre de messages : 5947
Age : 51
Localisation : 77500
Date d'inscription : 18/04/2011

Labyrinth - Page 3 Empty
MessageSujet: Re: Labyrinth   Labyrinth - Page 3 EmptyMar 22 Nov 2011 - 13:28

Salut Nardo, non, le code est pour les images du fichier compressé, mais il faut juste charger les images au départ
Code:

dim ang,d,dtn,espace,gd,h,i,j,k,n,pas,pasv,r,s,v,pt,rot,w, c(4)
' remplacer la ligne dim texture_mur par les 4 lignes ci dessous:
dim texture_mur1 : texture_mur1 = 101 : image texture_mur1: file_load texture_mur1,"mur1.bmp"
dim texture_mur2 : texture_mur2 = 102 : image texture_mur2: file_load texture_mur2,"mur2.bmp"
dim texture_mur3 : texture_mur3 = 103 : image texture_mur3: file_load texture_mur3,"mur3.bmp"
dim texture_mur4 : texture_mur4 = 105 : image texture_mur4: file_load texture_mur4,"mur4.bmp"

label...

puis les utiliser dans le source
Code:

' CRÉATION DES MURS DU LABYRINTHE : Vous pouvez supprimer les 3d_color et mettre
' à la place un 3d_load_texture si vous voulez habillez les murs!!!
pan1:
3d_box number_3d_objects+1,8.9,8.9,1:3d_position number_3d_objects,(i*8)-4,4,(j*8)
3d_y_rotate number_3d_objects,90 : 3d_image_texture number_3d_objects, texture_mur1
return

pan2:
3d_box number_3d_objects+1,8.9,8.9,1:3d_position number_3d_objects,(i*8),4,(j*8)+4
3d_image_texture number_3d_objects, texture_mur4
return

pan4:
3d_box number_3d_objects+1,8.9,8.9,1:3d_position number_3d_objects,(i*8)+4,4,(j*8)
3d_y_rotate number_3d_objects,90: 3d_image_texture number_3d_objects, texture_mur2
return

pan8:
3d_box number_3d_objects+1,8.9,8.9,1:3d_position number_3d_objects,(i*8),4,(j*8)-4
3d_image_texture number_3d_objects, texture_mur3
return


Voilà, ça devrait suffire Smile Bon, je ne peux pas tester ici au boulot, mais je pense que ça doit marcher...
J'ai reduit la taille des texture, j'espère que ça permettra d'accélérer le processus.

Nardo, si tu a 2 minutes, lors de la génération du labyrinthe, tu peux nous coder une belle bare de progression ? (Ce n'est pas un challenge, désolé, ça je sais que tu maitrises et que tu peux faire beaucoup mieux, mais bon, ça éviterait de rester sur la page blanche et de savoir que le programme n'est pas planté ...)
Revenir en haut Aller en bas
Nardo26

Nardo26


Nombre de messages : 2294
Age : 55
Localisation : Valence
Date d'inscription : 02/07/2010

Labyrinth - Page 3 Empty
MessageSujet: Re: Labyrinth   Labyrinth - Page 3 EmptyMar 22 Nov 2011 - 13:30

Je vais voir si j'ai le temps... Wink
bon, là il faut que je retourne bosser...
Revenir en haut Aller en bas
http://nardo26.lescigales.org
jpcr

jpcr


Nombre de messages : 276
Age : 57
Localisation : Val de Marne (94)
Date d'inscription : 06/05/2011

Labyrinth - Page 3 Empty
MessageSujet: Re: Labyrinth   Labyrinth - Page 3 EmptyMar 22 Nov 2011 - 14:18

faudrait une minimap qui montre ou on est...
Revenir en haut Aller en bas
http://jeanpierre.creis.free.fr/Panoramic/Panoramic.html
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Labyrinth - Page 3 Empty
MessageSujet: Re: Labyrinth   Labyrinth - Page 3 EmptyMar 22 Nov 2011 - 14:54

Ah bon, parce qu'il va y avoir un monstre en plus ? ça ne suffit pas d'errer pendant des heures le moral en berne sans avoir la moindre idée d'où on est, on risque de se faire dévorer au coin de la rue ??? affraid c'est de la cruauté pure !
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 51
Localisation : 77500
Date d'inscription : 18/04/2011

Labyrinth - Page 3 Empty
MessageSujet: Re: Labyrinth   Labyrinth - Page 3 EmptyMar 22 Nov 2011 - 16:22

Mais oui, mais oui, tu n'avais pas remarqué encore qu'on était cruel !! ^^
Revenir en haut Aller en bas
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Labyrinth - Page 3 Empty
MessageSujet: Re: Labyrinth   Labyrinth - Page 3 EmptyMar 22 Nov 2011 - 16:27

Tu connais au moins la différence entre un tigre et une pomme cuite ?
eh bien, le tigre est cruel, tandis que la pomme elle n'est pas crue, elle, puisqu'elle est cuite.
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 51
Localisation : 77500
Date d'inscription : 18/04/2011

Labyrinth - Page 3 Empty
MessageSujet: Re: Labyrinth   Labyrinth - Page 3 EmptyMar 22 Nov 2011 - 16:42

Oh purée, tu es en forme JL35 .... Laughing
Revenir en haut Aller en bas
bignono

bignono


Nombre de messages : 1127
Age : 66
Localisation : Val de Marne
Date d'inscription : 13/11/2011

Labyrinth - Page 3 Empty
MessageSujet: Re: Labyrinth   Labyrinth - Page 3 EmptyMar 22 Nov 2011 - 20:36

Bonsoir tout le monde
Bonsoir Jicehel.

Bon, je n'arrive pas encore à faire ce que je veux avec ce prog! Ça me prend la tête confused . En guise de monstre, j'ai préféré un horrible glouton vert représenté sous une sphère, et mon but est qu'il dévore les oranges que vous semez sur votre passage! Mais rassurez-vous, il ne vous mangera pas, il n'aime que les oranges. C'est déjà assez hard de sortir du labyrinthe, alors si en plus on se fait bouffer, c'est une mission impossible!
Dans le code ci après (je n'ai guère eu de temps aujourd'hui et demain ce sera pareil à cause des enfants) vous ne verrez que le déplacement du glouton, mais maintenant on a l'impression qu'on se déplace par acoup, alors que le déplacement du glouton est fluide si vous prenez de la hauteur. J'ai l'impression que sur certain labyrinthe il ne visite pas toutes les pièces. Je crois que mon algorythme est mauvais! Je crois que je vais laisser tomber, ça me prend trop la tête. Evil or Very Mad
Code:

' ******************************************************************************
' ******************************************************************************
' ************************* LABYRINTHE 3D version 08 ***************************
' ********************** CRÉÉ PAR bignono le 21/11/2011 ************************
' **************************** EN BASIC PANORAMIC ******************************
' ******************************************************************************
' ******************************************************************************


dim ang,d,dtn,espace,f,g,gd,h,i,j,k,n,pas,pasv,r,s,sd,v,pt,rot,w, c(4),mpt,mgd
label affiche,attend,droite,entr,gauche,glouton,glouton2,lab,moteur,pan1,pan2,pan4,pan8,pivot
label r1,r2,r3,r4,r5,r6,r7,termine,trace
scene3d 1:full_space 0:full_space 1:light_position 0,1500,0
3d_skybox 1:' ---> Si vous voulez définir un "SKYBOX 1" ici sur cette ligne
' N'oubliez pas d'habiller votre skybox avec les commandes 3d_load_texture_back, bottom, front, left, right et top
3d_plane 2:3d_scale 2,500,500,1:3d_x_rotate 2,90:3d_y_position 2,0:3d_color 2,0,0,32: ' ---> CHANGEZ LE 3D_COLOR 2 PAR 3D_LOAD_TEXTURE 2,"FICHIER BMP OU JPG" ET N'OUBLIEZ PAS LES COMMANDES 3D_U_TILES & 3D_v_TILES
3d_cube 3,1:3d_mesh 4:3d_hide 3: ' CRÉATION DES VÉHICULES MOTEUR ET CAMÉRA
3d_sphere 5,1:3d_color 5,0,96,0:' CRÉATION DU GLOUTON VERT MANGEUR D'ORANGES


' ******************************************************************************
' ************************ INITIALISATION DES VARIABLES ************************
' ******************************************************************************
' ** h et v représentent les dimensions du labyrinthe (vous pouvez les modifier,
' mais plus le labyrinthe est grand, plus le programme ralentit!) **************
' ****** pas : sert à règler la vitesse de déplacement dans le labyrinthe ******
' ****** pasv: sert à règler la vitesse du zoom vertical ***********************
h=20:v=15:n=h*v-1:h=h+1:v=v+1:d=1:w=4:espace=0:pas=0.25:pasv=1
dim a(h+1,v+1),mur(h+1,v+1),trc(h+1,v+1),trn(h+1,v+1),gln(h,v)
gosub lab

' ******************************************************************************
' ******************************************************************************



' ******************************************************************************
' ****************      CONSTRUCTION DU LABYRINTHE      ************************
' ******************************************************************************
3d_text 6,"ENTRÉE":3d_color 6,0,0,255:3d_y_rotate 6,180
3d_position 6,((h/2)*8)-(2*odd(h)-2*even(h)),4,12
3d_text 7,"SORTIE":3d_color 7,0,0,255:3d_y_rotate 7,180
3d_position 7,((h/2)*8)-(2*odd(h)-2*even(h)),4,(v*8)+4

' CAS 1 = MUR GAUCHE, CAS 2 = MUR ARRIÈRE, CAS 4 = MUR DROIT, CAS 8 = MUR FACE
' LES AUTRES CAS, C'EST UNE ADDITION; EX: CAS 3 = CAS 1 + CAS 2
for j=2 to v
  for i=2 to h
  gln(i,j)=a(i,j)
  if j=2 and i=int(h/2) or j=v and i=int(h/2) then goto entr
    select a(i,j)
      case 1:        gosub pan1                      : ' mur de gauche (G)
      case 2:        gosub pan2                      : ' mur du bas    (B)
      case 3:        gosub pan1:gosub pan2          : ' G+B
      case 4:        gosub pan4                      : ' mur de droite (D)
      case 5:        gosub pan1:gosub pan4          : ' G+D
      case 6:        gosub pan2:gosub pan4          : ' B+D
      case 7:        gosub pan1:gosub pan2:gosub pan4: ' G+B+D (cul de sac en u)
      case 8:        gosub pan8                      : ' mur du haut  (H)
      case 9:        gosub pan1:gosub pan8          : ' G+H
      case 10:      gosub pan2:gosub pan8          : ' B+H
      case 11:      gosub pan1:gosub pan2:gosub pan8: ' G+B+H (cul de sac en [)
      case 12:      gosub pan4:gosub pan8          : ' D+H
      case 13:      gosub pan1:gosub pan4:gosub pan8: ' G+D+H (cul de sac en n)
      case 14:      gosub pan2:gosub pan4:gosub pan8: ' B+D+H (cul de sac en ])
    end_select
entr:
  next i
next j
' ******************************************************************************
' ******************************************************************************


' ******************************************************************************
' ** Initialisation position de départ et création d'un timer pour gérer les  **
' * déplacements. Si le programme plante augmentez la valeur du timer_interval *
' ******************************************************************************
i=int(h/2):j=1:dtn=1:a(i,j)=a(i,j)-2:a(i,v)=a(i,v)-2
f=i:g=j:sd=1:' f et g position départ du glouton vert, sd son sens de déplacement
3d_position 5,((h/2)*8)-(3*odd(h)),4,g*8
3d_position 3,((h/2)*8)-(3*odd(h)),4,j*8:gosub affiche
timer 2:timer_interval 2,100:on_timer 2,moteur
' timer 3:timer_interval 3,100:on_timer 3,glouton
end


' ******************************************************************************
' *****************    LE PROGRAMME PRINCIPAL    ******************************
' ******************************************************************************
moteur:

if espace=1 then goto trace

select scancode

case 27:goto termine: ' SORTIE PROGRAMME

case 32:espace=1: ' AFFICHAGE DU PLAN DU LABYRINTHE

case 37:gosub gauche: ' FLECHE GAUCHE = ROTATION A GAUCHE

case 39:gosub droite: ' FLECHE DROITE = ROTATION A DROITE

case 38: ' FLECHE HAUT = DTN DEFINIT LA DIRECTION NORD, OUEST, SUD OU EST
    if dtn=1 and j < v+1
        if a(i,j)=0 or a(i,j)=1 or a(i,j)=4 or a(i,j)=5 or a(i,j)=8 or a(i,j)=9 or a(i,j)=12 or a(i,j)=13
            pt=j*8:j=j+1:gd=j*8
              repeat
                pt=pt+pas:3d_move 3,pas:gosub affiche
              until pt>=gd
        end_if
    end_if

    if dtn=2 and i < h  and j > 1
        if a(i,j)<4 or a(i,j)>7 and a(i,j)<12
          pt=i*8:i=i+1:gd=i*8
              repeat
                pt=pt+pas:3d_move 3,pas:gosub affiche
              until pt>=gd
        end_if
    end_if

    if dtn=3 and j > 2
        if a(i,j)<8
            pt=j*8:j=j-1:gd=j*8
              repeat
                gd=gd+pas:3d_move 3,pas:gosub affiche
              until gd>=pt
        end_if
    end_if

    if dtn=4 and i > 2 and j > 1
        if odd(a(i,j))=0
            pt=i*8:i=i-1:gd=i*8
              repeat
                gd=gd+pas:3d_move 3,pas:gosub affiche
              until gd>=pt
        end_if
    end_if
end_select

 gosub glouton

' TEST DE SORTIE DU LABYRINTHE
if j=v+1
  beep_exclamation:message "BRAVO, VOUS ETES SORTI DU LABYRINTHE!":goto termine
end_if



' MÉMORISATION DE SON PASSAGE PAR DES SPHÈRES ORANGES
if trc(i,j)=0
  3d_sphere number_3d_objects+1,0.25
  3d_position number_3d_objects,i*8,1,j*8
  3d_color number_3d_objects,224,128,32
  trc(i,j)=1:trn(i,j)=number_3d_objects
end_if

return
' ******************************************************************************
' ******************************************************************************

' Gestion déplacement du glouton vert (le monstre) qui mange vos oranges
glouton:
select sd

  case 1
    mpt=g*8:g=g+1:mgd=g*8:gosub glouton2
  if gln(f,g)= 2 or gln(f,g)=4 or gln(f,g)=6 then sd=2
  if gln(f,g)= 3 then sd=4
  if gln(f,g)= 7 then sd=3

  case 2
    mgd=f*8:f=f-1:mpt=f*8:gosub glouton2
  if gln(f,g)= 1 or gln(f,g)=2 or gln(f,g)=3 then sd=3
  if gln(f,g)= 9 then sd=1
  if gln(f,g)=11 then sd=4

  case 3
    mgd=g*8:g=g-1:mpt=g*8:gosub glouton2
  if gln(f,g)= 1 or gln(f,g)=8 or gln(f,g)=9 then sd=4
  if gln(f,g)=12 then sd=2
  if gln(f,g)=13 then sd=1

  case 4
    mpt=f*8:f=f+1:mgd=f*8:gosub glouton2
  if gln(f,g)= 4 or gln(f,g)=8 or gln(f,g)=12 then sd=1
  if gln(f,g)= 6 then sd=3
  if gln(f,g)=14 then sd=2

  end_select



' 3d_position 5,f*8,4,g*8:' affiche le repère noir (le monstre)
display
' if i=f and j=g then goto termine:' le monstre repère noir vous a eu -> fin programme
return

glouton2:
if sd=1
    repeat
        mpt=mpt+pas:3d_position 5,f*8,4,mpt
    until mpt>=mgd
end_if
if sd=2
    repeat
        mgd=mgd-pas:3d_position 5,mgd,4,g*8
    until mgd<=mpt
end_if
if sd=3
    repeat
        mgd=mgd-pas::3d_position 5,f*8,4,mgd
    until mgd<=mpt
end_if
if sd=4
    repeat
        mpt=mpt+pas:3d_position 5,mpt,4,g*8
    until mpt>=mgd
end_if
return


' ******************************************************************************
' *********************    LES ROUTINES      ***********************************
' ******************************************************************************

' CALCUL DES POSITIONS DES VÉHICULES MOTEUR ET CAMÉRA
affiche:
3d_position 4,o3d_x_position(3),o3d_y_position(3),o3d_z_position(3):3d_rotate 4,o3d_x_rotate(3),o3d_y_rotate(3),o3d_z_rotate(3)
3d_move 4,1:cam_position o3d_x_position(3),w,o3d_z_position(3):point_position o3d_x_position(4),4,o3d_z_position(4)
return

' CRÉATION DES MURS DU LABYRINTHE : Vous pouvez supprimer les 3d_color et mettre
' à la place un 3d_load_texture si vous voulez habillez les murs!!!
pan1:
3d_box number_3d_objects+1,8.9,8.9,1:3d_position number_3d_objects,(i*8)-4,4,(j*8)
3d_y_rotate number_3d_objects,90:3d_color number_3d_objects,96,0,0
return
pan2:
3d_box number_3d_objects+1,8.9,8.9,1:3d_position number_3d_objects,(i*8),4,(j*8)+4
return
pan4:
3d_box number_3d_objects+1,8.9,8.9,1:3d_position number_3d_objects,(i*8)+4,4,(j*8)
3d_y_rotate number_3d_objects,90:3d_color number_3d_objects,96,0,0
return
pan8:
3d_box number_3d_objects+1,8.9,8.9,1:3d_position number_3d_objects,(i*8),4,(j*8)-4
return

' VISION DE HAUT DU LABYRINTHE EN 3D
trace:
  repeat
      w=w+pasv:cam_position o3d_x_position(3),w,o3d_z_position(3):display
  until w=70

attend:
if scancode=27 then goto termine
if scancode=32
  repeat
      w=w-pasv:cam_position o3d_x_position(3),w,o3d_z_position(3):display
  until w=4
  espace=0
  goto moteur
end_if

if scancode=37 then gosub gauche

if scancode=39 then gosub droite

gosub glouton

goto attend

' ROTATION A GAUCHE
gauche:
ang=rot+90:dtn=dtn+1:if dtn>4 then dtn=1
    repeat
        rot=rot+6*pas:3d_y_rotate 3,rot:if w>4 then gosub pivot
        gosub affiche
    until rot>=ang
return

' ROTATION A DROITE
droite:
 ang=rot-90:dtn=dtn-1:if dtn<1 then dtn=4
    repeat
        rot=rot-6*pas:3d_y_rotate 3,rot:if w>4 then gosub pivot
        gosub affiche
    until rot<=ang
return

' ROTATION DE LA CAMÉRA LORS DE LA VISION DE HAUT
pivot:
cam_position o3d_x_position(3),o3d_y_position(3)+w,o3d_z_position(3)
return

' GÉNÉRATION DU LABYRINTHE
lab:
for j=1 to v+1:a(1,j)=4:a(h+1,j)=1:next j
for i=2 to h:a(i,v+1)=8:a(i,1)=2:for j=2 to v:a(i,j)=15:next j:next i
r=int(h/2+1):s=int(v/2+1):a(r,s)=15
for k=1 to n
r1:
  i=0
  if a(r-1,s)=15 then i=i+1 :c(i)=1
  if a(r,s-1)=15 then i=i+1 :c(i)=2
  if a(r+1,s)=15 then i=i+1 :c(i)=3
  if a(r,s+1)=15 then i=i+1 :c(i)=4
  if i=0 then goto r2
  if i<>1 then i=int(rnd(i)+1)
  select c(i)
      case 1 :a(r,s)=a(r,s)-(int(a(r,s))-int(int(a(r,s))/2)*2):r=r-1:a(r,s)=a(r,s)-(int(a(r,s)/4)-int(int(a(r,s)/4)/2)*2)*4
      case 2 :a(r,s)=a(r,s)-(int(a(r,s)/8)-int(int(a(r,s)/8)/2)*2)*8:s=s-1:a(r,s)=a(r,s)-(int(a(r,s)/2)-int(int(a(r,s)/2)/2)*2)*2
      case 3 :a(r,s)=a(r,s)-(int(a(r,s)/4)-int(int(a(r,s)/4)/2)*2)*4:r=r+1:a(r,s)=a(r,s)-(int(a(r,s))-int(int(a(r,s))/2)*2)
      case 4 :a(r,s)=a(r,s)-(int(a(r,s)/2)-int(int(a(r,s)/2)/2)*2)*2:s=s+1:a(r,s)=a(r,s)-(int(a(r,s)/8)-int(int(a(r,s)/8)/2)*2)*8
  end_select
  goto r7
r2:
  if d=-1 then goto r3
  if r<>h then goto r5
  if s<>v then goto r4
  r=2:s=2:goto r6
r3:
  if r<>2 then goto r5
  if s<>v then goto r4
  r=h:s=2: goto r6
r4:
  s=s+1:d=-1*d:goto r6
r5:
  r=r+d
r6:
  if a(r,s)=15 then goto r2
  goto r1
r7:
  mur(r,s)=int(rnd(6)+1)
  if mur(r,s)=mur(r-1,s) or mur(r,s)=mur(r+1,s) or mur(r,s)=mur(r,s-1) or mur(r,s)=mur(r,s+1) then goto r7
next k
return

' SORTIE DU PROGRAMME
termine:
timer_off 2
' timer_off 3
terminate

Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 51
Localisation : 77500
Date d'inscription : 18/04/2011

Labyrinth - Page 3 Empty
MessageSujet: Re: Labyrinth   Labyrinth - Page 3 EmptyMar 22 Nov 2011 - 23:05

Bignono, je suis nul en 3D, mais bon, je te livre un source qui fonctionne "techniquement", après dans les rotation en 3D, je me perds, mais toi tu dois pouvoir arranger ça.
Je mets le source pour les idées ou pour que tu corrige les rotations, comme tu veux. Actuellement, donc, le glouton se déplace, mais ça ne correspond pas aux murs...
Code:

' ******************************************************************************
' ******************************************************************************
' ************************* LABYRINTHE 3D version 08 ***************************
' ********************** CRÉÉ PAR bignono le 21/11/2011 ************************
' **************************** EN BASIC PANORAMIC ******************************
' ******************************************************************************
' ******************************************************************************


dim ang,d,dtn,espace,f,g,gd,h,i,j,k,n,pas,pasv,r,s,sd,v,pt,rot,w, c(4),mpt,mgd, glouton
label affiche,attend,droite,entr,gauche,glouton,lab,moteur,pan1,pan2,pan4,pan8,pivot
label r1,r2,r3,r4,r5,r6,r7,termine,trace
scene3d 1:full_space 0:full_space 1:light_position 0,1500,0
3d_skybox 1:' ---> Si vous voulez définir un "SKYBOX 1" ici sur cette ligne
' N'oubliez pas d'habiller votre skybox avec les commandes 3d_load_texture_back, bottom, front, left, right et top
3d_plane 2:3d_scale 2,500,500,1:3d_x_rotate 2,90:3d_y_position 2,0:3d_color 2,0,0,32: ' ---> CHANGEZ LE 3D_COLOR 2 PAR 3D_LOAD_TEXTURE 2,"FICHIER BMP OU JPG" ET N'OUBLIEZ PAS LES COMMANDES 3D_U_TILES & 3D_v_TILES
3d_cube 3,1:3d_mesh 4:3d_hide 3: ' CRÉATION DES VÉHICULES MOTEUR ET CAMÉRA
3d_sphere 5,1:3d_color 5,0,96,0:' CRÉATION DU GLOUTON VERT MANGEUR D'ORANGES


' ******************************************************************************
' ************************ INITIALISATION DES VARIABLES ************************
' ******************************************************************************
' ** h et v représentent les dimensions du labyrinthe (vous pouvez les modifier,
' mais plus le labyrinthe est grand, plus le programme ralentit!) **************
' ****** pas : sert à règler la vitesse de déplacement dans le labyrinthe ******
' ****** pasv: sert à règler la vitesse du zoom vertical ***********************
h=20:v=15:n=h*v-1:h=h+1:v=v+1:d=1:w=4:espace=0:pas=0.5:pasv=1.5 : glouton = 0
dim a(h+1,v+1),mur(h+1,v+1),trc(h+1,v+1)
gosub lab

' ******************************************************************************
' ******************************************************************************



' ******************************************************************************
' ****************      CONSTRUCTION DU LABYRINTHE      ************************
' ******************************************************************************
3d_text 6,"ENTRÉE":3d_color 6,0,0,255:3d_y_rotate 6,180
3d_position 6,((h/2)*8)-(2*odd(h)-2*even(h)),4,12
3d_text 7,"SORTIE":3d_color 7,0,0,255:3d_y_rotate 7,180
3d_position 7,((h/2)*8)-(2*odd(h)-2*even(h)),4,(v*8)+4

' CAS 1 = MUR GAUCHE, CAS 2 = MUR ARRIÈRE, CAS 4 = MUR DROIT, CAS 8 = MUR FACE
' LES AUTRES CAS, C'EST UNE ADDITION; EX: CAS 3 = CAS 1 + CAS 2
for j=2 to v
  for i=2 to h
  if j=2 and i=int(h/2) or j=v and i=int(h/2) then goto entr
    select a(i,j)
      case 1:      gosub pan1                      : ' mur de gauche (G)
      case 2:      gosub pan2                      : ' mur du bas    (B)
      case 3:      gosub pan1:gosub pan2          : ' G+B
      case 4:      gosub pan4                      : ' mur de droite (D)
      case 5:      gosub pan1:gosub pan4          : ' G+D
      case 6:      gosub pan2:gosub pan4          : ' B+D
      case 7:      gosub pan1:gosub pan2:gosub pan4: ' G+B+D (cul de sac en u)
      case 8:      gosub pan8                      : ' mur du haut  (H)
      case 9:      gosub pan1:gosub pan8          : ' G+H
      case 10:      gosub pan2:gosub pan8          : ' B+H
      case 11:      gosub pan1:gosub pan2:gosub pan8: ' G+B+H (cul de sac en [)
      case 12:      gosub pan4:gosub pan8          : ' D+H
      case 13:      gosub pan1:gosub pan4:gosub pan8: ' G+D+H (cul de sac en n)
      case 14:      gosub pan2:gosub pan4:gosub pan8: ' B+D+H (cul de sac en ])
    end_select
entr:
  next i
next j
' ******************************************************************************
' ******************************************************************************


' ******************************************************************************
' ** Initialisation position de départ et création d'un timer pour gérer les  **
' * déplacements. Si le programme plante augmentez la valeur du timer_interval *
' ******************************************************************************
i=int(h/2):j=1:dtn=1:a(i,j)=a(i,j)-2:a(i,v)=a(i,v)-2
f=i:g=j:sd=1:' f et g position départ du glouton vert, sd son sens de déplacement
3d_position 5, f*8,4,g*8
3d_position 3, i*8,4,j*8:gosub affiche
timer 2:timer_interval 2,200:on_timer 2,moteur
end


' ******************************************************************************
' *****************    LE PROGRAMME PRINCIPAL    ******************************
' ******************************************************************************
moteur:

if espace=1 then goto trace

select scancode

case 27:goto termine: ' SORTIE PROGRAMME

case 32:espace=1:    ' AFFICHAGE DU PLAN DU LABYRINTHE

case 37:gosub gauche: ' FLECHE GAUCHE = ROTATION A GAUCHE

case 39:gosub droite: ' FLECHE DROITE = ROTATION A DROITE

case 38:              ' FLECHE HAUT = DTN DEFINIT LA DIRECTION NORD, OUEST, SUD OU EST
    if dtn=1 and j < v+1
        if a(i,j)=0 or a(i,j)=1 or a(i,j)=4 or a(i,j)=5 or a(i,j)=8 or a(i,j)=9 or a(i,j)=12 or a(i,j)=13
            pt=j*8:j=j+1:gd=j*8
              repeat
                pt=pt+pas:3d_move 3,pas:gosub affiche
              until pt>=gd
        end_if
    end_if

    if dtn=2 and i < h  and j > 1
        if a(i,j)<4 or a(i,j)>7 and a(i,j)<12
          pt=i*8:i=i+1:gd=i*8
              repeat
                pt=pt+pas:3d_move 3,pas:gosub affiche
              until pt>=gd
        end_if
    end_if

    if dtn=3 and j > 2
        if a(i,j)<8
            pt=j*8:j=j-1:gd=j*8
              repeat
                gd=gd+pas:3d_move 3,pas:gosub affiche
              until gd>=pt
        end_if
    end_if

    if dtn=4 and i > 2 and j > 1
        if odd(a(i,j))=0
            pt=i*8:i=i-1:gd=i*8
              repeat
                gd=gd+pas:3d_move 3,pas:gosub affiche
              until gd>=pt
        end_if
    end_if
end_select

3d_position 3, i*8,4,j*8


' TEST DE SORTIE DU LABYRINTHE
if j=v+1
  beep_exclamation:message "BRAVO, VOUS ETES SORTI DU LABYRINTHE!":goto termine
end_if



' MÉMORISATION DE SON PASSAGE PAR DES SPHÈRES ORANGES
if trc(i,j)=0
  3d_sphere number_3d_objects+1,0.25
  3d_position number_3d_objects,i*8,1,j*8
  3d_color number_3d_objects,224,128,32
  trc(i,j)=1
end_if

glouton = glouton + 1
if glouton = 5 then gosub glouton

return
' ******************************************************************************
' ******************************************************************************

' Gestion déplacement du glouton vert (le monstre) qui mange vos oranges
glouton:

if sd = 1
  mpt=g*8:g=g+1:mgd=g*8
  repeat
    mpt=mpt+pas:3d_move 5, pas
  until mpt>=mgd
  if a(f,g)= 0 or a(f,g)= 2 or a(f,g)=4 or a(f,g)=6 then 3d_y_rotate 5,90:sd=2
  if a(f,g)= 3 then 3d_y_rotate 5,270 : sd=4
  if a(f,g)= 7 then 3d_y_rotate 5,180: sd=3
end_if

if sd=2
  mpt=f*8:f=f+1:mgd=f*8
  repeat
    mpt=mpt+pas:3d_move 5, pas
  until mpt>=mgd
  if a(f,g)= 1 or a(f,g)=2 or a(f,g)=3 then 3d_y_rotate 5,90:sd=3
  if a(f,g)= 9 then 3d_y_rotate 5,270: sd=1
  if a(f,g)=11 then 3d_y_rotate 5,180: sd=4
end_if

if sd=3
  mpt=g*8:g=g-1:mgd=g*8
  repeat
    mgd=mgd+pas::3d_move 5,pas
  until mgd>=mpt
  if a(f,g)= 1 or a(f,g)=8 or a(f,g)=9 then 3d_y_rotate 5,90:sd=4
  if a(f,g)=12 then 3d_y_rotate 5,270: sd=2
  if a(f,g)=13 then 3d_y_rotate 5,180: sd=1
end_if

if sd=4
  mpt=f*8:f=f-1:mgd=f*8
  repeat
    mgd=mgd+pas:3d_move 5, pas
  until mgd>=mpt
  if a(f,g)= 4 or a(f,g)=8 or a(f,g)=12 then 3d_y_rotate 5,90:sd=1
  if a(f,g)= 6 then 3d_y_rotate 5,270: sd=3
  if a(f,g)=14 then 3d_y_rotate 5,180: sd=2
end_if


' 3d_position 5,f*8,4,g*8

' if i=f and j=g then goto termine:' le monstre repère noir vous a eu -> fin programme

glouton = 0

return


' ******************************************************************************
' *********************    LES ROUTINES      ***********************************
' ******************************************************************************

' CALCUL DES POSITIONS DES VÉHICULES MOTEUR ET CAMÉRA

affiche:
  3d_position 4,o3d_x_position(3),o3d_y_position(3),o3d_z_position(3):3d_rotate 4,o3d_x_rotate(3),o3d_y_rotate(3),o3d_z_rotate(3)
  3d_move 4,1:cam_position o3d_x_position(3),w,o3d_z_position(3):point_position o3d_x_position(4),4,o3d_z_position(4)
return


' CRÉATION DES MURS DU LABYRINTHE : Vous pouvez supprimer les 3d_color et mettre
' à la place un 3d_load_texture si vous voulez habillez les murs!!!

pan1:
  3d_box number_3d_objects+1,8.9,8.9,1:3d_position number_3d_objects,(i*8)-4,4,(j*8)
  3d_y_rotate number_3d_objects,90:3d_color number_3d_objects,96,0,0
return

pan2:
  3d_box number_3d_objects+1,8.9,8.9,1:3d_position number_3d_objects,(i*8),4,(j*8)+4
return

pan4:
  3d_box number_3d_objects+1,8.9,8.9,1:3d_position number_3d_objects,(i*8)+4,4,(j*8)
  3d_y_rotate number_3d_objects,90:3d_color number_3d_objects,96,0,0
return

pan8:
  3d_box number_3d_objects+1,8.9,8.9,1:3d_position number_3d_objects,(i*8),4,(j*8)-4
return

' VISION DE HAUT DU LABYRINTHE EN 3D
trace:
  repeat
      w=w+pasv:cam_position o3d_x_position(3),w,o3d_z_position(3):display
  until w=70

attend:
if scancode=27 then goto termine

if scancode=32
  repeat
      w=w-pasv:cam_position o3d_x_position(3),w,o3d_z_position(3):display
  until w=4
  espace=0
  goto moteur
end_if

if scancode=37 then gosub gauche

if scancode=39 then gosub droite

gosub glouton

wait 500

goto attend

' ROTATION A GAUCHE
gauche:
ang=rot+90:dtn=dtn+1:if dtn>4 then dtn=1
    repeat
        rot=rot+6*pas:3d_y_rotate 3,rot:if w>4 then gosub pivot
        gosub affiche
    until rot>=ang
return

' ROTATION A DROITE
droite:
 ang=rot-90:dtn=dtn-1:if dtn<1 then dtn=4
    repeat
        rot=rot-6*pas:3d_y_rotate 3,rot:if w>4 then gosub pivot
        gosub affiche
    until rot<=ang
return

' ROTATION DE LA CAMÉRA LORS DE LA VISION DE HAUT
pivot:
cam_position o3d_x_position(3),o3d_y_position(3)+w,o3d_z_position(3)
return

' GÉNÉRATION DU LABYRINTHE
lab:
for j=1 to v+1:a(1,j)=4:a(h+1,j)=1:next j
for i=2 to h:a(i,v+1)=8:a(i,1)=2:for j=2 to v:a(i,j)=15:next j:next i
r=int(h/2+1):s=int(v/2+1):a(r,s)=15
for k=1 to n
r1:
  i=0
  if a(r-1,s)=15 then i=i+1 :c(i)=1
  if a(r,s-1)=15 then i=i+1 :c(i)=2
  if a(r+1,s)=15 then i=i+1 :c(i)=3
  if a(r,s+1)=15 then i=i+1 :c(i)=4
  if i=0 then goto r2
  if i<>1 then i=int(rnd(i)+1)
  select c(i)
      case 1 :a(r,s)=a(r,s)-(int(a(r,s))-int(int(a(r,s))/2)*2):r=r-1:a(r,s)=a(r,s)-(int(a(r,s)/4)-int(int(a(r,s)/4)/2)*2)*4
      case 2 :a(r,s)=a(r,s)-(int(a(r,s)/8)-int(int(a(r,s)/8)/2)*2)*8:s=s-1:a(r,s)=a(r,s)-(int(a(r,s)/2)-int(int(a(r,s)/2)/2)*2)*2
      case 3 :a(r,s)=a(r,s)-(int(a(r,s)/4)-int(int(a(r,s)/4)/2)*2)*4:r=r+1:a(r,s)=a(r,s)-(int(a(r,s))-int(int(a(r,s))/2)*2)
      case 4 :a(r,s)=a(r,s)-(int(a(r,s)/2)-int(int(a(r,s)/2)/2)*2)*2:s=s+1:a(r,s)=a(r,s)-(int(a(r,s)/8)-int(int(a(r,s)/8)/2)*2)*8
  end_select
  goto r7
r2:
  if d=-1 then goto r3
  if r<>h then goto r5
  if s<>v then goto r4
  r=2:s=2:goto r6
r3:
  if r<>2 then goto r5
  if s<>v then goto r4
  r=h:s=2: goto r6
r4:
  s=s+1:d=-1*d:goto r6
r5:
  r=r+d
r6:
  if a(r,s)=15 then goto r2
  goto r1
r7:
  mur(r,s)=int(rnd(6)+1)
  if mur(r,s)=mur(r-1,s) or mur(r,s)=mur(r+1,s) or mur(r,s)=mur(r,s-1) or mur(r,s)=mur(r,s+1) then goto r7
next k
return

' SORTIE DU PROGRAMME
termine:
timer_off_all
terminate
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 51
Localisation : 77500
Date d'inscription : 18/04/2011

Labyrinth - Page 3 Empty
MessageSujet: Re: Labyrinth   Labyrinth - Page 3 EmptyMer 23 Nov 2011 - 8:16

Au fait Nardo, je viens de comprendre ton commentaire d'hier en téléchargeant les images , le nom des images (et le type passe de bmp à png) est changé par le programme de partage d'images
mur1f.png => mur1.png; noirlc.png => nor.png; solaf.png=> sol.png; monstrey.png => monstre.png
Puis tout transformer en BMP... une galère alors je vous mets directement le zip: Fichier zip des textures

J'en profite pour filer un lien sur un pdf sur la théorie des labyrinthe (récursif pour Nardo ...), mais je pense que je développerais plus tard avec d'autres mises en pratiques plus proche de notre modèle actuel.
Lien: Téhorie des labyrinthes
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 51
Localisation : 77500
Date d'inscription : 18/04/2011

Labyrinth - Page 3 Empty
MessageSujet: Re: Labyrinth   Labyrinth - Page 3 EmptyMer 23 Nov 2011 - 16:50

Purée, c'est vraiment calme aujourd'hui sur le forum ...
Revenir en haut Aller en bas
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Labyrinth - Page 3 Empty
MessageSujet: Re: Labyrinth   Labyrinth - Page 3 EmptyMer 23 Nov 2011 - 17:20

avant la tempête...
on a du boulot, nous !
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 51
Localisation : 77500
Date d'inscription : 18/04/2011

Labyrinth - Page 3 Empty
MessageSujet: Re: Labyrinth   Labyrinth - Page 3 EmptyMer 23 Nov 2011 - 17:30

Idem, mais je jette un oeil régullièrement entre 2 mails ou procédures ...
Revenir en haut Aller en bas
Nardo26

Nardo26


Nombre de messages : 2294
Age : 55
Localisation : Valence
Date d'inscription : 02/07/2010

Labyrinth - Page 3 Empty
MessageSujet: Re: Labyrinth   Labyrinth - Page 3 EmptyMer 23 Nov 2011 - 19:42

La barre de progression n'est pas vraiment nécessaire pour la construction du labyrinthe...
Par contre là il faut peut être apporter quelque chose c'est sur la vitesse des déplacements:
La dernière version a tendance à ramer et parfois bloquer...
J'y jette un coups d'oeil...
Wink


EDIT :

J'ai un peu amélioré les choses mais c'est pas encore ça...
j’attends d'avoir vraiment un résultat significatif avant de donner un bout de code...

C'est normal que le glouton traverse les murs ? Wink
Revenir en haut Aller en bas
http://nardo26.lescigales.org
Jicehel

Jicehel


Nombre de messages : 5947
Age : 51
Localisation : 77500
Date d'inscription : 18/04/2011

Labyrinth - Page 3 Empty
MessageSujet: Re: Labyrinth   Labyrinth - Page 3 EmptyMer 23 Nov 2011 - 21:15

Non, non, c'est ce que je disais, je pense que j'ai le principe, mais je m'y perds dans les rotation, c'est ça de travailler sur un programme que l'on n'a pas fait Wink Si tu piges mon erreur, tu es le bienvenu, sinon, je regarde cette nuit
Revenir en haut Aller en bas
Contenu sponsorisé





Labyrinth - Page 3 Empty
MessageSujet: Re: Labyrinth   Labyrinth - Page 3 Empty

Revenir en haut Aller en bas
 
Labyrinth
Revenir en haut 
Page 3 sur 4Aller à la page : Précédent  1, 2, 3, 4  Suivant
 Sujets similaires
-
» FORT LABYRINTH

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: