Compétition PurePunch Noël 2014

Vous avez développé un logiciel en PureBasic et vous souhaitez le faire connaitre ?
Avatar de l’utilisateur
falsam
Messages : 7317
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Compétition PurePunch Noël 2014

Message 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.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
majikeyric
Messages : 602
Inscription : dim. 08/déc./2013 23:19
Contact :

Re: Compétition PurePunch Noël 2014

Message par majikeyric »

Bienvenue zaphod_b !

(Par contre il ne fonctionne pas en 64 bit)
Dernière modification par majikeyric le mar. 09/déc./2014 23:32, modifié 1 fois.
Avatar de l’utilisateur
majikeyric
Messages : 602
Inscription : dim. 08/déc./2013 23:19
Contact :

Re: Compétition PurePunch Noël 2014

Message 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
Avatar de l’utilisateur
kernadec
Messages : 1606
Inscription : ven. 25/avr./2008 11:14

Re: Compétition PurePunch Noël 2014

Message 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);;;;;;;;;;;;;;;;;;
Dernière modification par kernadec le sam. 20/déc./2014 10:59, modifié 11 fois.
klystron
Messages : 149
Inscription : mar. 02/déc./2014 12:16

Re: Compétition PurePunch Noël 2014

Message par klystron »

bonsoir Kernadec,
Sympa comme dessin .
Avatar de l’utilisateur
kernadec
Messages : 1606
Inscription : ven. 25/avr./2008 11:14

Re: Compétition PurePunch Noël 2014

Message 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
Avatar de l’utilisateur
microdevweb
Messages : 1802
Inscription : mer. 29/juin/2011 14:11
Localisation : Belgique

Re: Compétition PurePunch Noël 2014

Message 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.
Windows 10 64 bits PB: 5.70 ; 5.72 LST
Work at Centre Spatial de Liège
Avatar de l’utilisateur
majikeyric
Messages : 602
Inscription : dim. 08/déc./2013 23:19
Contact :

Re: Compétition PurePunch Noël 2014

Message 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.
Avatar de l’utilisateur
raven
Messages : 222
Inscription : jeu. 06/janv./2005 15:45

Re: Compétition PurePunch Noël 2014

Message 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
Pb5.24 Lts/5.31 Windows 7 64 nvidia 560 ti E8500 8g ram
Avatar de l’utilisateur
majikeyric
Messages : 602
Inscription : dim. 08/déc./2013 23:19
Contact :

Re: Compétition PurePunch Noël 2014

Message par majikeyric »

Merci pour ton retour raven :wink:
Avatar de l’utilisateur
microdevweb
Messages : 1802
Inscription : mer. 29/juin/2011 14:11
Localisation : Belgique

Re: Compétition PurePunch Noël 2014

Message 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.
Windows 10 64 bits PB: 5.70 ; 5.72 LST
Work at Centre Spatial de Liège
Avatar de l’utilisateur
Cool Dji
Messages : 1126
Inscription : ven. 05/sept./2008 11:42
Localisation : Besançon
Contact :

Re: Compétition PurePunch Noël 2014

Message 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).
Only PureBasic makes it possible
Avatar de l’utilisateur
microdevweb
Messages : 1802
Inscription : mer. 29/juin/2011 14:11
Localisation : Belgique

Re: Compétition PurePunch Noël 2014

Message par microdevweb »

Bonjour Cool Dj
Oui le fichier a été enregistré
Windows 10 64 bits PB: 5.70 ; 5.72 LST
Work at Centre Spatial de Liège
Avatar de l’utilisateur
Huitbit
Messages : 940
Inscription : jeu. 08/déc./2005 5:19
Localisation : Guadeloupe

Re: Compétition PurePunch Noël 2014

Message 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 !
Elevé au MSX !
Avatar de l’utilisateur
majikeyric
Messages : 602
Inscription : dim. 08/déc./2013 23:19
Contact :

Re: Compétition PurePunch Noël 2014

Message 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:
Répondre