rendered paste bodySCREEN 800,600,0
'FrameLimit 100
Type EFFECTS
Field x
Field y
Field t
Field mode As String
End Type
Type ENEMIES
Field obj
End Type
verdanabig = LoadFont("Verdana",64)
SetFont verdanabig
enemy_img = MakeImage(16,16)
player_img = MakeImage(16,16)
gplayer_img = MakeImage(16,16)
overlay_img = MakeImage(800,600)
DrawToImage enemy_img
Color cbred
Circle 0,0,16
Color 1,1,1
Circle 0,0,16,0
DrawToImage player_img
Color 0,0,255
Circle 0,0,16
Color 1,1,1
Circle 0,0,16,0
DrawToImage gplayer_img
Color 125,125,125
Circle 0,0,16
Color 1,1,1
Circle 0,0,16,0
DrawToScreen
mouse_obj = MakeObject(1)
player = MakeObject(4)
PaintObject player, -player_img
reset:
ScreenPositionObject player,400,300
effect_timer = Timer()
boost = 780
enemy_spawn = Timer()
spawnrate = 300
health = 5
player_ghost = False
faderate = 70
deletecount = 30
hover# = 0
Repeat
Color 210,210,210
Text 640,530, "BETA"
If health > 0
enemyspeed = Deletecount/10
Else
enemyspeed = 0
EndIf
ClsColor cbwhite
SetWindow "Pallopeli v1.0 FPS:"+Str(FPS())
If player_ghost = True
PaintObject player, -gplayer_img
If Timer()-ghost_timer > 1000
player_ghost = False
PaintObject player, -player_img
EndIf
EndIf
If MouseDown(1)
RotateObject player, GetAngle2(player, mouse_obj)
MoveObject player, 3+turbo
EndIf
If MouseDown(2) And boost > 0
turbo = 3
turboloader = Timer()
If Timer()-turbotimer > 1
boost = boost - 5
turbotimer = Timer()
EndIf
Else
turbo = 0
turbotimer = Timer()
If Timer()-turboloader > 50 And boost < 780
boost + 2
turboloader = Timer()
EndIf
EndIf
If ObjectX(player) > 190 Then MoveObject player, -2
If ObjectX(player) < -190 Then MoveObject player, 2
If ObjectY(player) > 390 Then MoveObject player, 0, 2
If ObjectY(player) < -390 Then MoveObject player, 0, -2
ScreenPositionObject mouse_obj, MouseX(), MouseY()
If timer()-effect_timer > faderate
effect_timer = Timer()
effect.EFFECTS = New(EFFECTS)
effect\x = ObjectX(player)+392
effect\y = 600-ObjectY(player)-308
effect\t = Timer()
effect\mode = "player"
For enemy.ENEMIES = Each ENEMIES
effect.EFFECTS = New(EFFECTS)
effect\x = ObjectX(enemy\obj)+392
effect\y = 600-ObjectY(enemy\obj)-308
effect\t = Timer()
effect\mode = "enemy"
Next enemy
EndIf
If Timer()-enemy_spawn > spawnrate And enemyspeed > 0
enemy.ENEMIES = New(ENEMIES)
enemy\obj = MakeObject(4)
PaintObject enemy\obj, -enemy_img
randpos= Rand(3)
If randpos = 0
ScreenPositionObject enemy\obj, 0, Rand(600)
ElseIf randpos = 1
ScreenPositionObject enemy\obj, 800, Rand(600)
ElseIf randpos = 2
ScreenPositionObject enemy\obj, Rand(800), 0
ElseIf randpos = 3
ScreenPositionObject enemy\obj, Rand(800), 600
EndIf
TurnObject enemy\obj, GetAngle2(enemy\obj, player)
enemy_spawn = Timer()
EndIf
For effect.EFFECTS = Each EFFECTS
elapsed = (Timer()-effect\t)/4
If effect\mode = "player"
If player_ghost = False
Color elapsed,elapsed,255
Circle effect\x, effect\y, (245-elapsed)/15
If elapsed > 245 Then Delete effect
Else
Color elapsed,elapsed,elapsed
Circle effect\x, effect\y, (245-elapsed)/15
If elapsed > 245 Then Delete effect
EndIf
Else
Color 255,elapsed*4,elapsed*4
Circle effect\x, effect\y, (50-elapsed)/4
If elapsed > 50 Then Delete effect
EndIf
Next effect
For enemy.ENEMIES = Each ENEMIES
MoveObject enemy\obj, enemyspeed
If ObjectX(enemy\obj) > 400 Or ObjectX(enemy\obj) < -400
DeleteObject enemy\obj
Delete enemy
deletecount + 1
ElseIf ObjectY(enemy\obj) > 300 Or ObjectY(enemy\obj) < -300
DeleteObject enemy\obj
Delete enemy
deletecount + 1
ElseIf ObjectsOverlap(enemy\obj, player, 3) And player_ghost = False Then
DeleteObject enemy\obj
Delete enemy
health = health - 1
player_ghost = True
ghost_timer = Timer()
EndIf
Next enemy
DrawGame
If health < 1
If hover > 5
hoverdir = 0
ElseIf hover < -5
hoverdir = 1
EndIf
If hoverdir = 0
hover-0.5
ElseIf hoverdir = 1
hover+0.5
EndIf
scoretext$ = (deletecount-30)
Color cbsilver
Text 400-TextWidth(scoretext$)/2+2,300-TextHeight(scoretext$)/2+2+hover, scoretext$
Color cbblack
Text 400-TextWidth(scoretext$)/2,300-TextHeight(scoretext$)/2+hover, scoretext$
If MouseHit(1)
For enemy.ENEMIES = Each ENEMIES
DeleteObject enemy\obj
Delete enemy
Next enemy
For effect.EFFECTS = Each EFFECTS
Delete effect
Next effect
Goto reset
EndIf
EndIf
For i = 0 To health-1
Color 255,i*51,i*51
Box 10+i*156,35, 156, 10
Next i
Color cbblue
Box 10,10,boost,20
Color cbblack
Box 10,10,780,20,0
Box 10,35,780,10,0
DrawScreen
Forever