Frohe Weihnachten

Freitag, 21 Dezember 2012. Geschrieben in NAWI
Mag. Michael Dorner

Frohe Weihnachten

Frohe Weihnachten aus dem Informatik - Unterricht! Mit einem kleinen Small-Basic Programm (Autor: Paul Roßbacher, 6b) werden Schneeflocken simuliert, der Baum wurde mit geraden Linien und einer For-Schleife gezeichnet.

Das Prgramm einfach herunterladen, entpacken und starten (und es enthält natürlich keine Viren):

weihnacht.zip


Der Quellcode:

GraphicsWindow.Width=500
GraphicsWindow.Height=600
GraphicsWindow.BackgroundColor="Black"
GraphicsWindow.FontSize= 45
GraphicsWindow.BrushColor="Red"
GraphicsWindow.DrawText(20,50,"Frohe Weihnachten")
GraphicsWindow.BrushColor= GraphicsWindow.GetColorFromRGB(102,53,0)
GraphicsWindow.FillRectangle(390,550,25,50)
GraphicsWindow.PenColor="Green"
GraphicsWindow.PenWidth= Math.GetRandomNumber(4)+3
For k=1 To 25
  baumx = Math.GetRandomNumber(50)+50
  baumy = Math.GetRandomNumber(50)+50
  GraphicsWindow.DrawLine(400,300+10*k,400+k+baumx,300+10*k+baumy)
  GraphicsWindow.DrawLine(400,300+10*k,400-k-baumx,300+10*k+baumy)
EndFor
GraphicsWindow.BrushColor= GraphicsWindow.GetRandomColor()
GraphicsWindow.FillEllipse(310,450,20,20)
GraphicsWindow.BrushColor= GraphicsWindow.GetRandomColor()
GraphicsWindow.FillEllipse(390,400,20,20)
GraphicsWindow.BrushColor= GraphicsWindow.GetRandomColor()
GraphicsWindow.FillEllipse(470,500,20,20)
GraphicsWindow.BrushColor= GraphicsWindow.GetRandomColor()
GraphicsWindow.FillEllipse(350,350,30,30)
GraphicsWindow.BrushColor= GraphicsWindow.GetRandomColor()
GraphicsWindow.FillEllipse(420,540,25,25)
GraphicsWindow.BrushColor= GraphicsWindow.GetRandomColor()
GraphicsWindow.FillEllipse(320,530,20,20)
GraphicsWindow.BrushColor= GraphicsWindow.GetRandomColor()
GraphicsWindow.FillEllipse(400,450,20,20)
GraphicsWindow.BrushColor= GraphicsWindow.GetRandomColor()
GraphicsWindow.FillEllipse(435,400,20,20)
GraphicsWindow.BrushColor= GraphicsWindow.GetRandomColor()
GraphicsWindow.FillEllipse(450,435,25,25)
 
GraphicsWindow.BrushColor="White"
i=1 'zähler für die Schneeflocken
anzahl=10
voll=0
While 1=1
GraphicsWindow.FontSize= Math.GetRandomNumber(15)+10
xstart = Math.GetRandomNumber(500)
ystart = Math.GetRandomNumber(50)
fallweg = Math.GetRandomNumber(100)+550
fallzeit = Math.GetRandomNumber(3000)+5000
If i<500 And voll = 0 Then
  schneeflocke [i] = Shapes.AddText("*")
  EndIf
Shapes.Move(schneeflocke[i],xstart,ystart)
Shapes.Animate(schneeflocke[i],xstart,fallweg,fallzeit)
Program.Delay(40)
If i=500 Then
  i=1
  voll=1
Else
  i=i+1
  EndIf
EndWhile