PureBasic

Forums PureBasic
Nous sommes le Mer 21/Aoû/2019 6:00

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 29 messages ]  Aller à la page 1, 2  Suivante
Auteur Message
 Sujet du message: Journée mondial pour la modernisation de PB
MessagePosté: Ven 20/Jan/2017 9:48 
Hors ligne
Avatar de l’utilisateur

Inscription: Jeu 25/Juin/2015 16:18
Messages: 262
Ci dessous les image de la manif

PS: les explications dans les posts suivants

Code:
; manif - pf shadoko - 2017

EnableExplicit

Procedure ColorBlend(color1.l, color2.l, blend.f=0.5)
    Protected r.w,g.w,b.w,a.w
    r=  Red(color1) + (Red(color2)     - Red(color1)) * blend
    g=Green(color1) + (Green(color2) - Green(color1)) * blend
    b= Blue(color1) + (Blue(color2) -   Blue(color1)) * blend
    a=Alpha(color1) + (Alpha(color2) - Alpha(color1)) * blend
    ProcedureReturn  RGBA(r,g,b,a)
EndProcedure
;=======================================================================================

Structure spancarte
    ok.b
    bcolor.l
    fcolor.l
    slogan.s
EndStructure

Structure smanif
    x.f
    y.f
    z.f
    v.f
    pf.f
    pancarte.spancarte
EndStructure

Global nm=255,ns=6
Global Dim manif.smanif(nm)
Global Dim slogan.s(ns)

slogan(0)=~"Conversion automatique\ndes anciens codes"
slogan(1)=~"LES 'DECLARE'\nY'EN A MARRE !!!"
slogan(2)=~"InitMouse\nInitKeyboard\nInitSprite\nInit...\non en veut plus !"
slogan(3)=~"BYVAL / BYREF"
slogan(4)=~"Les énumérations\ncomme type\nde variable"
slogan(5)=~"Les procedures aussi\nont besoin des types:\nTableau\nListe\nMap\n et Structure !"
slogan(6)=~"DES VARIABLES\n POUR LES 'STEP'"

Procedure initmanif(i,z=100)
    With manif(i)
        \x=Random(400)-200
        \y=Random(20)
        \z=z
        \v=(Random(10)+50)/400
        \pf=Random(200,100)/1000
    EndWith
    With manif(i)\pancarte
        \ok=Bool(Random(32)=0)
        \bcolor=$ff<<24|Random($ffffff)
        \fcolor=$ff<<24|Random($ffffff)
        \slogan=slogan(Random(ns))
    EndWith
EndProcedure

Procedure affiche()
    Static c=1111:c+1
    Protected i,g.f,x.f,y.f,dx,dy
    StartVectorDrawing(CanvasVectorOutput(0))
    VectorFont(FontID(0),10)
    VectorSourceLinearGradient(0,0,0,600)
    VectorSourceGradientColor($ffffaaaa, 0.0)
    VectorSourceGradientColor($ffffaaaa, 0.5)
    VectorSourceGradientColor($ff888888, 1.0)
    FillVectorOutput()
    SortStructuredArray(manif(),#PB_Sort_Descending,OffsetOf(smanif\z), TypeOf(smanif\z))
    For i=0 To nm
        With manif(i)
            g=80/\z
            ResetCoordinates()
            TranslateCoordinates(400,300)
            ScaleCoordinates(g,g)
            x=\x
            y=-(\y-50+4*Abs(Sin(c*\pf)))
            If \pancarte\ok
                RotateCoordinates(x,y,5*Sin(c*\pf))
                dx= VectorTextWidth(\pancarte\slogan)+10
                dy= VectorTextHeight(\pancarte\slogan)+10
                AddPathBox(x-3,y-dy-70,  6,dy+100)
                VectorSourceColor(ColorBlend($ff88aaaa,$ffffaaaa,\z/100))
                FillPath()
                AddPathBox(x-dx/2,y-dy-60,  dx,dy)
                VectorSourceColor(ColorBlend(\pancarte\bcolor,$ffffaaaa,\z/100))
                FillPath()
                MovePathCursor(x-dx/2,y-dy-60+5)
                VectorSourceColor(ColorBlend(\pancarte\fcolor,$ffffaaaa,\z/100))
                DrawVectorParagraph(\pancarte\slogan,dx,dy,#PB_VectorParagraph_Center)
            EndIf
            x-20
            AddPathCircle(x,y, 20)
            VectorSourceColor(ColorBlend($ff888888,$ffffaaaa,\z/100))
            FillPath()
            \z-\v:If \z<1:initmanif(i):EndIf
        EndWith
    Next   
    StopVectorDrawing()
EndProcedure

Define i
OpenWindow(0, 0, 0, 800,600, "", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
CanvasGadget(0,0,0,800,600)
LoadFont(0, "Comic Sans MS", 10)

For i=0 To nm
initmanif(i,Random(100,10))
Next
AddWindowTimer(0, 0, 20):BindEvent(#PB_Event_Timer, @ affiche())

Repeat:Until WaitWindowEvent()=#PB_Event_CloseWindow


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Journée mondial pour la modernisation de PB
MessagePosté: Ven 20/Jan/2017 9:53 
Hors ligne
Avatar de l’utilisateur

Inscription: Dim 02/Oct/2011 16:17
Messages: 2156
Localisation: 50200 Coutances
Merci professeur Shadoko pour ce partage, j'ai bien aimé ce clin d'œil.

_________________
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce GT 640 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 5.62, 5.70 LTS
Un homme doit être poli, mais il doit aussi être libre !


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Journée mondial pour la modernisation de PB
MessagePosté: Ven 20/Jan/2017 10:50 
Hors ligne
Avatar de l’utilisateur

Inscription: Mar 31/Mai/2016 9:06
Messages: 2053
Excellent !! :D

_________________
Image
Image
Site: http://michel.dobro.free.fr/
Devise :"dis moi ce dont tu as besoin, je t'expliquerai comment t'en passer"


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Journée mondial pour la modernisation de PB
MessagePosté: Ven 20/Jan/2017 11:58 
Hors ligne
Avatar de l’utilisateur

Inscription: Lun 22/Nov/2004 13:05
Messages: 353
Ah Ah TERRIBLE !


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Journée mondial pour la modernisation de PB
MessagePosté: Ven 20/Jan/2017 12:31 
Hors ligne
Avatar de l’utilisateur

Inscription: Ven 27/Oct/2006 12:19
Messages: 1222
Localisation: Calvados (14)
Ah oui, je plussoie : Excellent !!!

_________________
Image

Image


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Journée mondial pour la modernisation de PB
MessagePosté: Ven 20/Jan/2017 12:37 
Hors ligne
Avatar de l’utilisateur

Inscription: Mer 09/Nov/2005 9:53
Messages: 4031
Nial :mrgreen:

_________________
http://HexaScrabble.com/
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Portable LENOVO ideapad 110-17ACL 64 bits
Version de PB : 5.70LTS - 32 bits


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Journée mondial pour la modernisation de PB
MessagePosté: Ven 20/Jan/2017 12:38 
Hors ligne
Avatar de l’utilisateur

Inscription: Dim 13/Déc/2015 11:05
Messages: 649
Localisation: Allez, cherche...
Génial :) :mrgreen: Et tellement vrai pour le STEP sans VARIABLE.... :(

_________________
"Le bug se situe entre la chaise et le clavier"
Votre expert national en bogage et segfaults.

CPU : AMD A8 Quad core - RAM 8Gb - HDD 2To
  • Windows 10 x64 - PB 5.61 x64
  • Linux Ubuntu 16.04 LTS x64 (dual boot) - PB pas encore réinstallé


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Journée mondial pour la modernisation de PB
MessagePosté: Ven 20/Jan/2017 13:26 
Hors ligne

Inscription: Mer 21/Jan/2004 18:24
Messages: 1528
pas vu kcc avec sa pancarte : lecture des animations GIF en natif ... :roll:


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Journée mondial pour la modernisation de PB
MessagePosté: Ven 20/Jan/2017 13:48 
Hors ligne

Inscription: Sam 08/Fév/2014 15:19
Messages: 1592
Amusant pour l'idée et impressionnant par la petite taille du code. :P
118 lignes! quel langage moderne permet d'en faire autant ? 8O (aucun)
Chapeau pour la technique pf shadoko.

Cela dit, certaines revendications comme "supprimer les declare" pourraient se concevoir je pense, mais cela suppose que le compilateur fasse un premier passage pour lister toutes les procédures. Donc potentiellement plusieurs secondes à chaque compilation si le code devient volumineux ?

:wink:

_________________
Windows 10 Famille x64 + Linux (Slackware, Debian sur Oracle VirtualBox 6.0)


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Journée mondial pour la modernisation de PB
MessagePosté: Ven 20/Jan/2017 14:18 
Hors ligne
Avatar de l’utilisateur

Inscription: Dim 08/Déc/2013 23:19
Messages: 603
Localisation: Hérault
C'est juste NAZE ! :)

_________________
Mon site dédié à ma passion pour la programmation :
http://majikeyric.free.fr


Dernière édition par majikeyric le Lun 03/Juil/2017 14:56, édité 1 fois.

Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Journée mondial pour la modernisation de PB
MessagePosté: Ven 20/Jan/2017 22:56 
Hors ligne
Avatar de l’utilisateur

Inscription: Jeu 29/Juil/2004 16:33
Messages: 2783
Localisation: Klyntar
Le rendu est top, bravo 8)






@++

_________________
Windows 10 x64, PureBasic 5.71 Beta 1 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Journée mondial pour la modernisation de PB
MessagePosté: Sam 21/Jan/2017 0:22 
Hors ligne
Avatar de l’utilisateur

Inscription: Dim 09/Oct/2005 16:51
Messages: 8734
Je me joins à tes revendications et te félicite au passage pour le code qui m'a bien fait marrer. :P

_________________
~~~~Règles du forum ~~~~
.: Ar-S :. Tour + portable W10 x64 PB 5.4x / 5.6x
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
RESIZER GOLD : Mon logiciel de redimensionnement par lot 100% PB


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Journée mondiale pour la modernisation de PB
MessagePosté: Sam 21/Jan/2017 3:14 
Hors ligne
Avatar de l’utilisateur

Inscription: Jeu 08/Déc/2005 5:19
Messages: 936
Localisation: Guadeloupe
Superbe !
Y a pas une manif prévue pour Android Studio :mrgreen: !!!?

_________________
Elevé au MSX !


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Journée mondial pour la modernisation de PB
MessagePosté: Sam 21/Jan/2017 13:33 
Hors ligne
Avatar de l’utilisateur

Inscription: Sam 14/Fév/2015 16:20
Messages: 108
Génial :D
Qui se lance dans une contre manif. 118 lignes de code a battre :wink:


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Journée mondial pour la modernisation de PB
MessagePosté: Dim 22/Jan/2017 15:12 
Hors ligne
Avatar de l’utilisateur

Inscription: Ven 05/Sep/2008 11:42
Messages: 1120
Localisation: Besançon
Magnifique, bravo pour le code !

_________________
Only PureBasic makes it possible


Haut
 Profil  
Répondre en citant le message  
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 29 messages ]  Aller à la page 1, 2  Suivante

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages

Rechercher:
Aller à:  

 


Powered by phpBB © 2008 phpBB Group | Traduction par: phpBB-fr.com
subSilver+ theme by Canver Software, sponsor Sanal Modifiye