All pastes #2050211 Raw Edit

Mine

public text v1 · immutable
#2050211 ·published 2011-04-24 21:30 UTC
rendered paste body
SCREEN 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