FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» un nouveau editeur panobasic
par pascal10000 Hier à 21:52

» COMPILATEUR V 0.9 beta 7 du 10 aout 2017
par Jack Hier à 20:23

» Pb 16 (en analyse): ON_CLOSE plante à l'exécution
par Jack Hier à 20:00

» Pb 15 (en analyse): TIMER_ON plante à l'exécution
par Jack Hier à 19:58

» Compilateur FBPano
par jean_debord Hier à 8:49

» KGF_dll - nouvelles versions
par Yannick Dim 13 Aoû 2017 - 17:35

» probleme d'outil
par Yannick Dim 13 Aoû 2017 - 17:32

» Carte de France des régions
par Yannick Sam 12 Aoû 2017 - 21:33

» Pb 14 (en analyse): PRINT_LOCATE plante à l'exécution
par Jack Ven 11 Aoû 2017 - 22:37

» Petit avertissement [Mots réservés]
par papydall Ven 11 Aoû 2017 - 13:45

» Distances sur plan
par JL35 Jeu 10 Aoû 2017 - 21:29

» Tracé : Triangle, Carrée, Dents de scie, Sinusoïde redressée
par papydall Jeu 10 Aoû 2017 - 14:52

» Troncature dans une image
par JL35 Mer 9 Aoû 2017 - 13:45

» A chacun son point de vue
par papydall Mar 8 Aoû 2017 - 17:20

» Problème avec les chaines de caractères
par bignono Dim 6 Aoû 2017 - 9:33

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Août 2017
LunMarMerJeuVenSamDim
 123456
78910111213
14151617181920
21222324252627
28293031   
CalendrierCalendrier

Partagez | 
 

 Une poignée de codes ± inutiles, genre en veux-tu, en voilà

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
papydall

avatar

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

MessageSujet: Une poignée de codes ± inutiles, genre en veux-tu, en voilà    Mer 30 Sep 2015 - 1:55

Tout est dans le titre.

Code 1 :

Code:

rem ============================================================================
rem             Chaos Game
rem ============================================================================
dim rx,ry,x,y,sides,m,t,mult,pi,xc,yc
full_space 0 : color 0,0,0,0 : 2d_pen_color 255,255,255
font_name 0,"tahoma" : font_bold 0 : font_color 0,255,255,0 : font_size 0,22
pi = acos(-1) : rx = 300 : ry = 150 : x = 150 : y = 0
xc = width(0)/2 : yc = height(0)/2
for sides = 3 to 10
    for m = 1 to 10
        cls
        mult = m/10
        for t = 0 to 50
            Plot_The_Points()
            print_locate 50,50  : print "Veuillez patienter .... Jusqu'à : 10 / 10   ...  10 / 10  ...  50 / 50"
            print_locate 50,100 : print " <CLICK> pour mettre fin à la torture !!!"
            print_locate 50,150
            print str$(sides) + " / 10   ...  " + str$(m)+" / 10   ...  "+ str$(t)+ " / 50"
            if scancode <> 0 then fin()
        next t
    next m
next sides
Fin()
end
rem ============================================================================
SUB Choose_Vertex()
    dim_local angle,rad
    angle = (360/sides)*int(rnd(sides)*360)
    rad = pi*(angle/180) : y = (sin(rad))*150 : x = (cos(rad))*150
END_SUB
rem ============================================================================
SUB Plot_The_Points()
    dim_local c,midx,midy
    for c = 1 to 200
        Choose_Vertex() : midx = (x-rx) * mult + rx : midy = (y-ry) * mult + ry
        2d_point xc+midx,yc+midy : rx = midx : ry = midy : display
    next c
END_SUB
rem ============================================================================
SUB Fin()
    dim_local h
    print_locate 50,250 : print "Merci pour votre attention, à la prochaine"
    pause 1000
    for h = height(0) to 10 step -1 : height 0,h : next h
    terminate
    end
END_SUB
rem ============================================================================

Code 2 :

Code:

rem ============================================================================
rem                     Fractal Tree
rem ============================================================================

dim x1,y1,x2,y2,angle,r,s,n,b,i,cr,cg,cb,pi
pi = acos(-1)
width 0,700 : height 0,700 : color 0,0,0,0

