Frohe Weihnachten aus dem Informatikunterricht

Dienstag, 17 Dezember 2013. Geschrieben in NAWI

Frohe Weihnachten aus dem Informatikunterricht

Zwei Weihnachtssnake-Prgramme zum Downloaden! Sie wurde im Informatikunterricht in SmallBasic programmiert. Mit den Pfeiltasten kann der Weihnachtsmann gelenkt werden, es müssen soviel Kekse wie möglich gegessen werden !

snake.zip
Autor : Lucas Merlicek

weihnachtsprogram.zip
Autor : Arthur Theuer

snakii

Quellcode

size = 30
hieght = size*20
with = size*20
d = 30


GraphicsWindow.Width = with
GraphicsWindow.Height = hieght


speed=30
delay = 250

GraphicsWindow.BrushColor="green"
GraphicsWindow.FillRectangle(10*d,3*d,d,d)
GraphicsWindow.FillRectangle(9*d,4*d,3*d,d)
GraphicsWindow.FillRectangle(8*d,5*d,5*d,d)
GraphicsWindow.FillRectangle(7*d,6*d,7*d,d)
GraphicsWindow.FillRectangle(9*d,7*d,3*d,d)
GraphicsWindow.FillRectangle(8*d,8*d,5*d,d)
GraphicsWindow.FillRectangle(7*d,9*d,7*d,d)
GraphicsWindow.FillRectangle(6*d,10*d,9*d,d)
GraphicsWindow.FillRectangle(8*d,11*d,5*d,d)
GraphicsWindow.FillRectangle(7*d,12*d,7*d,d)
GraphicsWindow.FillRectangle(6*d,13*d,9*d,d)
GraphicsWindow.FillRectangle(5*d,14*d,11*d,d)
GraphicsWindow.BrushColor="brown"
GraphicsWindow.FillRectangle(9*d,15*d,3*d,4*d)
GraphicsWindow.BrushColor="Red"
GraphicsWindow.FontSize=25
GraphicsWindow.DrawText(100,50,"Frohe Weihnacht wünscht !Syntax!")

GraphicsWindow.FillRectangle(0,0,with,size)
GraphicsWindow.FillRectangle(0,0,size,hieght)
GraphicsWindow.FillRectangle(with-size,0,with,hieght)
GraphicsWindow.FillRectangle(0,hieght-size,with,size)

GraphicsWindow.BackgroundColor="Black"
GraphicsWindow.BrushColor = "white"


futterx = size+(Math.GetRandomNumber(with/size-3))*(size)
futtery = size+(Math.GetRandomNumber(hieght/size-3))*(size)
keksdatei=Program.Directory+"\keks.gif"
futter = Shapes.AddImage(keksdatei)
Shapes.Move(futter,futterx,futtery)

r = 2 'Richtung
' 1... Osten 2...Westen 3...Norden 4...Süden


'snaki = Shapes.AddRectangle(size,size)
headdatei=Program.Directory+"\hat.gif"
snaki = Shapes.AddImage(headdatei)

Shapes.Move(snaki,size,size)

GraphicsWindow.KeyDown= KeyDown


While 1=1
 
x = Shapes.GetLeft(snaki) 'x Koordinate abfragen
y = Shapes.GetTop(snaki) 'y Koordinate abfragen

If x = futterx And y=futtery Then
  Shapes.Remove(futter)
 
  futterx = size+(Math.GetRandomNumber(with/size-3))*(size)
futtery = size+(Math.GetRandomNumber(hieght/size-3))*(size)

futter = Shapes.AddImage(keksdatei)
Shapes.Move(futter,futterx,futtery)

EndIf

If r=1 Then
  x=x-speed
 
ElseIf r=2 Then
  x=x+speed

ElseIf r=3 Then
  y=y-speed
Else
  y=y+speed
 
EndIf
If x >= with-size Or y >= hieght-size Or x< size Or y< size Then
  Goto end
endif
Shapes.Move(snaki,x,y)
Program.Delay(delay)
EndWhile
end:


Sub KeyDown
  taste = GraphicsWindow.LastKey
 


If taste = "Up" And r<>4 Then
  r=3
 
EndIf
If taste = "Down" And r<>3 Then
  r=4
 
EndIf
If taste = "Left" And r<>2 Then
  r=1
 
EndIf
If taste = "Right" And r<>1 Then
  r=2
 
 EndIf
EndSub