' !!! FBSL BASIC !!!
#Option Implicit
#Include "mingfx.inc"
Type NACHWELT: %zustand %leben: End Type
Dim j = 0, x[1000], y[1000], xv[1000], yv[1000], lf[1000] As NACHWELT
width = 1024: height = 768
xstart = width / 15: ystart = height / 9
ei = LoadSprite("gefluegel\ei.bmp", 20, 20, 1)
kueken = LoadSprite("gefluegel\kueken.bmp", 664, 83, 8)
huhn = LoadSprite("gefluegel\huhn.bmp", 64, 64, 1)
For i = 0 To 1000
lf[i].zustand = ei
lf[i].leben = RandInt(1, 600)
x[i] = xstart: y[i] = ystart
yv[i] = RandInt(1, 4)
xv[i] = RandInt(1, 8)
Next
Ink = RGB(128, 128, 255)
Window(width, height, FALSE, "Peter's Chicken & Eggs")
Animate
Screen(0, 0, 0)
For i = 0 To 1000
m = lf[i].zustand
If m Then
DrawSprite(kueken, x[i], y[i], 64, 64, (j + i) Mod 8)
Else
DrawSprite(ei, x[i], y[i], %RandInt(16, 32), %RandInt(16, 32), 0)
End If
x[i] = x[i] + xv[i]: y[i] = y[i] + yv[i]: yv[i] = yv[i] + 0.7
n = height - 64 + 32 * Not m
If y[i] >= n Then
lf[i].zustand = RandInt(ei, kueken)
y[i] = n: yv[i] = yv[i] - yv[i] * RandInt(2, 16) / 9
End If
lf[i].leben = lf[i].leben - 1
If lf[i].leben <= 0 Then
lf[i].zustand = ei
lf[i].leben = RandInt(1, 600)
x[i] = xstart: y[i] = ystart
yv[i] = RandInt(1, 4)
xv[i] = RandInt(1, 8)
End If
Next
If Incr(j) > 7 Then j = 0
DrawSprite(huhn, 0, 0, 128, 128, 0)
Message(130, 16, 24, "EGGS GRAVITY SUPER DELUXE", Ink)
Redraw()
Wait(20)
Forever