2d_fill_on
for i = 1 to 1000
    caption 0,"Fractal Tree ... <CLICK> pour arrêter ....   " + str$(i) + " / 1000"
    x1 = 300 : y1 = 600 : s = 290 : angle = 270
    cr = 127*int(rnd(3)) : cg = 127*int(rnd(3)) : cb = 127*int(rnd(3))
    2d_pen_color cr,cg,cb : 2d_fill_color cr,cg,cb
    for b = 1 to 6
        lines() : s = s * .5 : angle = angle + int(rnd(5)) * 45 - 90
        if scancode <> 0 then FIN()
    next b
next i
caption 0,"Terminé"
end
rem ============================================================================
SUB Lines()
    dim_local x,y,rayon
    r = (angle/180)*pi : y2 = y1 + s * (sin(r)) : x2 = x1 - s * (cos(r))
    for n = 1 to 30
        x = (x2*n+x1*(30-n))/30 : y = (y2*n+y1*(30-n))/30 : rayon = 36/(b*b)
        2d_circle x,y,rayon
    next n
    x1 = x2 : y1 = y2
    display
END_SUB
rem ============================================================================
SUB Fin()
    dim_local h
    for h = height(0) to 10 step -1 : height 0,h : next h
    terminate
    end : ' Ce END après TERMINATE élimine le désagréable bip
END_SUB
rem ============================================================================

Code 3 :

Code:

rem ============================================================================
rem                Tessellation
rem ============================================================================

dim x1,y1,angle,pi
pi = acos(-1)
width 0, 700 : height 0,700
full_space 0
color 0,0,0,0 : 2d_fill_on : 2d_fill_color 255,0,0 : 2d_pen_color 255,255,0
caption 0,"Tessellation ... <CLICK> pour arrêter ........."
Tessellation(180,1)
Tessellation(120,1)
Tessellation(90,2)
Tessellation(60,2)
Tessellation(60,3)
Tessellation(45,4)
Tessellation(40,3)
Tessellation(36,5)
Tessellation(30,4)
Tessellation(30,6)
caption 0,"Terminé"
end
rem ============================================================================
SUB Tessellation(l,u)
    dim_local i,a,b,k
    cls
    for i = 1 to 50
        x1 = width(0)/2 : y1 = height(0)/2: angle = 270
        for b = 1 to 20
            a = l*int(rnd(2))-l/2
            for k = 1 to u : angle = angle + a: lines() : next k
        next b
        display
         if scancode <> 0 then fin()
    next i
    pause 500

END_SUB
rem ============================================================================
SUB Lines()
    dim_local r,n,x2,y2
    r = (angle/180)*pi
    y2 = y1 + (sin (r))*20 : x2 = x1 - (cos (r))*20
    for n = 1 to 30 : 2d_circle x1,y1,4 : 2d_line x1,y1,x2,y2 : next n
    x1 = x2 : y1 = y2
END_SUB
rem ============================================================================
SUB Fin()
    dim_local h
    for h = height(0) to 10 step -1 : height 0,h : next h
    terminate
    end : ' Ce END après TERMINATE élimine le désagréable bip
END_SUB
rem ============================================================================



 king  La suite dans le prochain épisode, si vous êtes intéressés. king
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Jicehel

avatar

Nombre de messages : 5849
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Une poignée de codes ± inutiles, genre en veux-tu, en voilà    Mer 30 Sep 2015 - 7:39

Merci Papydall
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

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

MessageSujet: Re: Une poignée de codes ± inutiles, genre en veux-tu, en voilà    Mer 30 Sep 2015 - 8:53

Quelle production !

j'aime bien Fractal Tree, ça ressemble à mon cerveau en ce moment Very Happy

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

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

MessageSujet: Re: Une poignée de codes ± inutiles, genre en veux-tu, en voilà    Mer 30 Sep 2015 - 16:02

Jean Claude a écrit:
j'aime bien Fractal Tree, ça ressemble à mon cerveau en ce moment    

Le mien ressemble plutôt à ceci:
Code 4 :

Code:

rem ============================================================================
rem    Attracteur de Lorenz
rem       Par Papydall
rem ============================================================================
dim s,p,b,x,y,z,zoom,dt,dx,dy,dz
width 0,1000 : height 0,500 : color 0,0,0,0
caption 0,"Attracteur de Lorenz .... <CLICK> pour arrêter"
s = 10 : p = 28 : b = 8/3 : x = 10 : y = 0  : z = 10 : zoom = 6 : dt = 0.002
repeat
    dx = s*(y-x) : dy = x*(p-z)-y : dz = x*y-b*z
    x = x + dx * dt : y = y + dy * dt : z = z + dz * dt
    2d_pen_color 255,000,0 : 2d_point 150 + zoom * y, 350 - zoom * z
    2d_pen_color 000,255,0 : 2d_point 450 + zoom * x, 350 - zoom * z
    2d_pen_color 255,255,0 : 2d_point 700 + zoom * x, 200 - zoom * y
until scancode <> 0

for y = height(0) to 10 step -1 : height 0,y : next y
terminate
rem ============================================================================

Suite à une erreur (une horreur comme disait ygernimi) de programmation dans l’un de mes mille et un inutilitaires, j’ai obtenu un comportement bizarre de ma boule .
J’ai modifié complètement le programme et voici le code.
Coloriste officiel (il se reconnaîtra), tu peux apporter ta contribution.

Code 5 :


Code:

rem ============================================================================
rem          La balle emprisonnée
rem ============================================================================
dim px,py,ax,ay,y,result% ,r1%,r2%,xc,yc
dim board$(16,5)
board$(0,0) = "xxxxxxxxxxxxxxxxxxxxxxxxxx"
board$(1,0) = "x                        x"
board$(2,0) = "x                        x"
board$(3,0) = "x    xxxxxxxxxxxxxxxx    x"
board$(4,0) = "x                   x    x"
board$(5,0) = "x                   x    x"
board$(6,0) = "xxxxxxxxxxxxxxx     x    x"
board$(7,0) = "x                   x    x"
board$(8,0) = "x                   x    x"
board$(9,0) = "x         xxxxxxxxxxx    x"
board$(10,0) ="x         x         x    x"
board$(11,0) ="x         x         x    x"
board$(12,0) ="x    x    x    x    x    x"
board$(13,0) ="x              x         x"
board$(14,0) ="x              x         x"
board$(15,0) ="xxxxxxxxxxxxxxxxxxxxxxxxxx"

px = 200: py = 280 : ax = 3 : ay = 2
full_space 0 : xc = width(0)/4 : yc = height(0)/4
color 0,0,0,0 : 2d_pen_color 255,255,0
caption 0,"<CLICK> pour arrêter"
while "Je suis" <> "Tu es"
    2d_circle xc+px,yc+py,20

    Floor(py/25 - .2) : r1% = result% : Ceil(px/19 + .4) : r2% = result%
    if mid$(board$(r1%,0),r2%,1) = "x" then ax = 0-ax
    Floor(py/25 - .2) : r1% = result% : Ceil(px/19 + .2) : r2% = result%
    if mid$(board$(r1%,0),r2%,1) = "x" then ax = 0-ax
    Floor(py/25 - .1) : r1% = result% : Ceil(px/19 + .3) : r2% = result%
    if mid$(board$(r1%,0),r2%,1) = "x" then ay = 0-ay
    Floor(py/25 - .3) : r1% = result% : Ceil(px/19 + .3) : r2% = result%
    if mid$(board$(r1%,0),r2%,1) = "x" then ay = 0-ay

    px = px + ax : py = py + ay
    if scancode <> 0 then exit_while
    pause 1 : ' Enlever cette pause accelère sensiblement l'affichage
end_while
Fin()
rem ============================================================================
' Arrondir vers le haut
' Exemples :
' Ceil(2.3)  ====> 3
' Ceil(3.8)  ====> 4
' Ceil(-2.3) ====> -2
' Ceil(-3.8) ====> -3
SUB Ceil(n)
    result% = n +.5
END_SUB
rem ============================================================================
' Arrondir vers le bas
' Exemples :
' Floor(2.3)  ====> 2
' Floor(3.8)  ====> 3
' Floor(-2.3) ====> -3
' Floor(-3.8) ====> -4
SUB Floor(n)
   if n < 0 then result% = n -.5 : else : result% = n
END_SUB
rem ============================================================================
SUB Fin()
    dim_local h
    for h = height(0) to 10 step -5 : height 0,h : next h
    terminate
    end
END_SUB
rem ============================================================================

Et pour terminer cette seconde série, je mets un peu de couleur ici :

Code 6 :

Code:

rem ============================================================================
rem             Des Lignes en couleur
rem ============================================================================
dim a,b,c,d,x,y
width 0,650 : height 0,350
caption 0,"<CLICK> pour mettre fin à l'ennui !!!"
a = 127
while "Je suis" <> "Tu es"
    b = power(rnd(1),2) : c = power(rnd(1),2) :  d = power(rnd(1),2)
    for x = 20 to 600
        for y = 10 to 300
            2d_pen_color a+a*sin(b*x),a+a*sin(c*x),a+a*sin(d*x) : 2d_point x,y
            if scancode <> 0 then exit_while
        next y : display
    next x
end_while
caption 0,"Arrêté par l'utilisateur"
Fin()
end
rem ============================================================================
SUB Fin()
    dim_local w
    for w = width(0) to 10 step -1 : width 0,w : next w
    terminate
    end
END_SUB
rem ============================================================================


A la prochaine, si suite il y aura! Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Jean Claude

avatar

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

MessageSujet: Re: Une poignée de codes ± inutiles, genre en veux-tu, en voilà    Mer 30 Sep 2015 - 22:45

c'est de l'art abstrait !

Code:
rem ============================================================================
rem    Attracteur de Lorenz
rem      Par Papydall
rem ============================================================================
dim s,p,b,x,y,z,zoom,dt,dx,dy,dz
width 0,1000 : height 0,500 : color 0,0,0,0 : full_space 0
caption 0,"Attracteur de Lorenz .... <CLICK> pour arrêter"
s = 13 : p = 18 : b = 8/4 : x = 50 : y = 20  : z = 10 : zoom = 16 : dt = 0.005
repeat
    dx = (s*(y-x))+153 : dy = (x*(p-z)-y)-8 : dz = (x*y-b*z)
    x = x + dx * dt +1.1: y = y + dy * dt : z = z + dz * dt
    2d_pen_color 255,rnd(255),0 : 2d_point 150 + zoom * y, 350 - zoom * z
    2d_pen_color rnd(255),rnd(255),rnd(255) : 2d_point 450 + zoom * x, 350 - zoom * z
    2d_pen_color 155,rnd(255),rnd(255) : 2d_point 700 + zoom * x, 200 - zoom * y
until scancode <> 0

for y = height(0) to 10 step -1 : height 0,y : next y
terminate
rem ============================================================================

lol!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

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

MessageSujet: Re: Une poignée de codes ± inutiles, genre en veux-tu, en voilà    Jeu 1 Oct 2015 - 0:39

@Jean Claude

Ta modification du code donne un beau résultat.

Mais l’attracteur de Lorenz ce n’est pas de l’art abstrait, ni même de l’art tout court.
Edouard Lorenz était un météorologue et c’est lui qui, le premier, a mis en évidence le caractère chaotique de la météorologie.
Ce modèle (ou système dynamique de Lorenz, appelé également oscillateur de Lorenz) est une modélisation très simplifiée de phénomènes météorologiques ayant pour base la mécanique des fluides.
Veuillez excuser les météorologues quand ils se trompent (parfois) dans leurs prévisions.
j'en sais un bout : j'étais moi-même météorologue mais à un niveau très modeste.

Tu peux te rendre à cette page pour des plus amples explications, mais prépare d’abord une (plutôt plusieurs) boîte de doliprane dans le cas où. Sait-on jamais ce qui pourrait arriver avec le chaos ? Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
papydall

avatar

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

MessageSujet: Re: Une poignée de codes ± inutiles, genre en veux-tu, en voilà    Jeu 1 Oct 2015 - 2:27

Vous trouvez sur mon webdav un fichier Attracteurs.zip
Il contient :
• AttracteurLorenz_MP4.bas
• CompilationAttracteurs_MP4.bas
• LorenzAttractorSimulation_Mp4.bas
• AttracteurLorenz.mp4
• CompilationAttracteurs.mp4
• LorenzAttractorSimulation.mp4


Dézipez-le où vous voulez.
Réglez le volume de vos HP
Exécutez successivement les .bas
Passer en mode plein écran et ....  admirez !

Attention :
Ce zip c’est du poids lourd : pas moins de  74.9 MB, mais c’est un régal !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Contenu sponsorisé




MessageSujet: Re: Une poignée de codes ± inutiles, genre en veux-tu, en voilà    

Revenir en haut Aller en bas
 
Une poignée de codes ± inutiles, genre en veux-tu, en voilà
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» FR-7B et Codes Midi ChangeControl Expression
» création compteur d'appuie de touche pour un genre de guitar hero
» Une liste des codes CSS
» Codes pour infobulle
» Packaprizz, forum pour gagner une multitude de codes allant du newpack au pack+

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC 32 bits :: Les inutilitaires-
Sauter vers: