Page 5 sur 13

Re: Compétition PurePunch Noël 2014

Publié : mar. 09/déc./2014 22:13
par falsam
Mignon ce shooting star qui égaye le bureau de Windows :)

Code : Tout sélectionner

for Windows XP/8.1/10
Fonctionne aussi avec Windows 7.

Au fait ..... bienvenue sur ce forum.

Re: Compétition PurePunch Noël 2014

Publié : mar. 09/déc./2014 23:20
par majikeyric
Bienvenue zaphod_b !

(Par contre il ne fonctionne pas en 64 bit)

Re: Compétition PurePunch Noël 2014

Publié : mar. 09/déc./2014 23:26
par majikeyric
raven a écrit :@majikeyric,très belle réalisation,le prochain punch,tu devra codé sans les mains et les yeux bandés :mrgreen:
Tant qu'il me reste un orteil et l'ouïe :D

Re: Compétition PurePunch Noël 2014

Publié : mer. 10/déc./2014 22:12
par kernadec
bonsoir à tous
J'avais programmé ce code d'ellipsoïde juste après le code canvas rotation d'un cube 3d
dans la suite de mes codes sur les Pies charts, Mais quand j'ai vu l'annonce session punch,
je me suis dit je vais le garder pour le 20 décembre, mais maintenant,
applePi sur le forum produit des polygones très beau avec ogre 8O
ce qui m'encourage à sortir ce code dès maintenant.
Donc voilà ma contribution 2014

Cordialement
version 4
-suppression de la touche "Alt" obsolète
-ajout d'un déplacement simultané des 4 couleurs
- modification pour un mode plein écran ou fenêtre
- changement des touches clavier F1 à F10 remplacées par le nombres de 1 à 10
- remplacement des constantes couleurs par la fonction RGB()
- afin d'obtenir une meilleure compatibilité avec le Mac et Linux
-ajout d'un mode aléatoire sur l'ordre des 4 couleurs
-ajout d'un mode batons avec le touche delete oui/non

MANDALAS3D

Code : Tout sélectionner

;*****************************************************************************
;*
;* XMas 2014 PurePunch contest
;* PureBasic 5.31
;* 64 lines of 80 chars of code + 78 (only!) lines of data
;*
;* Name     : Mandalas 3D 
;* Author   : Kernadec
;* Date     : 10/12/2014   v6
;* Notes    : commandes menu key to screen
;*   
;*****************************************************************************
Macro M:Macro:EndMacro:M T:Delay(100):End#M:M J:If:End#M:M Q:EndIf:End#M:M P;;;;
DrawText:EndMacro:M K:KeyboardPushed:EndMacro:Global Dim cl(7);;;;;;;;;;;;;;;;;;
Procedure Ellipse_Rotation(Axex.l,Axey.l,Xr.l,Yr.l,Zr.l,Rtx.d,Rty.d,Rtz.d,;;;;;;
Debut.l,Fin.l,Polygone.l,Col.l,Mode.l,u.l):Protected v.d,RB.d,Rx.d,Ry.d,Rz.d,;;;
X.d,Y.d,Z.d,X1.d,Y1.d,Z1.d,Psx1.l,Psy1.l,Psx2.l,Psy2.l,Cote.d,Pas.d;;;;;;;;;;;;;
J Polygone<>0:Cote=360/Polygone:Else:Cote=360:Q:Rx=Radian(Rtx):Ry=Radian(Rty);;;
Rz=Radian(Rtz):Pas=debut:Repeat:v=Radian(Pas):J Mode=0:X=Xr*Sin(v):Y=Yr*Sin(v);;
Z=Zr*Cos(v):Q:J Mode=1:X=Xr*Sin(v):Y=Yr*Sin(v/10):Z=Zr*Sin(v/1.7):Q:J Mode=2;;;;
X=Xr*Cos(v-0.5):Y=Yr*Sin(v):Z=Zr*Cos(v):Q:J Mode=3:X=Xr*Sin(v*2):Y=Yr*Cos(v/4);;
Z=Zr*Sin(v):Q:J Mode=4:X=Xr*Cos(v*-3):Y=Yr*Cos(v/-2):Z=Zr*Sin(v):Q:J Mode=5;;;;;
X=Xr*Sin(v/4):Y=Yr*Cos(v*2):Z=Zr*Sin(v/3):Q:J Mode=6:X=Xr*Sin(v*1.5):Y=Yr*Cos(v)
Z=Zr*Sin(v/1.5):Q:J Mode=7:X=Xr*Sin(v/1.5):Y=Yr*Cos(v*2.5):Z=Zr*Sin(v):Q;;;;;;;;
J Mode=8:X=Xr*Sin(v/2):Y=Yr*Cos(v*-3):Z=Zr*Sin(v*1.4):Q:J Mode=9:X=Xr*Cos(v);;;;
Y=Yr*Cos(v/3):Z=Zr*Cos(v*1.7):Q:X1=X*Cos(rz)+Y*Sin(rz):y1=Y*Cos(rz)-X*Sin(rz);;;
Z1=Z:RB=Y1*Cos(ry)-Z1*Sin(ry):z1=Y1*Sin(ry)+Z1*Cos(ry):Y1=RB:RB=X1*Cos(rx)+;;;;;
Z1*Sin(rx):z1=X1*Sin(rx)-Z1*Cos(rx):Y1=RB:Psx1=Z1+Axex:Psy1=Y1+Axey:J Psx2=0 And
Psy2=0:Psx2=Psx1:Psy2=Psy1:Q:j u=1:Swap Psy2,psy1:Q:J Pas=>0 And Pas<=90;;;;;;;;
LineXY(Psx2,Psy2,Psx1,Psy1,cl(0)):Q:J Pas=>90 And Pas<=180:LineXY(Psx2,Psy2,;;;;
Psx1,Psy1,cl(1)):Q:J Pas=>180 And Pas<=270:LineXY(Psx2,Psy2,Psx1,Psy1,cl(2)):Q;;
J Pas=>270 And Pas<=360:LineXY(Psx2,Psy2,Psx1,Psy1,cl(3)):Q:j u=1:Swap Psy2,psy1
Q:Psx2=Psx1:Psy2=Psy1:Pas+Cote:Until Pas=>Fin+1:EndProcedure:ExamineDesktops();;
InitSprite():InitKeyboard():R1=MessageRequester("SCREEN",Space(16)+;;;;;;;;;;;;;
"FULL SCREEN",#PB_MessageRequester_YesNo):a=2:b=3:c=0:d=1:cl(a)=RGB(255,0,0);;;;
cl(b)=RGB(0,0,255):cl(c)=RGB(0,255,0):zd=90:cl(d)=RGB(255,255,0);;;;;;;;;;;;;;;;
xs=DesktopWidth(0):xd=90:yd=50:ys=DesktopHeight(0):J R1=6:OpenScreen(xs,ys,32,;;
""):Else:xs=800:ys=600:OpenWindow(0,0,0,xs,ys,"MANDALAS 3D",;;;;;;;;;;;;;;;;;;;;
#PB_Window_WindowCentered|#PB_Window_ScreenCentered);;;;;;;;;;;;;;;;;;;;;;;;;;;;
OpenWindowedScreen(WindowID(0),0,0,xs,ys,0,0,0,#PB_Screen_SmartSynchronization);
Q:cl(4)=cl(a):cl(5)=cl(b):cl(6)=cl(c):cl(7)=cl(d):Axex.l=xs/2:Axey.l=ys/2;;;;;;;
Debut.l=0:Fin.l=360:inc=10:Plt.l=10:Plg.l=5:Vi.l=19:Mode.l=8:Zr.l=-1:Yr.l=-315;;
Xr.l=160:Repeat:ClearScreen(color):StartDrawing(ScreenOutput()):J Plt<0:Plt=360;
Q:zd=Mod(zd+Vi,360):For i=0 To 360:Ellipse_Rotation(Axex,Axey,Xr,Yr,Zr,xd,yd,zd+
i,Debut,Fin,Plt,0,Mode,u):i+Plg:Next i:StopDrawing():ExamineKeyboard();;;;;;;;;;
J K(#PB_Key_Tab):T:Mode+1:J Mode>9:Mode=0:Q:Q:J K(#PB_Key_LeftShift):T:J inc=1;;
inc=10:Else:inc=1:Q:Q:J K(#PB_Key_Space):T:J Lt=0:Lt=1:Else:Lt=0:Q:Q;;;;;;;;;;;;
J K(#PB_Key_Delete):J u=0:u=1:Else:u=0:Q:Q:J Plt=180:Plt+180:tmp=10:Else:tmp=inc
Q:J Plt=0:Plt=360:tmp=10:Else:tmp=inc:Q:J Plt<20:tmp=1:Else:tmp=inc:Q;;;;;;;;;;;
J K(#PB_Key_PageUp):Plt=Mod((Plt+tmp),180):Q:J K(#PB_Key_PageDown):T;;;;;;;;;;;;
Plt=Mod((Plt-tmp),180):Plt=Abs(Plt):Q:J K(#PB_Key_F1):Plt=3:Q:J K(#PB_Key_F2);;;
Plt=4:Q:J K(#PB_Key_F3):Plt=5:Q:J K(#PB_Key_F4):Plt=6:Q:J K(#PB_Key_F5):Plt=7:Q;
J K(#PB_Key_F6):Plt=8:Q:J K(#PB_Key_F7):Plt=9:Q:J K(#PB_Key_Up):yd=Mod(yd+inc,;;
360):Q:J K(#PB_Key_Down):yd=Mod(yd-inc,360):Q:J K(#PB_Key_Left):xd=Mod(xd+inc,;;
360):Q:J K(#PB_Key_Right):xd=Mod(xd-inc,360):Q:J K(#PB_Key_Home):T:Plg=Mod(Plg+;
inc,360):Q:J K(#PB_Key_End):T:Plg=Mod(Plg-inc,360):Plg=Abs(Plg):Q;;;;;;;;;;;;;;;
J K(#PB_Key_1) Or K(#PB_Key_Pad1):Zr=Mod(Zr-inc,ys):Q:J K(#PB_Key_4) Or;;;;;;;;;
K(#PB_Key_Pad4):Zr=Mod(Zr+inc,ys):Q:J K(#PB_Key_2) Or K(#PB_Key_Pad2);;;;;;;;;;;
Yr=Mod(Yr-inc,ys):Q:J K(#PB_Key_3) Or K(#PB_Key_Pad3):Yr=Mod(Yr+inc,ys):Q;;;;;;;
J K(#PB_Key_5) Or K(#PB_Key_Pad5):Xr=Mod(Xr-inc,ys):Q:J K(#PB_Key_6) Or;;;;;;;;;
K(#PB_Key_Pad6):Xr=Mod(Xr+inc,ys):Q:J K(#PB_Key_7) Or K(#PB_Key_Pad7):T;;;;;;;;;
Vi=Mod(Vi+1,180):Q:J K(#PB_Key_8) Or K(#PB_Key_Pad8):T:Vi=Mod(Vi-1,180):Q;;;;;;;
J K(#PB_Key_9) Or K(#PB_Key_Pad9):Vi=0:Q:J K(#PB_Key_0) Or K(#PB_Key_Pad0);;;;;;
a=Random(3):Repeat:b=Random(3):Until b<>a:Repeat:c=Random(3):Until c<>a And c<>b
Repeat:d=Random(3):Until d<>a And d<>b And d<>c:cl(0)=cl(4+a):cl(1)=cl(4+b);;;;;
cl(2)=cl(4+c):cl(3)=cl(4+d):Q:J Lt=0:StartDrawing(ScreenOutput()):P(10,190,"1",;
cl(0)):P(30,190,"2",cl(1)):P(50,190,"3",cl(2)):P(70,190,"4",cl(3)):P(10,10,"-K"+
"ey Shift left y/n >inc/dec< *1 or *10: "+Str(inc)):P(10,30,"-Key Space y/n me"+
"nu text"):P(10,50,"-PgU/PgD  +/- Plt:  "+Str(Plt)+"/180"):P(10,70,"-Hom/End  "+
"+/- Plg:  "+Str(Plg)+"/360"):P(10,90,"-Key 7/8 +/- Vit/Rt: "+Str(Vi)+"/180");;;
P(10,110,"-Key 9 Vit/Rt in 0"):P(10,130,"-Key 0 Move color"):P(10,150,"-Key de"+
"l y/n stick"):P(10,170,"-Tab  M : "+Str(Mode)+"/9"):P(10,ys-98,"- <-   ->    "+
"+/- : "+Str(xd)+"/360"):P(10,ys-78,"-Up/Down  +/- : "+Str(yd)+"/360"):P(10,;;;;
ys-58,"-Key 1/4 +/- Zradius: "+Str(Zr)+"/"+Str(ys)):P(10,ys-38,"-Key 2/3 +/- Y"+
"radius: "+Str(Yr)+"/"+Str(ys)):P(10,ys-18,"-Key 5/6 +/- Xradius: "+Str(Xr)+"/"+
Str(ys)):StopDrawing():Q:FlipBuffers():Until K(#PB_Key_Escape);;;;;;;;;;;;;;;;;;

Re: Compétition PurePunch Noël 2014

Publié : jeu. 11/déc./2014 1:00
par klystron
bonsoir Kernadec,
Sympa comme dessin .

Re: Compétition PurePunch Noël 2014

Publié : jeu. 11/déc./2014 7:30
par kernadec
Bonjour
merci, klystron
oui j'aurai pu l'appeler le spirographe de noël. :D
au départ, je faisais juste un ellipsoïde,
puis de fils en aiguilles c'est devenu un délire graphique :mrgreen:

Cordialement

Re: Compétition PurePunch Noël 2014

Publié : ven. 12/déc./2014 15:15
par microdevweb
Bonjour majikeyric,

Si je lance ton code j'ai une erreur lgn 64 (le #movie spécifié n'existe pas), ton exe fonctionne par contre et félicitation pour ce travaille.

Re: Compétition PurePunch Noël 2014

Publié : ven. 12/déc./2014 17:01
par majikeyric
Bonjour microdevweb,

A première vue, j'aurais dit que lorsque tu lances le source dans l'IDE, le fichier .mid ne s'enregistre pas sur le disque et ensuite il ne le trouve pas pour le jouer.

l'exe que tu as lancé et le fichier PB sont dans le même répertoire ?

Ou alors, il n'aime pas que je force le #video à 0.

Re: Compétition PurePunch Noël 2014

Publié : ven. 12/déc./2014 17:04
par raven
pour info,j'ai testé de la version Pb 5.22 à la 5.31 x86 et x64 le code de majikeyric et aucun soucis.
test sur windows 7 64

Re: Compétition PurePunch Noël 2014

Publié : ven. 12/déc./2014 17:07
par majikeyric
Merci pour ton retour raven :wink:

Re: Compétition PurePunch Noël 2014

Publié : sam. 13/déc./2014 0:34
par microdevweb
l'exe que tu as lancé et le fichier PB sont dans le même répertoire ?
Oui, par contre si je le lance sans le mode debug, cela ne bug pas, mais pas de musique par contre. Cela reste malgré tout un travail superbe.

Re: Compétition PurePunch Noël 2014

Publié : sam. 13/déc./2014 9:25
par Cool Dji
Hello,

@microdevweb : tu enregistres le fichier dans un dossier dont tu as les droits pour écrire dessus avant de compiler ?
Si tu compiles le source sans l'avoir enregistrer avant quelque part (bureau, mes documents ou dans tes dossiers favoris), il me semble que le compilateur va bloquer car ne pourra peut être pas enregistrer le fichier .mid (si par défaut le compilateur pointe sur un dossier système ou administrateur).

Re: Compétition PurePunch Noël 2014

Publié : sam. 13/déc./2014 9:50
par microdevweb
Bonjour Cool Dj
Oui le fichier a été enregistré

Re: Compétition PurePunch Noël 2014

Publié : sam. 13/déc./2014 19:30
par Huitbit
Hello !


Fred nous met en garde(extrait de l'aide PureBasic) :
PureBasic - Movie
...
...
Note: Sur certains OS, les fichiers musicaux peuvent également être joués avec cette bibliothèque, mais ce n'est pas officiellement supporté et cela peut provoquer des dysfonctionnements.
Il vaut mieux utiliser la bibliothèque Sound pour cela.
Peut-être une piste pour la réponse !

(Ceci dit, bravo pour ta production majikeyric mais......même pas peur :mrgreen: :lol: :lol:, les 12 coups de minuit n'ont pas encore sonné)
Hasta la vista !

Re: Compétition PurePunch Noël 2014

Publié : sam. 13/déc./2014 23:52
par majikeyric
J'imagine que t'es sous windows microdevweb ?
(j'en perds mon latin :? )

@HuitBit : J'ai hate de voir ce que tu nous réserves :mrgreen: