Forum de Programmation en langage PANORAMIC


Rejoignez le forum, c’est rapide et facile

Forum de Programmation en langage PANORAMIC
Forum de Programmation en langage PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Rechercher
 
 

Résultats par :
 


Rechercher Recherche avancée

Derniers sujets
» Bonne année 2024
Dessine-moi une étoile EmptyLun 1 Jan - 0:25 par Papydall-Admin

» A ceux qui célèbre Noël, bonnes fêtes
Dessine-moi une étoile EmptyDim 24 Déc - 10:49 par Papydall-Admin

» Joyeux Noël et Bonne Année
Dessine-moi une étoile EmptyVen 8 Déc - 1:34 par Papydall-Admin

» Planets of the Solar System : Tilts and Spins
Dessine-moi une étoile EmptyLun 20 Mar - 15:43 par Papydall-Admin

» Bonne Année 2023
Dessine-moi une étoile EmptySam 31 Déc - 1:39 par Papydall-Admin

» Fractals - Mandelbrot
Dessine-moi une étoile EmptyVen 21 Aoû - 22:51 par Papydall-Admin

» Convertisseur Décimal ---> Binaire, Octal, Hexadécimal, ...
Dessine-moi une étoile EmptyMer 21 Nov - 1:08 par Papydall-Admin

» Balises {USER...}
Dessine-moi une étoile EmptyLun 19 Nov - 22:12 par Papydall-Admin

» Useful Dog
Dessine-moi une étoile EmptyVen 6 Avr - 14:25 par Papydall-Admin

Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  

Calendrier Calendrier


Dessine-moi une étoile

Aller en bas

Dessine-moi une étoile Empty Dessine-moi une étoile

Message par Papydall-Admin Mar 4 Juil - 17:32

Code:
rem ============================================================================
rem                              Etoiles
rem ============================================================================

Init()
Que_Le_Spectacle_Commence()
 
end
rem ============================================================================
SUB Init()
    dim CX,CY           : ' centre de l'étoile
    dim Rayon           : ' rayon de l'étoile  
    dim Nbranche        : ' nombre de branches de l'étoile
    dim resX,resY       : ' Résolution de l'écran
    dim nbr : nbr = 500 : ' Nombre d'étoiles
    dim etoile(nbr,2)   : ' Tableau des coordonnées des centres des étoiles
    dim r,g,b           : ' Composantes de la couleur du tracé
    full_space 0 : picture 10 : full_space 10
    2d_target_is 10 : color 10, 255, 255, 196 : ' Jaune pale
    resX = width_client(10) : resY = height_client(10)
    alpha 20 : font_color 20,0,0,255 : font_size 20,50 : font_name 20,"arial"
    top 20,200 : left 20,400 : caption 20,"That's all folks !" : hide 20
END_SUB
rem ============================================================================
SUB CalculerEoile(CX, CY, Rayon, Nbranche , r, g, b)
    dim_local i, prof, CentreX, CentreY, Angle
    Prof = int(Rayon + rnd(Rayon + 120)) : ' prodondeur des branches de l'étoile aléa entre Rayon et Rayon + 120
    for i = 0 to (2 * Nbranche - 1)
        Angle = i * PI / Nbranche        : ' angle au sommet
        if Odd(i) > 0                    : ' parité des sommets
           CentreX = CX + int(Rayon * (Rayon - Prof) * cos(Angle) / Rayon) : ' introduction du paramètre Prof
           CentreY = CY + int(Rayon * (Rayon - Prof) * sin(Angle) / Rayon) : ' pour la prodondeur des branches
        else
           CentreX = CX + int(cos(Angle) * Rayon)
           CentreY = CY + int(sin(Angle) * Rayon)
        end_if
        etoile(i,1) = CentreX : etoile(i,2) = CentreY : ' stockage de la série de points
    next i
    DessinerEtoile(Nbranche)
END_SUB
rem ============================================================================
SUB DessinerEtoile(Nbranche)
    dim_local i
    2d_pen_color r,g,b : 2d_poly_from etoile(1,1) , etoile(1,2)
    for i = 0 to 2*Nbranche-1 : 2d_poly_to etoile(i,1) , etoile(i,2) : next i
    2d_poly_to etoile(0,1) , etoile(0,2)
    ' 2d_flood cx,cy, r,g,b
END_SUB
rem ============================================================================
SUB Que_Le_Spectacle_Commence()
    dim_local n
    n = 0
    2d_pen_width 2
    repeat
        n = n + 1
        Cx = int(rnd(ResX)) : CY = int(rnd(ResY)) : Rayon = int(5+rnd(100))
        Nbranche = int(5+rnd(21)) : ' Nombre des branches de l'étoile de 5 à 25
        r = int(rnd(256)) : g = int(rnd(256)) : b = int(rnd(256)) : ' Couleur aléatoire
        CalculerEoile(CX, CY, Rayon, Nbranche , r, g, b)
        display : pause 200  
        if mod(n,51) = 0 : ' effacement pour aérer la toile
           pause 1000
           color 10, 255, 255, 196 : ' couleur du fond jaune pale
        end_if
        caption 0, str$(n) + "/ " + str$(nbr) + "... <ESC> pour arrêter ..."        
     until (n = nbr) or scancode = 27
     show 20
END_SUB
rem ========================================================================
Papydall-Admin
Papydall-Admin
Admin

Messages : 93
Réputation : 0
Date d'inscription : 08/09/2015
Age : 73
Localisation : MOKNINE (Tunisie)

https://papydall-panoramic.forumarabia.com

Revenir en haut Aller en bas

Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum