Pure Punch

Partagez votre expérience de PureBasic avec les autres utilisateurs.
Avatar de l’utilisateur
Ar-S
Messages : 9539
Inscription : dim. 09/oct./2005 16:51
Contact :

Message par Ar-S »

gildev a écrit :Ben c'est pas faux, j'ai été un PETIT démomaker il y a 15 ans. :lol:
On s'éclatait sur nos Amiga 500.
ça fait trop plaisir de lire ça ! :P
Avatar de l’utilisateur
gildev
Messages : 380
Inscription : mar. 19/juin/2007 10:28
Localisation : Picardie (France)

Message par gildev »

Et moi ça me fais presque pleurer de l'écrire. :cry: Je donnerai tout ce que je possède pour revenir au début des années 90, l'époque où on s'éclatait vraiment avec un ordi, plus qu'une philosophie: un art de vivre. On ne revivra jamais ça. :wink:
Avatar de l’utilisateur
djes
Messages : 4252
Inscription : ven. 11/févr./2005 17:34
Localisation : Arras, France

Message par djes »

gildev a écrit :Et moi ça me fais presque pleurer de l'écrire. :cry: Je donnerai tout ce que je possède pour revenir au début des années 90, l'époque où on s'éclatait vraiment avec un ordi, plus qu'une philosophie: un art de vivre. On ne revivra jamais ça. :wink:
Tu ne vivras plus ça, mais les plus jeunes, si; faut passer la main, tu as d'autres choses à vivre ;)
Moi ce qui me branche maintenant, c'est de faire un vaisseau spatial avant Richard Branson! :lol:
Ou d'aider une cause,
Ou de faire d'autres enfants :)
Avatar de l’utilisateur
gildev
Messages : 380
Inscription : mar. 19/juin/2007 10:28
Localisation : Picardie (France)

Message par gildev »

Oui, c'est clair. Vivement que mon fils apprenne à lire pour qu'il programme en PureBasic avec Papa. :lol:
Avatar de l’utilisateur
venom
Messages : 3128
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Message par venom »

bon voila après avoir bien suivie ce post voici mon résultat :wink:
j'ai eu un peut de mal a réduire en 10 lignes mais c'est fait :D

Code : Tout sélectionner

OpenWindow(0, 0, 0, 410, 410, "Pure Punch", #PB_Window_SystemMenu | #PB_Window_ScreenCentered):SetWindowColor(0, RGB(0, 0, 0)):CreateImage(0, 820, 820)
StartDrawing(ImageOutput(0)):y = 20:For i = 1 To 20:For x = 20 To 400 Step 20:Read etat.b:If etat = 1:Circle (x, Y, 5, RGB (255, 0, 0)):Else:Circle (x, Y, 5, RGB (0, 0, 60)):EndIf:Next x:y + 20:Next i:StopDrawing()
CreateGadgetList(WindowID(0)):ImageGadget(0, 0, 0, 0, 0, ImageID(0)):Repeat:EventID = WaitWindowEvent():Until EventID = #PB_Event_CloseWindow:End:DataSection
Data.b 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1:Data.b 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1:Data.b 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0
Data.b 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0:Data.b 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0:Data.b 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0
Data.b 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0:Data.b 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0:Data.b 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0
Data.b 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0:Data.b 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0:Data.b 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
Data.b 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0:Data.b 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0:Data.b 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
Data.b 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0:Data.b 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0:Data.b 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
Data.b 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1:Data.b 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0:EndDataSection
voila tout ce que j'ai réussi a faire, bon le code est illisible étant donner qu'il est tasser a mort :lol: :wink:




@++
Avatar de l’utilisateur
djes
Messages : 4252
Inscription : ven. 11/févr./2005 17:34
Localisation : Arras, France

Message par djes »

venom> Ca va faire plaisir à Fred :)
Avatar de l’utilisateur
gildev
Messages : 380
Inscription : mar. 19/juin/2007 10:28
Localisation : Picardie (France)

Message par gildev »

En effet, c'est pas bête de reprendre le logo. :wink: Bien joué.

Tu m'inspires. J'ai bien envie de vectoriser le logo pour l'animer, en 2560 caractères ça devrait être faisable.
Avatar de l’utilisateur
gildev
Messages : 380
Inscription : mar. 19/juin/2007 10:28
Localisation : Picardie (France)

Message par gildev »

Code : Tout sélectionner

InitSprite():InitKeyboard():OpenScreen(640,480,32,"PB"):x=640:t$="PUREBASIC IS THE BEST PROGRAMING LANGUAGE IN THE WORLD!!!":LoadFont(1,"Arial",24):c.f=0.0174532925:xo=320:yo=260:Repeat:FlipBuffers():ClearScreen(RGB(0,0,0)):ExamineKeyboard()
StartDrawing(ScreenOutput()):For i=0 To 24:LineXY(0,i,639,i,RGB(0,120-i*5,0)):Next i:DrawingMode(#PB_2DDrawing_Transparent):DrawingFont(FontID(1)):DrawText(x,-6,t$,RGB(255,255,191)):DrawText(x-1,-5,t$,RGB(255,255,191))
DrawText(x+1,-5,t$,RGB(63,63,31)):DrawText(x,-4,t$,RGB(63,63,31)):DrawText(x,-5,t$,RGB(191,191,127)):a=0-TextWidth(t$):For i=0 To 63:LineXY(0,yo-i,639,yo-i,RGB(0,64-i,0)):LineXY(0,yo+i,639,yo+i,RGB(0,64-i,0)):Next i:For j=0 To 40
If j=40:FrontColor(RGB(255,63,0)):Else:FrontColor(RGB(j*5+10,0,0)):EndIf:Restore DS:x1=-30:y1=-100:For i=1 To 16:Read x2:Read y2:LineXY(xo+x1*Cos((b+j)*c.f),yo+y1*Sin((b+j)*c.f),xo+x2*Cos((b+j)*c.f),yo+y2*Sin((b+j)*c.f)):x1=x2:y1=y2:Next i
Next j:b=b+1:If b>=360:b=0:EndIf:StopDrawing():If x>a:x=x-2:Else:x=640:EndIf:For i=0 To 25:GrabSprite(i+1,0,i,640,1,#PB_Sprite_Memory):Next i:For i=0 To 25:DisplayTranslucentSprite(i+1,0,48-i,i*5):Next i:
Until KeyboardPushed(#PB_Key_Escape):End:DataSection:DS:Data.l 10,-140,150,-140,30,-20,90,-20,50,20,-10,20,-90,100,150,100,110,140,-150,140,-30,20,-90,20,-50,-20,10,-20,90,-100,-30,-100:EndDataSection
Et hop! Ca m'a prit plus de temps que le 1er mais ça devrait bien rendre. J'ai réussi à faire court, par contre ce n'est pas optimisé, donc ceux qui ont un Pentium II ça risque de ramer...
Avatar de l’utilisateur
Ouaf-Ouaf
Messages : 212
Inscription : dim. 11/juil./2004 9:07

Message par Ouaf-Ouaf »

Sympa tout ça.

C'est impressionnant tes 6 lignes Guild :P.

J'aime beaucoup le travail sur la typo. ( couleur, lum et reflet )

Dommage pour mes yeux le degradé vert, c'est pas trop ma tasse de thé.

Avec un black gloss bien actuel ça fairait une belle propagande x)


J'espere en voir d'autres 8) héhé
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

ouaaaou !! super beau GilDev !! chapeau bas ! :)
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

....................
Dernière modification par Backup le sam. 19/mars/2011 18:38, modifié 3 fois.
Avatar de l’utilisateur
djes
Messages : 4252
Inscription : ven. 11/févr./2005 17:34
Localisation : Arras, France

Message par djes »

Dobro> Excellent!
Gildev> Magnifique boulot!

Comme je ne serai pas là ce week-end, je vous livre le début d'une petite intro pour un ami qui vient d'être papa pour la seconde fois, et qui se reconnaitra :) (c'est sa vie privée, tant qu'il n'a pas fait d'annonce je ne peux dévoiler son identité)

Code : Tout sélectionner

Macro st : StartDrawing(ScreenOutput()) : EndMacro : Macro ds(m) : DisplaySprite3D(0, 512 - w*5 + x*10 + 20*Sin(i.f + x/20 + y/20), y*10 + 20*Cos(i + x/20 + y/20) + m, y*10) : EndMacro : Goto p
ct: ClearScreen(0) : st: w = TextWidth(t$) : h = TextHeight(t$) : Dim m1(w, h) : DrawText(0, 0, t$, $FF, 0) : For y = 0 To h : For x = 0 To w : m1(x, y) = Point(x, y) : Next x : Next y : Circle(100, 100, 8, $5588FF) : StopDrawing() : Return
p: InitSprite() : InitSprite3D() : InitKeyboard() : OpenScreen(1024, 768, 32, "") : t2$="BIENVENUE" : t$="ALEXANDRE" : Gosub ct : Dim m2(w, h) : Swap t$, t2$ : Swap m1(), m2() : Swap h2, h : Swap w2, w : Gosub ct
GrabSprite(0, 92, 92, 16, 16, #PB_Sprite_Texture) : CreateSprite3D(0, 0) : ClearScreen(0) : st : For y = 0 To 64 : Box( 0,       y, 1024, 128 - y*2, RGB(y*4, 0, 0) ) : Box( 0, 128 + y, 1024, 128 - y*2, RGB(0, y*4, 0) )
Box( 0, 256 + y, 1024, 128 - y*2, RGB(0, 0, y*4) ) : Next y : StopDrawing() : GrabSprite(1, 0,   0, 1024, 128, #PB_Sprite_Texture) : GrabSprite(2, 0, 128, 1024, 128, #PB_Sprite_Texture) : GrabSprite(3, 0, 256, 1024, 128, #PB_Sprite_Texture)
CreateSprite3D(1, 1) : CreateSprite3D(2, 2) : CreateSprite3D(3, 3) : Repeat : ExamineKeyboard() : k ! Asc(KeyboardInkey()) : ClearScreen( RGB(0, 0, k*100) ) : Start3D() : Sprite3DBlendingMode(5, 7) : DisplaySprite3D(1, 0, 320 + 256*Sin(i.f))
DisplaySprite3D(2, 0, 320 + 256*Sin(i + 1.57)) :  DisplaySprite3D(3, 0, 320 + 256*Sin(i + 3.14)) : For y = 0 To h : For x = 0 To w : If m1(x, y)<>0 : ds(64) : EndIf : Next x : Next y : For y = 0 To h2 : For x = 0 To w2 : If m2(x, y)<>0 : ds( h*10 + 96)
EndIf : Next x : Next y : Stop3D() : i+0.075 : FlipBuffers(1) : Until KeyboardPushed(#PB_Key_Escape) : CloseScreen() : End 
Avatar de l’utilisateur
gildev
Messages : 380
Inscription : mar. 19/juin/2007 10:28
Localisation : Picardie (France)

Message par gildev »

Arf! Ca déchire Djes! Tu as placé la barre très haut, il va faloir que je prenne du LSD pour rattraper. :lol:
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

c'est clair ! du grand art ! :)
Avatar de l’utilisateur
GeBonet
Messages : 453
Inscription : ven. 29/févr./2008 16:17
Localisation : Belgique

Et ça c'est très utile...

Message par GeBonet »

Je trouve l'util (4 lignes) génial...

Car en fait, sous JaPbe, en voulant remettre les lignes en ordre, pour me rendre compte des chef d'oeuvres des "puncheur", je me suis rendu compte que l'éditeur JaPBe n'aimais pas beaucoup le style "tout à la suite" (comprimé) quand il s'agit de faire des CR "la ou il faut" pour rendre le code un peu lisible.
Il se mélange les pinceaux en laissant trainer des mots en double....
(Ce que l'IDE original de PB fait très bien d'ailleurs...)
Peut-être un petit truc à voir par Gnozal ? Quoique en général on n'écrit pas ses codes comme ça, n'est-ce pas ?

C'est ALORS que l'Util "DéPuncheur" fait ça automatiquement, donc génial ! Et j'ai essayé, avec JaPBe aussi ça marche aussi...

Merci Dobro!
Répondre