kleine Vorschau auf den 21. Dezember 2012

Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

kleine Vorschau auf den 21. Dezember 2012

Beitrag von bobobo »

Mittlerweile ist ja bekannt was am 21.12.2012 passiert.
Ich habe es mal als PB-Version gekotet .. ää .. gecodet

Code: Alles auswählen

;getestet unter WinXP
UsePNGImageEncoder()
fa=CreateImage(#PB_Any,400,400,32|#PB_Image_Transparent )

StartDrawing(ImageOutput(fa))
  DrawingMode(#PB_2DDrawing_Gradient|#PB_2DDrawing_AllChannels)
  BackColor(RGBA(0,0,0,255))
  FrontColor(RGBA(255,222,192,255))
  CircularGradient(200, 0, 450)
  Ellipse         (120, 200, 100,120)
  Ellipse         (280, 200, 100,120)
  Circle(200,50,120)
StopDrawing()
kawu=CreateImage(#PB_Any,50,100,32|#PB_Image_Transparent )

StartDrawing(ImageOutput(kawu))
  DrawingMode(#PB_2DDrawing_Gradient|#PB_2DDrawing_AllChannels)
  BackColor(RGBA(0,0,0,255))
  FrontColor(RGBA(64,0,0,255))
  CircularGradient(25, 0, 50)
  Ellipse         (25, 50, 10,25)
StopDrawing()
ka=CreateImage(#PB_Any,100,50,32|#PB_Image_Transparent )

StartDrawing(ImageOutput(ka))
  DrawingMode(#PB_2DDrawing_Gradient|#PB_2DDrawing_AllChannels)
  BackColor(RGBA(0,0,0,255))
  FrontColor(RGBA(128,0,0,255))
  CircularGradient(25, -25,100)
  Ellipse         (50, 25, 25,10)
StopDrawing()
ar=CreateImage(#PB_Any,400,400,32|#PB_Image_Transparent )

StartDrawing(ImageOutput(ar))
  DrawingMode(#PB_2DDrawing_Gradient|#PB_2DDrawing_AllChannels)
  BackColor(RGBA(128,128,255,255))
  FrontColor(RGBA(222,222,255,255))
  LinearGradient(0, 0, 0,400)
  Box(0,0,400,400)
  BackColor(RGBA(222,255,222,255))
  FrontColor(RGBA(32,128,32,255))
  For f=200 To 400 Step 50
    LinearGradient(0, 400-f, 0,400)
    For c=1 To 400 Step 5
      Circle(c,f,Random(40))
    Next c
  Next f
  DrawingMode(#PB_2DDrawing_AllChannels)
  For h=1 To 35
    hx=Random(150)+120
    hy=Random(50)
  Box(hx,250+hy,20,10,RGBA(255-h,255-h,255-h,32))
  Box(hx,250+hy-5,20,5,RGBA(255,128,128,128))
  Next h
StopDrawing()

;SaveImage(fa,"D:\1.png",#PB_ImagePlugin_PNG)
;SaveImage(kawu,"D:\2.png",#PB_ImagePlugin_PNG)
;SaveImage(ar,"D:\3.png",#PB_ImagePlugin_PNG)
;SaveImage(ka,"D:\4.png",#PB_ImagePlugin_PNG)

OpenWindow(0,0,0,400,400,"the incident on DEC 21 2012",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
CanvasGadget(0,0,0,400,400)
AddWindowTimer(0,0,10)
ay=-400

Repeat
  event=WaitWindowEvent(0)
  StartDrawing(CanvasOutput(0))
    
    If Event = #PB_Event_Timer And EventTimer() = 0
      l+1
      
      If l<200
        ay+1
        DrawingMode(#PB_2DDrawing_Default)
        DrawImage(ImageID(ar),0,0)    
        DrawingMode(#PB_2DDrawing_AlphaBlend)
        DrawImage(ImageID(fa),0,ay)
      EndIf
      
      If l<80
        DrawingMode(#PB_2DDrawing_Transparent)
        DrawText(0,0,"the near future")
      EndIf
      
      If l>80 And l<160
        DrawingMode(#PB_2DDrawing_Transparent)
        DrawText(0,0,"dec 21 2012")
      EndIf
      
      If l>200 And l<250
        ay=-200+Random(20)/2-5
        DrawingMode(#PB_2DDrawing_Default)
        DrawImage(ImageID(ar),0,0)    
        DrawingMode(#PB_2DDrawing_AlphaBlend)
        DrawImage(ImageID(fa),0,ay)
      EndIf
      
      If l>250 And l<260
        ay=ay-1
        DrawingMode(#PB_2DDrawing_Default)
        DrawImage(ImageID(ar),0,0)    
        DrawingMode(#PB_2DDrawing_AlphaBlend)
        DrawImage(ImageID(fa),0,ay)
      EndIf
      
      If l>280 And l<310
        ay=ay+2
        DrawingMode(#PB_2DDrawing_Default)
        DrawImage(ImageID(ar),0,0)    
        DrawingMode(#PB_2DDrawing_AlphaBlend)
        DrawImage(ImageID(fa),0,ay)
        k.f=50
      EndIf
      
      If l>350 
        k=k+2
        
        If k>Random(20)+240;+kn.f
          kp=k
          ;kn.f=kn+0.25
          kk=CopyImage(ka,#PB_Any)
          xs+3
          ky=kp+35+xs/4
          kx=175-25+Random(xs)-(xs/2)
        StopDrawing() ;interupt canvasdrawing
        
          StartDrawing(ImageOutput(ar))
            DrawingMode(#PB_2DDrawing_AlphaBlend)
            DrawImage(ImageID(kk),kx,ky)
          StopDrawing()
        StartDrawing(CanvasOutput(0)) ;continue canvasdrawing
          k=50
        EndIf
        
        DrawingMode(#PB_2DDrawing_Default)
        DrawImage(ImageID(ar),0,0)    
        DrawingMode(#PB_2DDrawing_AlphaBlend)
        DrawImage(ImageID(kawu),175,k)
        DrawImage(ImageID(fa),0,ay)
      EndIf
      
    EndIf
  StopDrawing()
  
  If event=#PB_Event_CloseWindow
    quit+1
  EndIf
  
Until quit
End ; Das Ende der Welt :)
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Benutzeravatar
rolaf
Beiträge: 3843
Registriert: 10.03.2005 14:01

Re: kleine Vorschau auf den 21. Dezember 2012

Beitrag von rolaf »

kotastisch eklig. :lol: :allright:
:::: WIN 10 :: PB 5.73 :: (x64) ::::
Benutzeravatar
gnasen
Beiträge: 578
Registriert: 01.08.2007 14:28
Computerausstattung: PB 4.60

Re: kleine Vorschau auf den 21. Dezember 2012

Beitrag von gnasen »

holy shit...
pb 4.51
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: kleine Vorschau auf den 21. Dezember 2012

Beitrag von ts-soft »

Passt irgendwie auch zum heutigem World Nutella Day :mrgreen:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Nino
Beiträge: 1300
Registriert: 13.05.2010 09:26
Wohnort: Berlin

Re: kleine Vorschau auf den 21. Dezember 2012

Beitrag von Nino »

ts-soft hat geschrieben:Passt irgendwie auch zum heutigem World Nutella Day :mrgreen:
:lol:
Benutzeravatar
rolaf
Beiträge: 3843
Registriert: 10.03.2005 14:01

Re: kleine Vorschau auf den 21. Dezember 2012

Beitrag von rolaf »

:::: WIN 10 :: PB 5.73 :: (x64) ::::
Antworten