Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
Sujet: Joyeux Anniversaire Panoramic ! Dim 14 Juin 2020 - 1:10
Aujourd’hui, 14 Juin c’est le jour anniversaire de Panoramic. Panoramic a maintenant 15 années d’existence. Souhaitons-lui un joyeux anniversaire ! C’est une occasion pour ceux qui se connectent sans rien dire de s’exprimer même avec un simple mot du genre "Vive Panoramic ! ou "J’aime Panoramic ou "Ok Panoramic", etc..
Pour ma part, je m’exprime avec le code suivant.
Code:
rem ============================================================================ rem Joyeux Anniversaire Panoramic rem Par Papydall le 14 / 06 / 2020 rem ============================================================================ dim x,y,e,r,g,b,i,j,n,t$ label close Mettre_Le_Decors() Happy_Birthday() end rem ============================================================================ SUB Mettre_Le_Decors() width 0,900 : height 0,700 : on_close 0,close top 0,(screen_y-height(0))/2 : left 0,(screen_x-width(0))/2 picture 10 : full_space 10 : 2d_target_is 10 : 2d_fill_off : color 10,100,100,20 : hide 10 create_hide r = 200 : g = 100 : b = 20 t$ = "Bon Anniversaire PANORAMIC ... Pour quitter cliquez sur la croix rouge en haut à droite " t$ = t$ + string$(30,"=") + " >>>" caption 0,t$ texte1() : texte2() y = 500 : e = 6 for i = 1 to 6 x = 70+(i-1)*150 Arbre() : Fleur(x-30,y-80,8) : Fleur(x-30,y-190,8) : Fleur(x-30,y-300,8) next i
alpha 1 : top 1,50 : left 1, 15 : font_name 1,"impact" : font_size 1,20 : font_bold 1 color 1,200,150,200 : font_color 1,255,255,0 alpha 2 : top 2,10 : left 2, 200 : color 2,100,100,20 : font_color 2,0,255,255 font_name 2,"arial black" : font_size 2,16
t$ = " Le 14 Juin 2005, M. Jean-Jacques Druelle ( alias Jack ) créa PANORAMIC. "+chr$(13) t$ = t$ + " ******* Aujourd'hui, le 14 Juin 2020, PANORAMIC est âgé de 15 ans. ******* " + chr$(13)+chr$(13) t$ = t$ + " ************** Souhaitons bon anniversaire à P A N O R A M I C ! ************* " caption 1,t$
for i = 1 to 13 for j = 1 to 17 n = 10+(i-1)*17+j : ' n de 11 à 231 picture n : 2d_target_is n width n,49 : height n,49 : left n, 15+(j-1)*50 : top n ,10+(i-1)*50 Fleur(15,10,6) next j next i show_all t$ = "" t$ = t$ + "Réglez vos Hauts-Parleurs, et installez-vous bien." + chr$(13) t$ = t$ + "Acquittez ce message par OK et ... profitez du spectacle !"+chr$(13) + chr$(13) t$ = t$ + "Quand vous en avez assez, cliquez sur la croix rouge pour arrêter le supplice !!!" + chr$(13) t$ = t$ + "Papydall vous salue !" +chr$(13) + chr$(13) t$ = t$ + "A vos marques ! Prêts ! Partez !" + chr$(13) message t$
i = 0 repeat n = int(11+rnd(220)) if object_exists(n) = 1 delete n : i = i + 1 : pause 50 end_if until i >= 220 2d_target_is 10 : delete 231 END_SUB rem ============================================================================ Close: while height(0) > 50 top 0,(screen_y-height(0))/2 : left 0,(screen_x-width(0))/2 width 0,width(0)-5 : height 0,height(0)-5 : pause 10 end_while terminate return rem ============================================================================ SUB texte1() dim_local x0 x0 = 15 : y = 265 : e = 4 x = x0+00*8*e : B(x,y,e) x = x0+01*8*e : O(x,y,e) x = x0+02*8*e : N(x,y,e)
x = x0+04*8*e : A(x,y,e) x = x0+05*8*e : N(x,y,e) x = x0+06*8*e : N(x,y,e) x = x0+07*8*e : I(x,y,e) x = x0+08*8*e : V(x,y,e) x = x0+09*8*e : E(x,y,e) x = x0+10*8*e : R(x,y,e) x = x0+11*8*e : S(x,y,e) x = x0+12*8*e : A(x,y,e) x = x0+13*8*e : I(x,y,e) x = x0+14*8*e : R(x,y,e) x = x0+15*8*e : E(x,y,e)
x = x0+17*8*e : P(x,y,e) x = x0+18*8*e : A(x,y,e) x = x0+19*8*e : N(x,y,e) x = x0+20*8*e : O(x,y,e) x = x0+21*8*e : R(x,y,e) x = x0+22*8*e : a(x,y,e) x = x0+23*8*e : M(x,y,e) x = x0+24*8*e : I(x,y,e) x = x0+25*8*e : C(x,y,e)
END_SUB rem ============================================================================ SUB Texte2() dim_local x0 x0 = 15 : y = 365 : e = 4 x = x0+00*8*e : D(x,y,e) x = x0+01*8*e : E(x,y,e)
x = x0+04*8*e : L(x,y,e) x = x0+05*8*e : A(x,y,e)
x = x0+08*8*e : P(x,y,e) x = x0+09*8*e : A(x,y,e) x = x0+10*8*e : R(x,y,e) x = x0+11*8*e : T(x,y,e)
x = x0+14*8*e : D(x,y,e) x = x0+15*8*e : E(x,y,e)
x = x0+18*8*e : P(x,y,e) x = x0+19*8*e : A(x,y,e) x = x0+20*8*e : P(x,y,e) x = x0+21*8*e : Y(x,y,e) x = x0+22*8*e : D(x,y,e) x = x0+23*8*e : A(x,y,e) x = x0+24*8*e : L(x,y,e) x = x0+25*8*e : L(x,y,e)
END_SUB rem ============================================================================ ' Mon propre alphabet SUB A(x,y,e) if e < 1 message "!!! La valeur de l'échelle e doit être POSITIVE !!!" exit_sub end_if 2d_fill_off : 2d_poly_from x,y 2d_poly_to x+6*e,y : 2d_poly_to x+6*e,y+10*e : 2d_poly_to x+4*e,y+10*e 2d_poly_to x+4*e,y+6*e : 2d_poly_to x+2*e,y+6*e : 2d_poly_to x+2*e,y+10*e 2d_poly_to x,y+10*e : 2d_poly_to x,y 2d_rectangle x+2*e,y+2*e,x+4*e,y+4*e 2d_flood x+1*e,y+1*e,r,g,b END_SUB rem ============================================================================ SUB B(x,y,e) if e < 1 message "!!! La valeur de l'échelle e doit être POSITIVE !!!" exit_sub end_if 2d_poly_from x,y 2d_poly_to x+5.5*e,y : 2d_poly_to x+6*e,y+0.5*e : 2d_poly_to x+6*e,y+4*e 2d_poly_to x+5*e,y+5*e : 2d_poly_to x+6*e,y+6*e : 2d_poly_to x+6*e,y+9.5*e 2d_poly_to x+5.5*e,y+10*e : 2d_poly_to x,y+10*e : 2d_poly_to x,y 2d_fill_off : 2d_rectangle x+2*e,y+2*e,x+4*e,y+4*e : 2d_rectangle x+2*e,y+6*e,x+4*e,y+8*e 2d_flood x+1*e,y+1*e,r,g,b END_SUB rem ============================================================================ SUB C(x,y,e) if e < 1 message "!!! La valeur de l'échelle e doit être POSITIVE !!!" exit_sub end_if 2d_poly_from x+0.5*e,y 2d_poly_to x,y+0.5*e : 2d_poly_to x,y+9.5*e : 2d_poly_to x+0.5*e,y+10*e 2d_poly_to x+6*e,y+10*e : 2d_poly_to x+6*e,y+8*e : 2d_poly_to x+2.5*e,y+8*e 2d_poly_to x+2*e,y+7.5*e : 2d_poly_to x+2*e,y+2.5*e : 2d_poly_to x+2.5*e,y+2*e 2d_poly_to x+6*e,y+2*e : 2d_poly_to x+6*e,y : 2d_poly_to x+0.5*e,y 2d_flood x+1*e,y+1*e,r,g,b END_SUB rem ============================================================================ SUB D(x,y,e) if e < 1 message "!!! La valeur de l'échelle e doit être POSITIVE !!!" exit_sub end_if 2d_poly_from x,y 2d_poly_to x,y+10*e : 2d_poly_to x+5.5*e,y+10*e : 2d_poly_to x+6*e,y+9.5*e 2d_poly_to x+6*e,y+0.5*e : 2d_poly_to x+5.5*e,y : 2d_poly_to x,y 2d_poly_from x+2*e,y+2*e 2d_poly_to x+2*e,y+8*e : 2d_poly_to x+3.5*e,y+8*e : 2d_poly_to x+4*e,y+7.5*e 2d_poly_to x+4*e,y+2.5*e : 2d_poly_to x+3.5*e,y+2*e : 2d_poly_to x+2*e,y+2*e 2d_flood x+1*e,y+1*e,r,g,b END_SUB rem ============================================================================ SUB E(x,y,e) if e < 1 message "!!! La valeur de l'échelle e doit être POSITIVE !!!" exit_sub end_if 2d_poly_from x,y 2d_poly_to x,y+10*e : 2d_poly_to x+6*e,y+10*e : 2d_poly_to x+6*e,y+8*e 2d_poly_to x+2*e,y+8*e : 2d_poly_to x+2*e,y+6*e : 2d_poly_to x+4*e,y+6*e 2d_poly_to x+4*e,y+4*e : 2d_poly_to x+2*e,y+4*e : 2d_poly_to x+2*e,y+2*e 2d_poly_to x+6*e,y+2*e : 2d_poly_to x+6*e,y : 2d_poly_to x,y 2d_flood x+1*e,y+1*e,r,g,b END_SUB rem ============================================================================ SUB F(x,y,e) if e < 1 message "!!! La valeur de l'échelle e doit être POSITIVE !!!" exit_sub end_if 2d_poly_from x,y 2d_poly_to x,y+10*e : 2d_poly_to x+2*e,y+10*e : 2d_poly_to x+2*e,y+6*e 2d_poly_to x+4*e,y+6*e : 2d_poly_to x+4*e,y+4*e : 2d_poly_to x+2*e,y+4*e 2d_poly_to x+2*e,y+2*e : 2d_poly_to x+6*e,y+2*e : 2d_poly_to x+6*e,y 2d_poly_to x,y 2d_flood x+1*e,y+1*e,r,g,b END_SUB rem ============================================================================ SUB G(x,y,e) if e < 1 message "!!! La valeur de l'échelle e doit être POSITIVE !!!" exit_sub end_if 2d_poly_from x,y 2d_poly_to x,y+10*e : 2d_poly_to x+6*e,y+10*e : 2d_poly_to x+6*e,y+4*e 2d_poly_to x+3*e,y+4*e : 2d_poly_to x+3*e,y+6*e : 2d_poly_to x+4*e,y+6*e 2d_poly_to x+4*e,y+8*e : 2d_poly_to x+2*e,y+8*e : 2d_poly_to x+2*e,y+2*e 2d_poly_to x+6*e,y+2*e : 2d_poly_to x+6*e,y : 2d_poly_to x,y 2d_flood x+1*e,y+1*e,r,g,b END_SUB rem ============================================================================ SUB H(x,y,e) if e < 1 message "!!! La valeur de l'échelle e doit être POSITIVE !!!" exit_sub end_if 2d_poly_from x,y 2d_poly_to x,y+10*e : 2d_poly_to x+2*e,y+10*e : 2d_poly_to x+2*e,y+6*e 2d_poly_to x+4*e,y+6*e : 2d_poly_to x+4*e,y+10*e : 2d_poly_to x+6*e,y+10*e 2d_poly_to x+6*e,y : 2d_poly_to x+4*e,y : 2d_poly_to x+4*e,y+3*e 2d_poly_to x+2*e,y+3*e : 2d_poly_to x+2*e,y : 2d_poly_to x,y 2d_flood x+1*e,y+1*e,r,g,b END_SUB rem ============================================================================ SUB I(x,y,e) if e < 1 message "!!! La valeur de l'échelle e doit être POSITIVE !!!" exit_sub end_if 2d_poly_from x,y 2d_poly_to x,y+2*e : 2d_poly_to x+2*e,y+2*e : 2d_poly_to x+2*e,y+8*e 2d_poly_to x,y+8*e : 2d_poly_to x,y+10*e : 2d_poly_to x+6*e,y+10*e 2d_poly_to x+6*e,y+8*e : 2d_poly_to x+4*e,y+8*e : 2d_poly_to x+4*e,y+2*e 2d_poly_to x+6*e,y+2*e : 2d_poly_to x+6*e,y : 2d_poly_to x,y 2d_flood x+1*e,y+1*e,r,g,b END_SUB rem ============================================================================ SUB J(x,y,e) if e < 1 message "!!! La valeur de l'échelle e doit être POSITIVE !!!" exit_sub end_if 2d_poly_from x,y 2d_poly_to x+6*e,y : 2d_poly_to x+6*e,y+9.75*e : 2d_poly_to x+5.75*e,y+10*e 2d_poly_to x+0.75*e,y+10*e : 2d_poly_to x,y+9.75*e : 2d_poly_to x,y+8*e 2d_poly_to x+2*e,y+8*e : 2d_poly_to x+2.25*e,y+9*e : 2d_poly_to x+3.75*e,y+9*e 2d_poly_to x+4*e,y+8*e : 2d_poly_to x+4*e,y+2*e : 2d_poly_to x,y+2*e 2d_poly_to x,y 2d_flood x+1*e,y+1*e,r,g,b END_SUB rem ============================================================================ SUB K(x,y,e) if e < 1 message "!!! La valeur de l'échelle e doit être POSITIVE !!!" exit_sub end_if 2d_poly_from x,y 2d_poly_to x+2*e,y : 2d_poly_to x+2*e,y+3*e : 2d_poly_to x+4*e,y 2d_poly_to x+6*e,y : 2d_poly_to x+3*e,y+5*e : 2d_poly_to x+6*e,y+10*e 2d_poly_to x+4*e,y+10*e : 2d_poly_to x+2*e,y+7*e : 2d_poly_to x+2*e,y+10*e 2d_poly_to x,y+10*e : 2d_poly_to x,y 2d_flood x+1*e,y+1*e,r,g,b
END_SUB rem ============================================================================ SUB L(x,y,e) if e < 1 message "!!! La valeur de l'échelle e doit être POSITIVE !!!" exit_sub end_if 2d_poly_from x,y 2d_poly_to x,y+10*e : 2d_poly_to x+6*e,y+10*e : 2d_poly_to x+6*e,y+8*e 2d_poly_to x+2*e,y+8*e : 2d_poly_to x+2*e,y : 2d_poly_to x,y 2d_flood x+1*e,y+1*e,r,g,b END_SUB rem ============================================================================ SUB M(x,y,e) if e < 1 message "!!! La valeur de l'échelle e doit être POSITIVE !!!" exit_sub end_if 2d_poly_from x,y 2d_poly_to x,y+10*e : 2d_poly_to x+2*e,y+10*e : 2d_poly_to x+2*e,y+6*e 2d_poly_to x+3*e,y+7*e : 2d_poly_to x+4*e,y+6*e : 2d_poly_to x+4*e,y+10*e 2d_poly_to x+6*e,y+10*e : 2d_poly_to x+6*e,y : 2d_poly_to x+4*e,y 2d_poly_to x+3*e,y+2*e : 2d_poly_to x+2*e,y : 2d_poly_to x,y 2d_flood x+1*e,y+1*e,r,g,b END_SUB rem ============================================================================ SUB N(x,y,e) if e < 1 message "!!! La valeur de l'échelle e doit être POSITIVE !!!" exit_sub end_if 2d_poly_from x,y 2d_poly_to x+2*e,y : 2d_poly_to x+4*e,y+5*e : 2d_poly_to x+4*e,y 2d_poly_to x+6*e,y : 2d_poly_to x+6*e,y+10*e : 2d_poly_to x+4*e,y+10*e 2d_poly_to x+2*e,y+6*e : 2d_poly_to x+2*e,y+10*e : 2d_poly_to x,y+10*e 2d_poly_to x,y 2d_flood x+1*e,y+1*e,r,g,b END_SUB rem ============================================================================ SUB O(x,y,e) if e < 1 message "!!! La valeur de l'échelle e doit être POSITIVE !!!" exit_sub end_if 2d_fill_off : 2d_rectangle x,y,x+6*e,y+10*e : 2d_rectangle x+2*e,y+2*e,x+4*e,y+8*e 2d_flood x+1*e,y+1*e,r,g,b END_SUB rem ============================================================================ SUB P(x,y,e) if e < 1 message "!!! La valeur de l'échelle e doit être POSITIVE !!!" exit_sub end_if 2d_poly_from x,y 2d_poly_to x+6*e,y : 2d_poly_to x+6*e,y+6*e : 2d_poly_to x+2*e,y+6*e 2d_poly_to x+2*e,y+10*e : 2d_poly_to x,y+10*e : 2d_poly_to x,y 2d_fill_off : 2d_rectangle x+2*e,y+2*e,x+4*e,y+4*e 2d_flood x+1*e,y+1*e,r,g,b END_SUB rem ============================================================================ SUB Q(x,y,e) if e < 1 message "!!! La valeur de l'échelle e doit être POSITIVE !!!" exit_sub end_if 2d_fill_off : 2d_rectangle x,y,x+6*e,y+10*e : 2d_rectangle x+2*e,y+2*e,x+4*e,y+8*e 2d_poly_from x+2*e,y+8*e : 2d_poly_to x+3*e,y+9.5*e 2d_poly_to x+5*e,y+9.5*e : 2d_poly_to x+4*e,y+8*e : 2d_poly_to x+2*e,y+8*e 2d_flood x+1*e,y+1*e,r,g,b END_SUB rem ============================================================================ SUB R(x,y,e) if e < 1 message "!!! La valeur de l'échelle e doit être POSITIVE !!!" exit_sub end_if 2d_poly_from x,y 2d_poly_to x+6*e,y : 2d_poly_to x+6*e,y+6*e : 2d_poly_to x+4*e,y+6*e 2d_poly_to x+6*e,y+10*e : 2d_poly_to x+4*e,y+10*e : 2d_poly_to x+2*e,y+6*e 2d_poly_to x+2*e,y+10*e : 2d_poly_to x,y+10*e : 2d_poly_to x,y 2d_fill_off : 2d_rectangle x+2*e,y+2*e,x+4*e,y+4*e 2d_flood x+1*e,y+1*e,r,g,b END_SUB rem ============================================================================ SUB S(x,y,e) if e < 1 message "!!! La valeur de l'échelle e doit être POSITIVE !!!" exit_sub end_if 2d_poly_from x,y 2d_poly_to x,y+6*e : 2d_poly_to x+4*e,y+6*e : 2d_poly_to x+4*e,y+8*e 2d_poly_to x,y+8*e : 2d_poly_to x,y+10*e : 2d_poly_to x+6*e,y+10*e 2d_poly_to x+6*e,y+4*e : 2d_poly_to x+2*e,y+4*e : 2d_poly_to x+2*e,y+2*e 2d_poly_to x+6*e,y+2*e : 2d_poly_to x+6*e,y : 2d_poly_to x,y 2d_flood x+1*e,y+1*e,r,g,b END_SUB rem ============================================================================ SUB T(x,y,e) if e < 1 message "!!! La valeur de l'échelle e doit être POSITIVE !!!" exit_sub end_if 2d_poly_from x,y 2d_poly_to x+6*e,y : 2d_poly_to x+6*e,y+2*e : 2d_poly_to x+4*e,y+2*e 2d_poly_to x+4*e,y+10*e : 2d_poly_to x+2*e,y+10*e : 2d_poly_to x+2*e,y+2*e 2d_poly_to x,y+2*e : 2d_poly_to x,y 2d_flood x+1*e,y+1*e,r,g,b END_SUB rem ============================================================================ SUB U(x,y,e) if e < 1 message "!!! La valeur de l'échelle e doit être POSITIVE !!!" exit_sub end_if 2d_poly_from x,y 2d_poly_to x,y+10*e : 2d_poly_to x+6*e,y+10*e : 2d_poly_to x+6*e,y 2d_poly_to x+4*e,y : 2d_poly_to x+4*e,y+8*e : 2d_poly_to x+2*e,y+8*e 2d_poly_to x+2*e,y : 2d_poly_to x,y 2d_flood x+1*e,y+1*e,r,g,b END_SUB rem ============================================================================ SUB V(x,y,e) if e < 1 message "!!! La valeur de l'échelle e doit être POSITIVE !!!" exit_sub end_if 2d_poly_from x,y 2d_poly_to x+2*e,y : 2d_poly_to x+3*e,y+5*e : 2d_poly_to x+4*e,y 2d_poly_to x+6*e,y : 2d_poly_to x+4*e,y+10*e : 2d_poly_to x+2*e,y+10*e 2d_poly_to x,y 2d_flood x+1*e,y+1*e,r,g,b END_SUB rem ============================================================================ SUB W(x,y,e) if e < 1 message "!!! La valeur de l'échelle e doit être POSITIVE !!!" exit_sub end_if 2d_poly_from x,y 2d_poly_to x+2*e,y : 2d_poly_to x+2*e,y+5*e : 2d_poly_to x+3*e,y+4*e 2d_poly_to x+4*e,y+5*e : 2d_poly_to x+4*e,y : 2d_poly_to x+6*e,y 2d_poly_to x+6*e,y+10*e : 2d_poly_to x+4*e,y+10*e : 2d_poly_to x+3*e,y+8*e 2d_poly_to x+2*e,y+10*e : 2d_poly_to x,y+10*e : 2d_poly_to x,y 2d_flood x+1*e,y+1*e,r,g,b END_SUB rem ============================================================================ SUB X(x,y,e) if e < 1 message "!!! La valeur de l'échelle e doit être POSITIVE !!!" exit_sub end_if 2d_poly_from x,y 2d_poly_to x+2*e,y : 2d_poly_to x+3*e,y+2*e : 2d_poly_to x+4*e,y 2d_poly_to x+6*e,y : 2d_poly_to x+4*e,y+5*e : 2d_poly_to x+6*e,y+10*e 2d_poly_to x+4*e,y+10*e : 2d_poly_to x+3*e,y+8*e : 2d_poly_to x+2*e,y+10*e 2d_poly_to x,y+10*e : 2d_poly_to x+2*e,y+5*e : 2d_poly_to x,y 2d_flood x+1*e,y+1*e,r,g,b END_SUB rem ============================================================================ SUB Y(x,y,e) if e < 1 message "!!! La valeur de l'échelle e doit être POSITIVE !!!" exit_sub end_if 2d_poly_from x,y 2d_poly_to x+2*e,y : 2d_poly_to x+3*e,y+4*e : 2d_poly_to x+4*e,y 2d_poly_to x+6*e,y : 2d_poly_to x+4*e,y+6*e : 2d_poly_to x+4*e,y+10*e 2d_poly_to x+2*e,y+10*e : 2d_poly_to x+2*e,y+6*e : 2d_poly_to x,y 2d_flood x+1*e,y+1*e,r,g,b END_SUB rem ============================================================================ SUB Z(x,y,e) if e < 1 message "!!! La valeur de l'échelle e doit être POSITIVE !!!" exit_sub end_if 2d_poly_from x,y 2d_poly_to x+6*e,y : 2d_poly_to x+3*e,y+8*e : 2d_poly_to x+6*e,y+8*e 2d_poly_to x+6*e,y+10*e : 2d_poly_to x,y+10*e : 2d_poly_to x+3*e,y+2*e 2d_poly_to x,y+2*e : 2d_poly_to x,y 2d_flood x+1*e,y+1*e,r,g,b END_SUB rem ============================================================================ SUB Arbre() 2d_pen_color 0,128,0 : Branche(x,y,e) 2d_pen_color 0,192,0 : Branche(x-2*e,y+5*e,e) : Branche(x+2*e,y+5*e,e) 2d_pen_color 0,128,0 : Branche(x-4*e,y+10*e,e) : Branche(x,y+10*e,e) Branche(x+4*e,y+10*e,e) 2d_pen_color 0,192,0 : Branche(x-6*e,y+15*e,e) : Branche(x-2*e,y+15*e,e) Branche(x+2*e,y+15*e,e) : Branche(x+6*e,y+15*e,e) 2d_pen_color 0,128,0 : Branche(x-8*e,y+20*e,e) : Branche(x-4*e,y+20*e,e) Branche(x,y+20*e,e) : Branche(x+4*e,y+20*e,e) : Branche(x+8*e,y+20*e,e) Lumiere(x,y,e) Tronc(x,y,e) Fruit(x,y,e) END_SUB rem ============================================================================ SUB Branche(x,y,e) 2d_pen_width 2 2d_line x-2*e,y,x+2*e,y 2d_line x-2*e,y-1*e,x+2*e,y+1*e 2d_line x-2*e,y-2*e,x+2*e,y+2*e 2d_line x-1*e,y-2*e,x+1*e,y+2*e 2d_line x,y-2*e,x,y+2*e 2d_line x-2*e,y+1*e,x+2*e,y-1*e 2d_line x-2*e,y+2*e,x+2*e,y-2*e 2d_line x-1*e,y+2*e,x+1*e,y-2*e END_SUB rem ============================================================================ SUB Lumiere(x,y,e) 2d_pen_color 255,255,0 2d_line x-1*e,y-4*e,x+1*e,y-4*e 2d_line x-1*e,y-5*e,x+1*e,y-3*e 2d_line x-1*e,y-3*e,x+1*e,y-5*e 2d_line x,y-2*e,x,y-5*e END_SUB rem ============================================================================ SUB Tronc(x,y,e) 2d_pen_color 150,100,20 : 2d_fill_color 150,100,20 2d_rectangle x-1*e,y+23*e,x+1*e,y+26*e END_SUB rem ============================================================================ SUB Fruit(x,y,e) 2d_pen_color 0,255,0 : 2d_fill_color 0,255,0 : 2d_circle x-2*e,y+2.5*e,0.5*e 2d_pen_color 255,0,0 : 2d_fill_color 255,0,0 : 2d_circle x+2*e,y+2.5*e,0.5*e 2d_pen_color 0,0,255 : 2d_fill_color 0,0,255 : 2d_circle x-4*e,y+7.5*e,0.5*e 2d_pen_color 255,0,0 : 2d_fill_color 255,0,0 : 2d_circle x,y+7.5*e,0.5*e 2d_pen_color 0,0,255 : 2d_fill_color 0,0,255 : 2d_circle x+4*e,y+7.5*e,0.5*e 2d_pen_color 0,255,0 : 2d_fill_color 0,255,0 : 2d_circle x-6*e,y+12.5*e,0.5*e 2d_pen_color 0,255,255 : 2d_fill_color 0,255,255 : 2d_circle x-2*e,y+12.5*e,0.5*e 2d_circle x+2*e,y+12.5*e,0.5*e : 2d_circle x+6*e,y+12.5*e,0.5*e 2d_circle x-8*e,y+17.5*e,0.5*e : 2d_circle x-4*e,y+17.5*e,0.5*e 2d_circle x,y+17.5*e,0.5*e : 2d_circle x+4*e,y+17.5*e,0.5*e : 2d_circle x+8*e,y+17.5*e,0.5*e END_SUB rem ============================================================================ SUB Fleur(x,y,e) if e < 1 message "!!! La valeur de l'échelle e doit être POSITIVE !!!" exit_sub end_if 2d_poly_from x,y 2d_poly_to x+1*e,y+1*e : 2d_poly_to x+2*e,y : 2d_poly_to x+2*e,y+2*e 2d_poly_to x+1*e,y+3*e : 2d_poly_to x+1*e,y+5*e 2d_poly_to x+2*e,y+5*e : 2d_poly_to x+3*e,y+4*e : 2d_poly_to x+3*e,y+3*e 2d_poly_to x+2*e,y+3*e : 2d_poly_to x+1*e,y+4*e 2d_poly_to x+1*e,y+3*e : 2d_poly_to x,y+2*e : 2d_poly_to x,y 2d_flood x+1*e,y+2*e,255,0,0 2d_flood x+2*e,y+4*e,0,255,0 END_SUB rem ============================================================================ SUB Happy_birthday() dim_local n,t,Panoramic_Fete_Son_Anniversaire,instrument Panoramic_Fete_Son_Anniversaire = 1 midi_on : midi_volume 127 while Panoramic_Fete_Son_Anniversaire > 0 instrument = int(1+rnd(127)) midi_instrument instrument caption 2," Happy birthday to you : instrument : " + str$(instrument) restore : read n : read t while n <> 99 midi_play n,t : read n : read t end_while pause 1000 end_while midi_off END_SUB rem ============================================================================ rem &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& rem ============================================================================ ' Notes de Happy Birthday For You ' La musique et moi fond DEUX ! ' Avis à tous les Pano-Musiciens du Forum : ' Si quelqu'un ou quelqu'une veuille bien proposer une meilleure approche pour ' jouer "Happy birthday", je suis preneur avec mes remerciements d'avance. rem ============================================================================ data 67 : ' Sol data 8 : ' <---- modifié par Marc data 67 : ' Sol data 8 : ' <---- modifié par Marc data 69 : ' La data 6 data 67 : ' Sol data 6 : ' <---- modifié par Marc data 72 : ' Do data 6 data 71 : ' Si data 4 : ' <---- modifié par Marc data 67 : ' Sol data 8 : ' <---- modifié par Marc data 67 : ' Sol data 8 : ' <---- modifié par Marc data 69 : ' La data 6 data 67 : ' Sol data 6 data 74 : ' Ré data 6 data 72 : ' Do data 4 : ' <---- modifié par Marc data 67 : ' Sol data 8 : ' <---- modifié par Marc data 67 : ' Sol data 8 data 79 : ' Sol data 6 data 76 : ' Mi data 6 data 72 : ' Do data 6 data 71 : ' Si data 6 data 69 : ' La data 6 data 77 : ' Fa data 8 : ' <---- modifié par Marc data 77 : ' Fa data 8 : ' <---- modifié par Marc data 76 : ' Mi data 6 data 72 : ' Do data 6 data 74 : ' Ré data 6 data 72 : ' Do data 4 : ' <---- modifié par Marc data 99 : ' fin paramètre n, note data 99 : ' fin patamètre t, durée de la note rem ============================================================================ rem &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& rem ============================================================================
Edité pour tenir compte de la proposition de Marc.
Spoiler:
Dernière édition par papydall le Dim 14 Juin 2020 - 11:07, édité 1 fois (Raison : Edité pour tenir compte de la proposition de Marc.)
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
Sujet: re Dim 14 Juin 2020 - 1:28
Joyeux anniversaire
Panoramic
15 ans
Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
Sujet: Re: Joyeux Anniversaire Panoramic ! Dim 14 Juin 2020 - 10:06
Bonjour à tous !
Bon anniversaire au langage Panoramic !
C'est l'occasion de remercier encore une fois Jack pour sa générosité : Merci Jack !
@Papydall Bravo et merci Papydall pour ton source.
Je te propose cette variante musicale :
Spoiler:
Code:
rem ============================================================================ rem Joyeux Anniversaire Panoramic rem Par Papydall le 14 / 06 / 2020 rem ============================================================================ dim x,y,e,r,g,b,i,j,n,t$ label close Mettre_Le_Decors() Happy_Birthday() end rem ============================================================================ SUB Mettre_Le_Decors() width 0,900 : height 0,700 : on_close 0,close top 0,(screen_y-height(0))/2 : left 0,(screen_x-width(0))/2 picture 10 : full_space 10 : 2d_target_is 10 : 2d_fill_off : color 10,100,100,20 : hide 10 create_hide r = 200 : g = 100 : b = 20 t$ = "Bon Anniversaire PANORAMIC ... Pour quitter cliquez sur la croix rouge en haut à droite " t$ = t$ + string$(30,"=") + " >>>" caption 0,t$ texte1() : texte2() y = 500 : e = 6 for i = 1 to 6 x = 70+(i-1)*150 Arbre() : Fleur(x-30,y-80,8) : Fleur(x-30,y-190,8) : Fleur(x-30,y-300,8) next i
alpha 1 : top 1,50 : left 1, 15 : font_name 1,"impact" : font_size 1,20 : font_bold 1 color 1,200,150,200 : font_color 1,255,255,0 alpha 2 : top 2,10 : left 2, 200 : color 2,100,100,20 : font_color 2,0,255,255 font_name 2,"arial black" : font_size 2,16
t$ = " Le 14 Juin 2005, M. Jean-Jacques Druelle ( alias Jack ) créa PANORAMIC. "+chr$(13) t$ = t$ + " ******* Aujourd'hui, le 14 Juin 2020, PANORAMIC est âgé de 15 ans. ******* " + chr$(13)+chr$(13) t$ = t$ + " ************** Souhaitons bon anniversaire à P A N O R A M I C ! ************* " caption 1,t$
for i = 1 to 13 for j = 1 to 17 n = 10+(i-1)*17+j : ' n de 11 à 231 picture n : 2d_target_is n width n,49 : height n,49 : left n, 15+(j-1)*50 : top n ,10+(i-1)*50 Fleur(15,10,6) next j next i show_all t$ = "" t$ = t$ + "Réglez vos Hauts-Parleurs, et installez-vous bien." + chr$(13) t$ = t$ + "Acquittez ce message par OK et ... profitez du spectacle !"+chr$(13) + chr$(13) t$ = t$ + "Quand vous en avez assez, cliquez sur la croix rouge pour arrêter le supplice !!!" + chr$(13) t$ = t$ + "Papydall vous salue !" +chr$(13) + chr$(13) t$ = t$ + "A vos marques ! Prêts ! Partez !" + chr$(13) message t$
i = 0 repeat n = int(11+rnd(220)) if object_exists(n) = 1 delete n : i = i + 1 : pause 50 end_if until i >= 220 2d_target_is 10 : delete 231 END_SUB rem ============================================================================ Close: while height(0) > 50 top 0,(screen_y-height(0))/2 : left 0,(screen_x-width(0))/2 width 0,width(0)-5 : height 0,height(0)-5 : pause 10 end_while terminate return rem ============================================================================ SUB texte1() dim_local x0 x0 = 15 : y = 265 : e = 4 x = x0+00*8*e : B(x,y,e) x = x0+01*8*e : O(x,y,e) x = x0+02*8*e : N(x,y,e)
x = x0+04*8*e : A(x,y,e) x = x0+05*8*e : N(x,y,e) x = x0+06*8*e : N(x,y,e) x = x0+07*8*e : I(x,y,e) x = x0+08*8*e : V(x,y,e) x = x0+09*8*e : E(x,y,e) x = x0+10*8*e : R(x,y,e) x = x0+11*8*e : S(x,y,e) x = x0+12*8*e : A(x,y,e) x = x0+13*8*e : I(x,y,e) x = x0+14*8*e : R(x,y,e) x = x0+15*8*e : E(x,y,e)
x = x0+17*8*e : P(x,y,e) x = x0+18*8*e : A(x,y,e) x = x0+19*8*e : N(x,y,e) x = x0+20*8*e : O(x,y,e) x = x0+21*8*e : R(x,y,e) x = x0+22*8*e : a(x,y,e) x = x0+23*8*e : M(x,y,e) x = x0+24*8*e : I(x,y,e) x = x0+25*8*e : C(x,y,e)
END_SUB rem ============================================================================ SUB Texte2() dim_local x0 x0 = 15 : y = 365 : e = 4 x = x0+00*8*e : D(x,y,e) x = x0+01*8*e : E(x,y,e)
x = x0+04*8*e : L(x,y,e) x = x0+05*8*e : A(x,y,e)
x = x0+08*8*e : P(x,y,e) x = x0+09*8*e : A(x,y,e) x = x0+10*8*e : R(x,y,e) x = x0+11*8*e : T(x,y,e)
x = x0+14*8*e : D(x,y,e) x = x0+15*8*e : E(x,y,e)
x = x0+18*8*e : P(x,y,e) x = x0+19*8*e : A(x,y,e) x = x0+20*8*e : P(x,y,e) x = x0+21*8*e : Y(x,y,e) x = x0+22*8*e : D(x,y,e) x = x0+23*8*e : A(x,y,e) x = x0+24*8*e : L(x,y,e) x = x0+25*8*e : L(x,y,e)
END_SUB rem ============================================================================ ' Mon propre alphabet SUB A(x,y,e) if e < 1 message "!!! La valeur de l'échelle e doit être POSITIVE !!!" exit_sub end_if 2d_fill_off : 2d_poly_from x,y 2d_poly_to x+6*e,y : 2d_poly_to x+6*e,y+10*e : 2d_poly_to x+4*e,y+10*e 2d_poly_to x+4*e,y+6*e : 2d_poly_to x+2*e,y+6*e : 2d_poly_to x+2*e,y+10*e 2d_poly_to x,y+10*e : 2d_poly_to x,y 2d_rectangle x+2*e,y+2*e,x+4*e,y+4*e 2d_flood x+1*e,y+1*e,r,g,b END_SUB rem ============================================================================ SUB B(x,y,e) if e < 1 message "!!! La valeur de l'échelle e doit être POSITIVE !!!" exit_sub end_if 2d_poly_from x,y 2d_poly_to x+5.5*e,y : 2d_poly_to x+6*e,y+0.5*e : 2d_poly_to x+6*e,y+4*e 2d_poly_to x+5*e,y+5*e : 2d_poly_to x+6*e,y+6*e : 2d_poly_to x+6*e,y+9.5*e 2d_poly_to x+5.5*e,y+10*e : 2d_poly_to x,y+10*e : 2d_poly_to x,y 2d_fill_off : 2d_rectangle x+2*e,y+2*e,x+4*e,y+4*e : 2d_rectangle x+2*e,y+6*e,x+4*e,y+8*e 2d_flood x+1*e,y+1*e,r,g,b END_SUB rem ============================================================================ SUB C(x,y,e) if e < 1 message "!!! La valeur de l'échelle e doit être POSITIVE !!!" exit_sub end_if 2d_poly_from x+0.5*e,y 2d_poly_to x,y+0.5*e : 2d_poly_to x,y+9.5*e : 2d_poly_to x+0.5*e,y+10*e 2d_poly_to x+6*e,y+10*e : 2d_poly_to x+6*e,y+8*e : 2d_poly_to x+2.5*e,y+8*e 2d_poly_to x+2*e,y+7.5*e : 2d_poly_to x+2*e,y+2.5*e : 2d_poly_to x+2.5*e,y+2*e 2d_poly_to x+6*e,y+2*e : 2d_poly_to x+6*e,y : 2d_poly_to x+0.5*e,y 2d_flood x+1*e,y+1*e,r,g,b END_SUB rem ============================================================================ SUB D(x,y,e) if e < 1 message "!!! La valeur de l'échelle e doit être POSITIVE !!!" exit_sub end_if 2d_poly_from x,y 2d_poly_to x,y+10*e : 2d_poly_to x+5.5*e,y+10*e : 2d_poly_to x+6*e,y+9.5*e 2d_poly_to x+6*e,y+0.5*e : 2d_poly_to x+5.5*e,y : 2d_poly_to x,y 2d_poly_from x+2*e,y+2*e 2d_poly_to x+2*e,y+8*e : 2d_poly_to x+3.5*e,y+8*e : 2d_poly_to x+4*e,y+7.5*e 2d_poly_to x+4*e,y+2.5*e : 2d_poly_to x+3.5*e,y+2*e : 2d_poly_to x+2*e,y+2*e 2d_flood x+1*e,y+1*e,r,g,b END_SUB rem ============================================================================ SUB E(x,y,e) if e < 1 message "!!! La valeur de l'échelle e doit être POSITIVE !!!" exit_sub end_if 2d_poly_from x,y 2d_poly_to x,y+10*e : 2d_poly_to x+6*e,y+10*e : 2d_poly_to x+6*e,y+8*e 2d_poly_to x+2*e,y+8*e : 2d_poly_to x+2*e,y+6*e : 2d_poly_to x+4*e,y+6*e 2d_poly_to x+4*e,y+4*e : 2d_poly_to x+2*e,y+4*e : 2d_poly_to x+2*e,y+2*e 2d_poly_to x+6*e,y+2*e : 2d_poly_to x+6*e,y : 2d_poly_to x,y 2d_flood x+1*e,y+1*e,r,g,b END_SUB rem ============================================================================ SUB F(x,y,e) if e < 1 message "!!! La valeur de l'échelle e doit être POSITIVE !!!" exit_sub end_if 2d_poly_from x,y 2d_poly_to x,y+10*e : 2d_poly_to x+2*e,y+10*e : 2d_poly_to x+2*e,y+6*e 2d_poly_to x+4*e,y+6*e : 2d_poly_to x+4*e,y+4*e : 2d_poly_to x+2*e,y+4*e 2d_poly_to x+2*e,y+2*e : 2d_poly_to x+6*e,y+2*e : 2d_poly_to x+6*e,y 2d_poly_to x,y 2d_flood x+1*e,y+1*e,r,g,b END_SUB rem ============================================================================ SUB G(x,y,e) if e < 1 message "!!! La valeur de l'échelle e doit être POSITIVE !!!" exit_sub end_if 2d_poly_from x,y 2d_poly_to x,y+10*e : 2d_poly_to x+6*e,y+10*e : 2d_poly_to x+6*e,y+4*e 2d_poly_to x+3*e,y+4*e : 2d_poly_to x+3*e,y+6*e : 2d_poly_to x+4*e,y+6*e 2d_poly_to x+4*e,y+8*e : 2d_poly_to x+2*e,y+8*e : 2d_poly_to x+2*e,y+2*e 2d_poly_to x+6*e,y+2*e : 2d_poly_to x+6*e,y : 2d_poly_to x,y 2d_flood x+1*e,y+1*e,r,g,b END_SUB rem ============================================================================ SUB H(x,y,e) if e < 1 message "!!! La valeur de l'échelle e doit être POSITIVE !!!" exit_sub end_if 2d_poly_from x,y 2d_poly_to x,y+10*e : 2d_poly_to x+2*e,y+10*e : 2d_poly_to x+2*e,y+6*e 2d_poly_to x+4*e,y+6*e : 2d_poly_to x+4*e,y+10*e : 2d_poly_to x+6*e,y+10*e 2d_poly_to x+6*e,y : 2d_poly_to x+4*e,y : 2d_poly_to x+4*e,y+3*e 2d_poly_to x+2*e,y+3*e : 2d_poly_to x+2*e,y : 2d_poly_to x,y 2d_flood x+1*e,y+1*e,r,g,b END_SUB rem ============================================================================ SUB I(x,y,e) if e < 1 message "!!! La valeur de l'échelle e doit être POSITIVE !!!" exit_sub end_if 2d_poly_from x,y 2d_poly_to x,y+2*e : 2d_poly_to x+2*e,y+2*e : 2d_poly_to x+2*e,y+8*e 2d_poly_to x,y+8*e : 2d_poly_to x,y+10*e : 2d_poly_to x+6*e,y+10*e 2d_poly_to x+6*e,y+8*e : 2d_poly_to x+4*e,y+8*e : 2d_poly_to x+4*e,y+2*e 2d_poly_to x+6*e,y+2*e : 2d_poly_to x+6*e,y : 2d_poly_to x,y 2d_flood x+1*e,y+1*e,r,g,b END_SUB rem ============================================================================ SUB J(x,y,e) if e < 1 message "!!! La valeur de l'échelle e doit être POSITIVE !!!" exit_sub end_if 2d_poly_from x,y 2d_poly_to x+6*e,y : 2d_poly_to x+6*e,y+9.75*e : 2d_poly_to x+5.75*e,y+10*e 2d_poly_to x+0.75*e,y+10*e : 2d_poly_to x,y+9.75*e : 2d_poly_to x,y+8*e 2d_poly_to x+2*e,y+8*e : 2d_poly_to x+2.25*e,y+9*e : 2d_poly_to x+3.75*e,y+9*e 2d_poly_to x+4*e,y+8*e : 2d_poly_to x+4*e,y+2*e : 2d_poly_to x,y+2*e 2d_poly_to x,y 2d_flood x+1*e,y+1*e,r,g,b END_SUB rem ============================================================================ SUB K(x,y,e) if e < 1 message "!!! La valeur de l'échelle e doit être POSITIVE !!!" exit_sub end_if 2d_poly_from x,y 2d_poly_to x+2*e,y : 2d_poly_to x+2*e,y+3*e : 2d_poly_to x+4*e,y 2d_poly_to x+6*e,y : 2d_poly_to x+3*e,y+5*e : 2d_poly_to x+6*e,y+10*e 2d_poly_to x+4*e,y+10*e : 2d_poly_to x+2*e,y+7*e : 2d_poly_to x+2*e,y+10*e 2d_poly_to x,y+10*e : 2d_poly_to x,y 2d_flood x+1*e,y+1*e,r,g,b
END_SUB rem ============================================================================ SUB L(x,y,e) if e < 1 message "!!! La valeur de l'échelle e doit être POSITIVE !!!" exit_sub end_if 2d_poly_from x,y 2d_poly_to x,y+10*e : 2d_poly_to x+6*e,y+10*e : 2d_poly_to x+6*e,y+8*e 2d_poly_to x+2*e,y+8*e : 2d_poly_to x+2*e,y : 2d_poly_to x,y 2d_flood x+1*e,y+1*e,r,g,b END_SUB rem ============================================================================ SUB M(x,y,e) if e < 1 message "!!! La valeur de l'échelle e doit être POSITIVE !!!" exit_sub end_if 2d_poly_from x,y 2d_poly_to x,y+10*e : 2d_poly_to x+2*e,y+10*e : 2d_poly_to x+2*e,y+6*e 2d_poly_to x+3*e,y+7*e : 2d_poly_to x+4*e,y+6*e : 2d_poly_to x+4*e,y+10*e 2d_poly_to x+6*e,y+10*e : 2d_poly_to x+6*e,y : 2d_poly_to x+4*e,y 2d_poly_to x+3*e,y+2*e : 2d_poly_to x+2*e,y : 2d_poly_to x,y 2d_flood x+1*e,y+1*e,r,g,b END_SUB rem ============================================================================ SUB N(x,y,e) if e < 1 message "!!! La valeur de l'échelle e doit être POSITIVE !!!" exit_sub end_if 2d_poly_from x,y 2d_poly_to x+2*e,y : 2d_poly_to x+4*e,y+5*e : 2d_poly_to x+4*e,y 2d_poly_to x+6*e,y : 2d_poly_to x+6*e,y+10*e : 2d_poly_to x+4*e,y+10*e 2d_poly_to x+2*e,y+6*e : 2d_poly_to x+2*e,y+10*e : 2d_poly_to x,y+10*e 2d_poly_to x,y 2d_flood x+1*e,y+1*e,r,g,b END_SUB rem ============================================================================ SUB O(x,y,e) if e < 1 message "!!! La valeur de l'échelle e doit être POSITIVE !!!" exit_sub end_if 2d_fill_off : 2d_rectangle x,y,x+6*e,y+10*e : 2d_rectangle x+2*e,y+2*e,x+4*e,y+8*e 2d_flood x+1*e,y+1*e,r,g,b END_SUB rem ============================================================================ SUB P(x,y,e) if e < 1 message "!!! La valeur de l'échelle e doit être POSITIVE !!!" exit_sub end_if 2d_poly_from x,y 2d_poly_to x+6*e,y : 2d_poly_to x+6*e,y+6*e : 2d_poly_to x+2*e,y+6*e 2d_poly_to x+2*e,y+10*e : 2d_poly_to x,y+10*e : 2d_poly_to x,y 2d_fill_off : 2d_rectangle x+2*e,y+2*e,x+4*e,y+4*e 2d_flood x+1*e,y+1*e,r,g,b END_SUB rem ============================================================================ SUB Q(x,y,e) if e < 1 message "!!! La valeur de l'échelle e doit être POSITIVE !!!" exit_sub end_if 2d_fill_off : 2d_rectangle x,y,x+6*e,y+10*e : 2d_rectangle x+2*e,y+2*e,x+4*e,y+8*e 2d_poly_from x+2*e,y+8*e : 2d_poly_to x+3*e,y+9.5*e 2d_poly_to x+5*e,y+9.5*e : 2d_poly_to x+4*e,y+8*e : 2d_poly_to x+2*e,y+8*e 2d_flood x+1*e,y+1*e,r,g,b END_SUB rem ============================================================================ SUB R(x,y,e) if e < 1 message "!!! La valeur de l'échelle e doit être POSITIVE !!!" exit_sub end_if 2d_poly_from x,y 2d_poly_to x+6*e,y : 2d_poly_to x+6*e,y+6*e : 2d_poly_to x+4*e,y+6*e 2d_poly_to x+6*e,y+10*e : 2d_poly_to x+4*e,y+10*e : 2d_poly_to x+2*e,y+6*e 2d_poly_to x+2*e,y+10*e : 2d_poly_to x,y+10*e : 2d_poly_to x,y 2d_fill_off : 2d_rectangle x+2*e,y+2*e,x+4*e,y+4*e 2d_flood x+1*e,y+1*e,r,g,b END_SUB rem ============================================================================ SUB S(x,y,e) if e < 1 message "!!! La valeur de l'échelle e doit être POSITIVE !!!" exit_sub end_if 2d_poly_from x,y 2d_poly_to x,y+6*e : 2d_poly_to x+4*e,y+6*e : 2d_poly_to x+4*e,y+8*e 2d_poly_to x,y+8*e : 2d_poly_to x,y+10*e : 2d_poly_to x+6*e,y+10*e 2d_poly_to x+6*e,y+4*e : 2d_poly_to x+2*e,y+4*e : 2d_poly_to x+2*e,y+2*e 2d_poly_to x+6*e,y+2*e : 2d_poly_to x+6*e,y : 2d_poly_to x,y 2d_flood x+1*e,y+1*e,r,g,b END_SUB rem ============================================================================ SUB T(x,y,e) if e < 1 message "!!! La valeur de l'échelle e doit être POSITIVE !!!" exit_sub end_if 2d_poly_from x,y 2d_poly_to x+6*e,y : 2d_poly_to x+6*e,y+2*e : 2d_poly_to x+4*e,y+2*e 2d_poly_to x+4*e,y+10*e : 2d_poly_to x+2*e,y+10*e : 2d_poly_to x+2*e,y+2*e 2d_poly_to x,y+2*e : 2d_poly_to x,y 2d_flood x+1*e,y+1*e,r,g,b END_SUB rem ============================================================================ SUB U(x,y,e) if e < 1 message "!!! La valeur de l'échelle e doit être POSITIVE !!!" exit_sub end_if 2d_poly_from x,y 2d_poly_to x,y+10*e : 2d_poly_to x+6*e,y+10*e : 2d_poly_to x+6*e,y 2d_poly_to x+4*e,y : 2d_poly_to x+4*e,y+8*e : 2d_poly_to x+2*e,y+8*e 2d_poly_to x+2*e,y : 2d_poly_to x,y 2d_flood x+1*e,y+1*e,r,g,b END_SUB rem ============================================================================ SUB V(x,y,e) if e < 1 message "!!! La valeur de l'échelle e doit être POSITIVE !!!" exit_sub end_if 2d_poly_from x,y 2d_poly_to x+2*e,y : 2d_poly_to x+3*e,y+5*e : 2d_poly_to x+4*e,y 2d_poly_to x+6*e,y : 2d_poly_to x+4*e,y+10*e : 2d_poly_to x+2*e,y+10*e 2d_poly_to x,y 2d_flood x+1*e,y+1*e,r,g,b END_SUB rem ============================================================================ SUB W(x,y,e) if e < 1 message "!!! La valeur de l'échelle e doit être POSITIVE !!!" exit_sub end_if 2d_poly_from x,y 2d_poly_to x+2*e,y : 2d_poly_to x+2*e,y+5*e : 2d_poly_to x+3*e,y+4*e 2d_poly_to x+4*e,y+5*e : 2d_poly_to x+4*e,y : 2d_poly_to x+6*e,y 2d_poly_to x+6*e,y+10*e : 2d_poly_to x+4*e,y+10*e : 2d_poly_to x+3*e,y+8*e 2d_poly_to x+2*e,y+10*e : 2d_poly_to x,y+10*e : 2d_poly_to x,y 2d_flood x+1*e,y+1*e,r,g,b END_SUB rem ============================================================================ SUB X(x,y,e) if e < 1 message "!!! La valeur de l'échelle e doit être POSITIVE !!!" exit_sub end_if 2d_poly_from x,y 2d_poly_to x+2*e,y : 2d_poly_to x+3*e,y+2*e : 2d_poly_to x+4*e,y 2d_poly_to x+6*e,y : 2d_poly_to x+4*e,y+5*e : 2d_poly_to x+6*e,y+10*e 2d_poly_to x+4*e,y+10*e : 2d_poly_to x+3*e,y+8*e : 2d_poly_to x+2*e,y+10*e 2d_poly_to x,y+10*e : 2d_poly_to x+2*e,y+5*e : 2d_poly_to x,y 2d_flood x+1*e,y+1*e,r,g,b END_SUB rem ============================================================================ SUB Y(x,y,e) if e < 1 message "!!! La valeur de l'échelle e doit être POSITIVE !!!" exit_sub end_if 2d_poly_from x,y 2d_poly_to x+2*e,y : 2d_poly_to x+3*e,y+4*e : 2d_poly_to x+4*e,y 2d_poly_to x+6*e,y : 2d_poly_to x+4*e,y+6*e : 2d_poly_to x+4*e,y+10*e 2d_poly_to x+2*e,y+10*e : 2d_poly_to x+2*e,y+6*e : 2d_poly_to x,y 2d_flood x+1*e,y+1*e,r,g,b END_SUB rem ============================================================================ SUB Z(x,y,e) if e < 1 message "!!! La valeur de l'échelle e doit être POSITIVE !!!" exit_sub end_if 2d_poly_from x,y 2d_poly_to x+6*e,y : 2d_poly_to x+3*e,y+8*e : 2d_poly_to x+6*e,y+8*e 2d_poly_to x+6*e,y+10*e : 2d_poly_to x,y+10*e : 2d_poly_to x+3*e,y+2*e 2d_poly_to x,y+2*e : 2d_poly_to x,y 2d_flood x+1*e,y+1*e,r,g,b END_SUB rem ============================================================================ SUB Arbre() 2d_pen_color 0,128,0 : Branche(x,y,e) 2d_pen_color 0,192,0 : Branche(x-2*e,y+5*e,e) : Branche(x+2*e,y+5*e,e) 2d_pen_color 0,128,0 : Branche(x-4*e,y+10*e,e) : Branche(x,y+10*e,e) Branche(x+4*e,y+10*e,e) 2d_pen_color 0,192,0 : Branche(x-6*e,y+15*e,e) : Branche(x-2*e,y+15*e,e) Branche(x+2*e,y+15*e,e) : Branche(x+6*e,y+15*e,e) 2d_pen_color 0,128,0 : Branche(x-8*e,y+20*e,e) : Branche(x-4*e,y+20*e,e) Branche(x,y+20*e,e) : Branche(x+4*e,y+20*e,e) : Branche(x+8*e,y+20*e,e) Lumiere(x,y,e) Tronc(x,y,e) Fruit(x,y,e) END_SUB rem ============================================================================ SUB Branche(x,y,e) 2d_pen_width 2 2d_line x-2*e,y,x+2*e,y 2d_line x-2*e,y-1*e,x+2*e,y+1*e 2d_line x-2*e,y-2*e,x+2*e,y+2*e 2d_line x-1*e,y-2*e,x+1*e,y+2*e 2d_line x,y-2*e,x,y+2*e 2d_line x-2*e,y+1*e,x+2*e,y-1*e 2d_line x-2*e,y+2*e,x+2*e,y-2*e 2d_line x-1*e,y+2*e,x+1*e,y-2*e END_SUB rem ============================================================================ SUB Lumiere(x,y,e) 2d_pen_color 255,255,0 2d_line x-1*e,y-4*e,x+1*e,y-4*e 2d_line x-1*e,y-5*e,x+1*e,y-3*e 2d_line x-1*e,y-3*e,x+1*e,y-5*e 2d_line x,y-2*e,x,y-5*e END_SUB rem ============================================================================ SUB Tronc(x,y,e) 2d_pen_color 150,100,20 : 2d_fill_color 150,100,20 2d_rectangle x-1*e,y+23*e,x+1*e,y+26*e END_SUB rem ============================================================================ SUB Fruit(x,y,e) 2d_pen_color 0,255,0 : 2d_fill_color 0,255,0 : 2d_circle x-2*e,y+2.5*e,0.5*e 2d_pen_color 255,0,0 : 2d_fill_color 255,0,0 : 2d_circle x+2*e,y+2.5*e,0.5*e 2d_pen_color 0,0,255 : 2d_fill_color 0,0,255 : 2d_circle x-4*e,y+7.5*e,0.5*e 2d_pen_color 255,0,0 : 2d_fill_color 255,0,0 : 2d_circle x,y+7.5*e,0.5*e 2d_pen_color 0,0,255 : 2d_fill_color 0,0,255 : 2d_circle x+4*e,y+7.5*e,0.5*e 2d_pen_color 0,255,0 : 2d_fill_color 0,255,0 : 2d_circle x-6*e,y+12.5*e,0.5*e 2d_pen_color 0,255,255 : 2d_fill_color 0,255,255 : 2d_circle x-2*e,y+12.5*e,0.5*e 2d_circle x+2*e,y+12.5*e,0.5*e : 2d_circle x+6*e,y+12.5*e,0.5*e 2d_circle x-8*e,y+17.5*e,0.5*e : 2d_circle x-4*e,y+17.5*e,0.5*e 2d_circle x,y+17.5*e,0.5*e : 2d_circle x+4*e,y+17.5*e,0.5*e : 2d_circle x+8*e,y+17.5*e,0.5*e END_SUB rem ============================================================================ SUB Fleur(x,y,e) if e < 1 message "!!! La valeur de l'échelle e doit être POSITIVE !!!" exit_sub end_if 2d_poly_from x,y 2d_poly_to x+1*e,y+1*e : 2d_poly_to x+2*e,y : 2d_poly_to x+2*e,y+2*e 2d_poly_to x+1*e,y+3*e : 2d_poly_to x+1*e,y+5*e 2d_poly_to x+2*e,y+5*e : 2d_poly_to x+3*e,y+4*e : 2d_poly_to x+3*e,y+3*e 2d_poly_to x+2*e,y+3*e : 2d_poly_to x+1*e,y+4*e 2d_poly_to x+1*e,y+3*e : 2d_poly_to x,y+2*e : 2d_poly_to x,y 2d_flood x+1*e,y+2*e,255,0,0 2d_flood x+2*e,y+4*e,0,255,0 END_SUB rem ============================================================================ SUB Happy_birthday() dim_local n,t,Panoramic_Fete_Son_Anniversaire,instrument Panoramic_Fete_Son_Anniversaire = 1 midi_on : midi_volume 127 while Panoramic_Fete_Son_Anniversaire > 0 instrument = int(1+rnd(99)) midi_instrument instrument caption 2," Happy birthday to you : instrument : " + str$(instrument) restore : read n : read t while n <> 99 midi_play n,t : read n : read t end_while pause 1000 end_while midi_off END_SUB rem ============================================================================ rem &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& rem ============================================================================ ' Notes de Happy Birthday For You ' La musique et moi fond DEUX ! ' Avis à tous les Pano-Musiciens du Forum : ' Si quelqu'un ou quelqu'une veuille bien proposer une meilleure approche pour ' jouer "Happy birthday", je suis preneur avec mes remerciements d'avance. rem ============================================================================ data 67 : ' Sol data 8 data 67 : ' Sol data 8 data 69 : ' La data 6 data 67 : ' Sol data 6 data 72 : ' Do data 6 data 71 : ' Si data 4 data 67 : ' Sol data 8 data 67 : ' Sol data 8 data 69 : ' La data 6 data 67 : ' Sol data 6 data 74 : ' Ré data 6 data 72 : ' Do data 4 data 67 : ' Sol data 8 data 67 : ' Sol data 8 data 79 : ' Sol data 6 data 76 : ' Mi data 6 data 72 : ' Do data 6 data 71 : ' Si data 6 data 69 : ' La data 6 data 77 : ' Fa data 8 data 77 : ' Fa data 8 data 76 : ' Mi data 6 data 72 : ' Do data 6 data 74 : ' Ré data 6 data 72 : ' Do data 4 data 99 : ' fin paramètre n, note data 99 : ' fin patamètre t, durée de la note rem ============================================================================ rem &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& rem ============================================================================
Bonne journée à tous !
jean_debord
Nombre de messages : 1266 Age : 70 Localisation : Limoges Date d'inscription : 21/09/2008
Sujet: Re: Joyeux Anniversaire Panoramic ! Dim 14 Juin 2020 - 10:44
Bon anniversaire ! Avec un gâteau fractal... comme cela tout le monde aura sa part !
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
Sujet: Re: Joyeux Anniversaire Panoramic ! Dim 14 Juin 2020 - 10:58
Merci Yannick. Merci Marc pour ton intervention et surtout pour ta variante musicale. J’avais mis toutes les durées en 6 (500 ms) faute de savoir comment repartir ces durées, ce qui n’est évidemment pas correct ! Maintenant, c’est mieux.
Merci jean_debord pour le gâteau. Je viens d’en goûter un morceau et c’est délicieux ! Joyeux anniversaire, Panoramic !
Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
Sujet: Re: Joyeux Anniversaire Panoramic ! Dim 14 Juin 2020 - 12:11
Papydall a écrit:
Merci Marc pour ton intervention et surtout pour ta variante musicale. J’avais mis toutes les durées en 6 (500 ms) faute de savoir comment repartir ces durées, ce qui n’est évidemment pas correct ! Maintenant, c’est mieux.
Avec plaisir ! Cette variante musicale a été faite avec l'aide précieuse de Marie-Noëlle, ma femme. Elle m'a fait changer aussi quelques hauteurs de notes qui n'étaient pas dans la bonne octave.
@Jean Merci Jean pour la part de gâteau !
jjn4
Nombre de messages : 2747 Date d'inscription : 13/09/2009
Sujet: Re: Joyeux Anniversaire Panoramic ! Dim 14 Juin 2020 - 12:28
Bien, la musique d'anniversaire, on ne s'en lasse pas ! Avec en plus, des gâteaux... Vraiment super, bravo à tous !
Alors, 15 ans, si je comprends bien, le langage panoramic devient adolescent. Avec le rite de passage de Papydall, voilà qui présume de grands changements ! Mmmmmmmmmmm !
lechat75
Nombre de messages : 72 Age : 71 Localisation : MONTREUIL 93 Date d'inscription : 26/08/2018
Sujet: Re: Joyeux Anniversaire Panoramic ! Dim 14 Juin 2020 - 13:26
Un très joyeux anniversaire et longue vie à Panoramic et à son créateur Jack !
Bravo à tous ceux qui entretiennent la flamme comme papydall, marc, klaus(a-t'on de ses nouvelles?), jjn4, yannick, pedro, silverman, lepetitmarocain, jl35 ....et j'en oublie sûrement
Bien à vous tous - philippe
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
Sujet: Re: Joyeux Anniversaire Panoramic ! Dim 14 Juin 2020 - 21:40
Bon sang, ça ne me rajeunit pas tout ça, inscrit en 2007, Panoramic avait 2 ans... Et je n'en ai retiré que du plaisir au fil des années.
Et pour ça, un grand merci à Jack pour la création et le suivi sans faille toutes ces années.
Je me joins au choeur des Panoramiciens, BON ANNIVERSAIRE !
Froggy One
Nombre de messages : 598 Date d'inscription : 06/01/2012
Sujet: Re Dim 21 Juin 2020 - 21:52
Bon sang, je n'ai pas mis les pieds sur le site depuis tout ce temps ! je suis impardonnable !! bon anniversaire, et bravo à tous ceux qui font vivre cette aventure !!!
Yannick aime ce message
CT95
Nombre de messages : 16 Age : 73 Localisation : Castres Date d'inscription : 23/03/2008
Sujet: joyeux anniversaire Panoramic Sam 4 Juil 2020 - 7:58
Longue vie!!
mindstorm
Nombre de messages : 685 Age : 55 Localisation : charente Date d'inscription : 13/02/2013