Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| Une poignée de codes ± inutiles, genre en veux-tu, en voilà | |
| | Auteur | Message |
---|
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Une poignée de codes ± inutiles, genre en veux-tu, en voilà Mer 30 Sep 2015 - 0: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 ============================================================================
La suite dans le prochain épisode, si vous êtes intéressés. | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Une poignée de codes ± inutiles, genre en veux-tu, en voilà Mer 30 Sep 2015 - 6:39 | |
| | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Une poignée de codes ± inutiles, genre en veux-tu, en voilà Mer 30 Sep 2015 - 7:53 | |
| Quelle production ! j'aime bien Fractal Tree, ça ressemble à mon cerveau en ce moment A+ | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Une poignée de codes ± inutiles, genre en veux-tu, en voilà Mer 30 Sep 2015 - 15: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! | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Une poignée de codes ± inutiles, genre en veux-tu, en voilà Mer 30 Sep 2015 - 21: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 ============================================================================ | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Une poignée de codes ± inutiles, genre en veux-tu, en voilà Mer 30 Sep 2015 - 23: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 ? | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Une poignée de codes ± inutiles, genre en veux-tu, en voilà Jeu 1 Oct 2015 - 1: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 ! | |
| | | Contenu sponsorisé
| Sujet: Re: Une poignée de codes ± inutiles, genre en veux-tu, en voilà | |
| |
| | | | Une poignée de codes ± inutiles, genre en veux-tu, en voilà | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |