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
» Gestion d'un système client-serveur.
 Générateur de  paysages Emptypar Klaus Ven 17 Mai 2024 - 14:02

» item_index(résolu)
 Générateur de  paysages Emptypar jjn4 Mar 14 Mai 2024 - 19:38

» Bataille terrestre
 Générateur de  paysages Emptypar jjn4 Lun 13 Mai 2024 - 15:01

» SineCube
 Générateur de  paysages Emptypar Marc Sam 11 Mai 2024 - 12:38

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
 Générateur de  paysages Emptypar Marc Sam 11 Mai 2024 - 12:22

» Philharmusique
 Générateur de  paysages Emptypar jjn4 Ven 10 Mai 2024 - 13:58

» PANORAMIC V 1
 Générateur de  paysages Emptypar papydall Jeu 9 Mai 2024 - 3:22

» select intégrés [résolu]
 Générateur de  paysages Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
 Générateur de  paysages Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
 Générateur de  paysages Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
 Générateur de  paysages Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
 Générateur de  paysages Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0(résolu)
 Générateur de  paysages Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
 Générateur de  paysages Emptypar Klaus Lun 6 Mai 2024 - 11:41

» @Jack
 Générateur de  paysages Emptypar Jack Mar 30 Avr 2024 - 20:40

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 :
Cartes Pokémon EV6.5 : où trouver le Bundle Lot 6 Boosters Fable ...
Voir le deal

 

  Générateur de paysages

Aller en bas 
+5
Minibug
Jean Claude
Yannick
Jicehel
papydall
9 participants
AuteurMessage
papydall

papydall


Nombre de messages : 7009
Age : 73
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

 Générateur de  paysages Empty
MessageSujet: Générateur de paysages    Générateur de  paysages EmptySam 22 Aoû 2015 - 19:12

Du Panoramic, rien que du panoramic!

 Générateur de  paysages Sans_t16

Code:

rem ============================================================================
rem                  Landscape_Generator.bas
rem                  Générateur de  paysages
rem                      Par Papydall
rem ============================================================================
rem Pour des chaînes de montagnes normales, utiliser startval1 = 256 et startval2 = 2
rem Pour des paysages étranges utiliser startval1 = 500 et startval2 = 6
rem Jouez avec ces paramètres pour essayer des dunes ou des paysages marins
rem ============================================================================

Init()
Draw_Mountain()
caption 20,"!!! *** A D M I R E Z   C E   P A Y S A G E *** !!!"

end
rem ============================================================================
SUB Init()
    dim w : w = screen_x *.8
    dim h : h = screen_y *.8
    dim range(4096)
    dim lowr : lowr = 10
    dim col  : col  = 240 : ' 200
    dim delta_col : delta_col = 40
    dim rand : rand = rnd(1)
    dim lowmount  : lowmount  = 0
    dim startval1 : startval1 = 256 : ' 500
    dim startval2 : startval2 = 2   : ' 6
    dim newval1, newval2, amplitude, frequence, oldx, oldrange
    dim lacr, lacg, lacb, decrease, a, seed, k,sw
    if rand < .5 then sw = 0 : else : sw = 1
    full_space 0 : color 0,220,180,220 : caption 0,"Générateur de paysages par Papydall"
    picture 10 : width 10,w : height 10,h : top 10,(height(0) - h)/2 : left 10,(width(0)-w)/2
    color 10,200,200,255 : 2d_target_is 10
    alpha 20 : top 20,20 : left 20,w/3: font_bold 20 : font_size 20,24
    caption 20,"V E U I L L E Z   P A T I E N T E R ..... "
END_SUB
rem ============================================================================
' Dessiner 6 chaînes de montagnes
SUB Draw_Mountain()
    dim_local n, inc, i
    for n = 1 to 6
        pause 1 : newval1 = startval1 : newval2 = startval2
' Chaque chaîne de montagnes est produite par 6 fonctions "Bruit de Perlin"
' avec diminution de l'amplitude et croissance de la fréquence
       for inc = 1 to 6
           newval1 = newval1/2 : newval2 = newval2*2 : k = 0 : seed = rnd(1)
           amplitude = newval1 : frequence = newval2 : oldx = 0 : Perlin()
       next inc
' Dessiner la chaîne de montagnes
       oldrange = range(0) : 2d_pen_color col,col,col
       for i = 0 to w-1
           2d_line i-1,oldrange+lowmount,i,range(i)+lowmount
           2d_line i-1,oldrange+lowmount,i-1,h
           oldrange = range(i)
       next i
       lowmount = lowmount + lowr : lowr = lowr + 25
' Pour la chaîne suivante
       for i = 0 to w-1 : range(i) = 0 : next i
' Couleur plus sombre
       col = col - delta_col
    next n
' Dessinez un lac brumeux
    lacr = col + delta_col : lacg = col + delta_col : lacb = 255
    decrease = (lacb-(col + delta_col))/100
    for i = 1 to 100
        2d_pen_color  lacr,lacg,lacb : 2d_line 0,h-i,w,h-i
        lacb = lacb - decrease
    next i
END_SUB
rem ============================================================================
' Fonction Bruit de Perlin
SUB Perlin()
    dim_local zz,x,pointa,pointb, f,ft,interp, pi : pi = acos(-1)
    MyRnd() : pointb = a
    for zz= 1 to frequence
        pointa = pointb : MyRnd() : pointb = a
        for x = 0 to 1 step (1/(w/frequence))
            if sw = 1
               ft = x * pi : f  = (1 - cos(ft)) * .5
               interp =  pointa*(1-f) + pointb*f
            else
               interp = pointa*(1-x) + pointb*x
            end_if
            range(k) = range(k)+(interp*amplitude) : k = k + 1
        next x
        oldx = oldx + (w/frequence)
    next zz
END_SUB
rem ============================================================================
' Ma valeur aléatoire
SUB MyRnd()
    seed = (221*seed) + 2113 : seed = seed-(INT(seed/10000)*10000)
    a = seed/10000
END_SUB
rem ============================================================================
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Jicehel

Jicehel


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

 Générateur de  paysages Empty
MessageSujet: Re: Générateur de paysages    Générateur de  paysages EmptySam 22 Aoû 2015 - 21:45

sympa le résultat
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8611
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

 Générateur de  paysages Empty
MessageSujet: re    Générateur de  paysages EmptySam 22 Aoû 2015 - 22:43

Je le verrai bien avec du vert... Laughing
Revenir en haut Aller en bas
Jean Claude

Jean Claude


Nombre de messages : 5950
Age : 69
Localisation : 83 Var
Date d'inscription : 07/05/2009

 Générateur de  paysages Empty
MessageSujet: Re: Générateur de paysages    Générateur de  paysages EmptyDim 23 Aoû 2015 - 8:14

Tes désirs Ygeronimi sont des ordres. Very Happy

Code:
rem ============================================================================
rem                  Landscape_Generator.bas
rem                  Générateur de  paysages
rem                      Par Papydall
rem ============================================================================
rem Pour des chaînes de montagnes normales, utiliser startval1 = 256 et startval2 = 2
rem Pour des paysages étranges utiliser startval1 = 500 et startval2 = 6
rem Jouez avec ces paramètres pour essayer des dunes ou des paysages marins
rem ============================================================================

Init()
Draw_Mountain()
caption 20,"!!! *** A D M I R E Z  C E  P A Y S A G E *** !!!"

end
rem ============================================================================
SUB Init()
    dim w : w = screen_x *.8
    dim h : h = screen_y *.8
    dim range(4096)
    dim lowr : lowr = 10
    dim col  : col  = 240 : ' 200
    dim delta_col : delta_col = 48
    dim rand : rand = rnd(1)
    dim lowmount  : lowmount  = 0
    dim startval1 : startval1 = 300 : ' 500
    dim startval2 : startval2 = 3  : ' 6
    dim newval1, newval2, amplitude, frequence, oldx, oldrange
    dim lacr, lacg, lacb, decrease, a, seed, k,sw
    if rand < .5 then sw = 0 : else : sw = 1
    full_space 0 : color 0,220,180,220 : caption 0,"Générateur de paysages par Papydall"
    picture 10 : width 10,w : height 10,h : top 10,(height(0) - h)/2 : left 10,(width(0)-w)/2
    color 10,150,200,255 : 2d_target_is 10
    alpha 20 : top 20,20 : left 20,w/3: font_bold 20 : font_size 20,24
    caption 20,"V E U I L L E Z  P A T I E N T E R ..... "
END_SUB
rem ============================================================================
' Dessiner 6 chaînes de montagnes
SUB Draw_Mountain()
    dim_local n, inc, i
    for n = 1 to 6
        pause 1 : newval1 = startval1 : newval2 = startval2
' Chaque chaîne de montagnes est produite par 6 fonctions "Bruit de Perlin"
' avec diminution de l'amplitude et croissance de la fréquence
      for inc = 1 to 6
          newval1 = newval1/2 : newval2 = newval2*2 : k = 0 : seed = rnd(1)
          amplitude = newval1 : frequence = newval2 : oldx = 0 : Perlin()
      next inc
' Couleur
      if n=1 then 2d_pen_color 230,255,240
      if n=2 then 2d_pen_color 200,255,200
      if n=3 then 2d_pen_color 150,200,150
      if n=4 then 2d_pen_color 100,150,100
      if n=5 then 2d_pen_color 50,100,50
      if n=6 then 2d_pen_color 0,50,0

' Dessiner la chaîne de montagnes
      oldrange = range(0)
      for i = 0 to w-1
          2d_line i-1,oldrange+lowmount,i,range(i)+lowmount
          2d_line i-1,oldrange+lowmount,i-1,h
          oldrange = range(i)
      next i
      lowmount = lowmount + lowr : lowr = lowr + 25
' Pour la chaîne suivante
      for i = 0 to w-1 : range(i) = 0 : next i
      col = col - delta_col
    next n
' Dessinez un lac brumeux
    lacr = col + delta_col : lacg = col + delta_col : lacb = 255
    decrease = (lacb-(col + delta_col))/100
    for i = 1 to 100
        2d_pen_color  lacr,lacg,lacb : 2d_line 0,h-i,w,h-i
        lacb = lacb - decrease
    next i
END_SUB
rem ============================================================================
' Fonction Bruit de Perlin
SUB Perlin()
    dim_local zz,x,pointa,pointb, f,ft,interp, pi : pi = acos(-1)
    MyRnd() : pointb = a
    for zz= 1 to frequence
        pointa = pointb : MyRnd() : pointb = a
        for x = 0 to 1 step (1/(w/frequence))
            if sw = 1
              ft = x * pi : f  = (1 - cos(ft)) * .5
              interp =  pointa*(1-f) + pointb*f
            else
              interp = pointa*(1-x) + pointb*x
            end_if
            range(k) = range(k)+(interp*amplitude) : k = k + 1
        next x
        oldx = oldx + (w/frequence)
    next zz
END_SUB
rem ============================================================================
' Ma valeur aléatoire
SUB MyRnd()
    seed = (221*seed) + 2113 : seed = seed-(INT(seed/10000)*10000)
    a = seed/10000
END_SUB
rem ============================================================================

A+
Revenir en haut Aller en bas
Minibug

Minibug


Nombre de messages : 4566
Age : 57
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

 Générateur de  paysages Empty
MessageSujet: Re: Générateur de paysages    Générateur de  paysages EmptyDim 23 Aoû 2015 - 8:39

Bien joué Papydall !

Peut être des idées pour un fond de jeu 2D par exemple...
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
The Gamer

The Gamer


Nombre de messages : 110
Age : 30
Localisation : Toulouse (31)
Date d'inscription : 11/05/2010

 Générateur de  paysages Empty
MessageSujet: Re: Générateur de paysages    Générateur de  paysages EmptyDim 23 Aoû 2015 - 11:27

Genial !

Je propose une amélioration que je suis bien incapable de faire: ajouter des sommets enneigés ?
Revenir en haut Aller en bas
http://pierrehardy.pagesperso-orange.fr/
jpcr

jpcr


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

 Générateur de  paysages Empty
MessageSujet: Re: Générateur de paysages    Générateur de  paysages EmptyDim 23 Aoû 2015 - 11:53

super, j'adore !!
Revenir en haut Aller en bas
http://jeanpierre.creis.free.fr/Panoramic/Panoramic.html
papydall

papydall


Nombre de messages : 7009
Age : 73
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

 Générateur de  paysages Empty
MessageSujet: Re: Générateur de paysages    Générateur de  paysages EmptyDim 23 Aoû 2015 - 14:56

Salut tout le monde et merci pour vos mots encourageants.

Les désirs d’Ygeronimi ont été satisfaits par JC qui semble (parfois) oublier que Panoramic dispose (encore) de la structure SELECT … CASE … END_SELECT mieux adaptée qu'une série de IF ... END_IF tongue  tongue  tongue  HIHIHI !
Bon, une petite rangée d’arbres,(d'un autre monde) …. A améliorer !

Code:

rem ============================================================================
rem                  Landscape_Generator.bas
rem                  Générateur de  paysages
rem                      Par Papydall
rem ============================================================================
rem Pour des chaînes de montagnes normales, utiliser startval1 = 256 et startval2 = 2
rem Pour des paysages étranges utiliser startval1 = 500 et startval2 = 6
rem Jouez avec ces paramètres pour essayer des dunes ou des paysages marins
rem ============================================================================

Init()
Draw_Mountain()
caption 20,"!!! *** A D M I R E Z  C E  P A Y S A G E *** !!!"

end
rem ============================================================================
SUB Init()
    dim w : w = screen_x *.8
    dim h : h = screen_y *.8
    dim range(4096)
    dim lowr : lowr = 10
    dim col  : col  = 240 : ' 200
    dim delta_col : delta_col = 48
    dim rand : rand = rnd(1)
    dim lowmount  : lowmount  = 0
    dim startval1 : startval1 = 300 : ' 500
    dim startval2 : startval2 = 3  : ' 6
    dim newval1, newval2, amplitude, frequence, oldx, oldrange
    dim lacr, lacg, lacb, decrease, a, seed, k,sw

    if rand < .5 then sw = 0 : else : sw = 1
    full_space 0 : color 0,220,180,220 : caption 0,"Générateur de paysages par Papydall"
    picture 10 : width 10,w : height 10,h : top 10,(height(0) - h)/2 : left 10,(width(0)-w)/2
    color 10,150,200,255 : 2d_target_is 10
    alpha 20 : top 20,20 : left 20,w/3: font_bold 20 : font_size 20,24
    caption 20,"V E U I L L E Z  P A T I E N T E R ..... "
END_SUB
rem ============================================================================
' Dessiner 6 chaînes de montagnes
SUB Draw_Mountain()
    dim_local n, inc, i
    for n = 1 to 6
        pause 1 : newval1 = startval1 : newval2 = startval2
' Chaque chaîne de montagnes est produite par 6 fonctions "Bruit de Perlin"
' avec diminution de l'amplitude et croissance de la fréquence
      for inc = 1 to 6
          newval1 = newval1/2 : newval2 = newval2*2 : k = 0 : seed = rnd(1)
          amplitude = newval1 : frequence = newval2 : oldx = 0 : Perlin()
      next inc
' Couleur
      select n
           case 1 : 2d_pen_color 255,255,255
           case 2 : 2d_pen_color 200,200,200
           case 3 : 2d_pen_color 150,150,150
           case 4 : 2d_pen_color 100,120,100
           case 5 : 2d_pen_color 50,100,50
           case 6 : 2d_pen_color 0,50,0
      end_select

' Dessiner la chaîne de montagnes
      oldrange = range(0)
      for i = 0 to w-1
          2d_line i-1,oldrange+lowmount,i,range(i)+lowmount
          2d_line i-1,oldrange+lowmount,i-1,h
          oldrange = range(i)
      next i
      lowmount = lowmount + lowr : lowr = lowr + 25
' Pour la chaîne suivante
      for i = 0 to w-1 : range(i) = 0 : next i
      col = col - delta_col
    next n

' Dessinez un lac brumeux
    lacr = col + delta_col : lacg = col + delta_col : lacb = 255
    decrease = (lacb-(col + delta_col))/100
    for i = 1 to 100
        2d_pen_color  lacr,lacg,lacb : 2d_line 0,h-i,w,h-i
        lacb = lacb - decrease
    next i
' Dessiner une rangée d'arbres
     Tree_Range()
END_SUB
rem ============================================================================
' Fonction Bruit de Perlin
SUB Perlin()
    dim_local zz,x,pointa,pointb, f,ft,interp, pi : pi = acos(-1)
    MyRnd() : pointb = a
    for zz= 1 to frequence
        pointa = pointb : MyRnd() : pointb = a
        for x = 0 to 1 step (1/(w/frequence))
            if sw = 1
              ft = x * pi : f  = (1 - cos(ft)) * .5
              interp =  pointa*(1-f) + pointb*f
            else
              interp = pointa*(1-x) + pointb*x
            end_if
            range(k) = range(k)+(interp*amplitude) : k = k + 1
        next x
        oldx = oldx + (w/frequence)
    next zz
END_SUB
rem ============================================================================
' Rangée d'arbres
' Deux fonctions "Perlin noise"
SUB Tree_Range()
    dim_local inc,i,uppery,colg
    colg = 255 : lowr = 380
    startval1 = 50 + int(rnd(50)) : startval2 = 128 +int(rnd(256))
    newval1 = startval1*2 : newval2 = startval2/2
    for inc = 1 to 2
        newval1 = newval1/2 : newval2 = newval2*3
        k = 0 : seed = rnd(1) : amplitude = newval1 : frequence = newval2
        oldx = 0 : Perlin()
    next inc
    oldrange = range(0) : 2d_pen_color 30,colg,30
    for i = 0 to w
        uppery = oldrange + h-100
        if uppery > h then uppery = h
        if uppery < 9 then uppery = 9
        2d_line i-1,uppery,i-1,h : oldrange = range(i)
    next i
    lowmount = lowmount + lowr
END_SUB
rem ============================================================================
' Ma valeur aléatoire
SUB MyRnd()
    seed = (221*seed) + 2113 : seed = seed-(INT(seed/10000)*10000)
    a = seed/10000
END_SUB
rem ============================================================================
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
JL35




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

 Générateur de  paysages Empty
MessageSujet: Re: Générateur de paysages    Générateur de  paysages EmptyDim 23 Aoû 2015 - 15:22

C'est très beau, mais je voudrais aussi des des bouquetins qui gambadent et vaches qui paissent, avec peut-être (si c'est possible) un berger et son chien qui fume la pipe (le berger, pas le chien) Very Happy

Ceci dit, c'est encore la 1ère que je préfère.
Revenir en haut Aller en bas
papydall

papydall


Nombre de messages : 7009
Age : 73
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

 Générateur de  paysages Empty
MessageSujet: Re: Générateur de paysages    Générateur de  paysages EmptyDim 23 Aoû 2015 - 17:51

Hello JL35 (tu es toujours à trente cinq, hein ? pas un de plus, pas un de moins)
Jean Claude a bien  accompli les désirs d’Ygeronimi, va-il faire autant pour les tiens ?
Wait and see !
JL35 a écrit:
Ceci dit, c'est encore la 1ère que je préfère.

De qui s’agit-il ? De la vache ou de la pipe? Cool.  Car ce sont les seules du genre féminin dans ton message.
Perso je n' I love you ni l'une ni l'autre.
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
JL35




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

 Générateur de  paysages Empty
MessageSujet: Re: Générateur de paysages    Générateur de  paysages EmptyDim 23 Aoû 2015 - 18:13

Eh en disant la 1ère je parlais de l'image, c'est à dire ton image originale en noir et blanc !
En plus, 35 ce n'est pas mon âge mais mon QI comme tu as bien dû deviner Very Happy
Revenir en haut Aller en bas
papydall

papydall


Nombre de messages : 7009
Age : 73
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

 Générateur de  paysages Empty
MessageSujet: Re: Générateur de paysages    Générateur de  paysages EmptyDim 23 Aoû 2015 - 18:51

Avec un tel QI, tu me rassures : personne n'est imparfait!

lol! lol! lol!
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
JL35




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

 Générateur de  paysages Empty
MessageSujet: Re: Générateur de paysages    Générateur de  paysages EmptyDim 23 Aoû 2015 - 20:46

Je savais bien que j'allais faire des envieux...
Revenir en haut Aller en bas
silverman

silverman


Nombre de messages : 968
Age : 51
Localisation : Picardie
Date d'inscription : 18/03/2015

 Générateur de  paysages Empty
MessageSujet: Re: Générateur de paysages    Générateur de  paysages EmptyLun 24 Aoû 2015 - 11:20

interressant! ce n'est pas la premiere fois que je croise l'algorithme bruit de perlin, apparemment on peut faire plein de chose avec cyclops
Revenir en haut Aller en bas
Contenu sponsorisé





 Générateur de  paysages Empty
MessageSujet: Re: Générateur de paysages    Générateur de  paysages Empty

Revenir en haut Aller en bas
 
Générateur de paysages
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Générateur de mots de passe
» générateur de QCM
» Générateur de nombres pseudo-aléatoires
» Pseudo-objet - Générateur de code
» Générateur de grilles de Sudoku

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: