ESC
Rem Rem Egg Drop for Maximite Colour Rem (C)opyright 2013, Chris Tusa <christusa@leafscale.com> Rem Creative Commons Attribution-Non Commercial Share ALike 3.0 Unported Rem Cls Mode 4 Line (0,15)-(240,15), 1 Line (0,200)-(240,200), 1 Print @(0,1)CLR$(Cyan,Blue)+" Egg Drop (C)opyright 2013, Chris Tusa " Print @(0,202)CLR$(Cyan,Blue)+" " Sprite Load "EGG.SPR" Init: Randomize Timer Do Colour Int(Rnd(1) * 8),0 Print @(60,100)"Press 'S' to start" Pause 50 Loop Until Inkey$ = "s" Or Inkey$ = "S" Color 7,0 Print @(50,100)" " Rem Set Maximum Y for Egg Falling MAXY = 160 Rem Set Maximum X for Basket Moving MAXX = 240 Rem Basket Starting Area BSX = 120 BSY = 180 Rem EGG Starting Area ESX = 0 ESY = 20 Rem Maximum Number of eggs that can be dropped EGGS = 5 Rem Total number of eggs Dropped Counter = 0 Rem Current number of eggs collected Score = 0 Rem Current number of eggs broken Broken = -1 Rem Speed Setting Speed = 5 Rem Boolean for loop to determine if Egg was caught Caught = 0 Print @(0,202)CLR$(Cyan,Blue)+" " Rem Loop until number of broken eggs reaches the limit Do While Broken < Eggs If Caught = 1 Then Score = Score + 1 Print @(80,202) CLR$(Cyan,Blue)+"Score: "+Str$(Score) EggBasket Caught = 0 ElseIf Caught = 0 Then Broken = Broken + 1 Print @(1,202) CLR$(Cyan,Blue)+"Break: "+Str$(Broken) EggBreak EndIf ESY = 20 ESX = Int(Rnd(1) * 180 + 1) Sprite ON 1, ESX, ESY, Black Sprite ON 2, BSX, BSY, Black Rem Drop the egg DROP = 1 Do Rem Detect if the egg touches the top of the basket If Collision(2,SPRITE) = &B0100 Then Caught = 1 Speed = Speed + .2 Print @(160,202) CLR$(Cyan,Blue)+"Speed: " Print @(160,202) CLR$(Cyan,Blue)+"Speed: "+Str$(Speed) EndIf Rem Keep falling if we haven't touched the basket yet ESY = ESY + (.01 * SPEED) Sprite MOVE 1, ESX, ESY Rem Detect the Basket Keystrokes K = KeyDown If K = 130 Then BSX = BSX - 1 If BSX > MaxX Then BSX = BSX - 1 Sprite MOVE 2, BSX, BSY EndIf If K = 131 Then BSX = BSX + 1 If BSX < 1 Then BSX = BSX + 1 Sprite MOVE 2, BSX, BSY EndIf If K = 27 Then GoTo Abort Rem Detect if the Egg has gone past the basket If ESY >= (MAXY + 5) Then DROP = 0 Loop Until DROP = 0 Rem Cleanup before the next egg Sprite OFF ALL Counter = Counter + 1 Loop GoTo Init Rem Egg Break Sound Sub EggBreak For S = 200 To 9000 Step 100 PWM S Pause 2 PWM (S + 100) Pause 2 PWM (S - 100) Next PWM STOP End Sub Rem Make Egg in Basket Sound Sub EggBasket For S = 500 To 1500 Step 20 PWM S Pause 1 PWM (S - 25) Pause 1 Next PWM STOP End Sub Abort: Sprite OFF ALL GoTo INIT Quit: Clear Cls End