View.Set ("graphics,onscreenonly,nocursor")
 
 
var oldtime : int := Time.Sec
 
var totaltime : int := Time.Sec - oldtime
 
var score : int := 0
 
var leveltime : int
 
var level : int := 1
 
var crosshairXcord : int := maxx div 2
 
var crosshairYcord : int := maxy div 2
 
var button : int := 0
 
 
%===============================================================
 
%Purpose: To have a status bar with time, and score on it      |
 
%===============================================================
 
process statusbar
 
 
    if level = 1 then
 
        leveltime := 20
 
    else
 
        leveltime := 30
 
    end if
 
 
    loop
 
        locatexy (560, 390)
 
        put "Time = ", Time.Sec - oldtime
 
        exit when Time.Sec - oldtime = leveltime
 
 
        locatexy (10, 390)
 
        put "Level = ", level
 
 
        locatexy (250, 380)
 
        put "Score  =  ", score
 
 
        locatexy (0, 360)
 
        put "================================================================================"
 
    end loop
 
 
end statusbar
 
 
%===============================================================
 
%End Process                                                   |
 
%===============================================================
 
 
%===============================================================
 
%Purpose: Aimer moved when you move the mouse                  |
 
%===============================================================
 
 
process crosshair
 
    loop
 
        Mouse.Where (crosshairXcord, crosshairYcord, button)
 
        drawline (crosshairXcord, crosshairYcord, crosshairXcord, crosshairYcord + 20, 10)
 
        drawline (crosshairXcord - 10, crosshairYcord + 10, crosshairXcord + 10, crosshairYcord + 10, 10)
 
        drawoval (crosshairXcord, crosshairYcord + 10, 10, 10, 10)
 
        delay (10)
 
        drawline (crosshairXcord, crosshairYcord, crosshairXcord, crosshairYcord + 20, 255)
 
        drawline (crosshairXcord - 10, crosshairYcord + 10, crosshairXcord + 10, crosshairYcord + 10, 255)
 
        drawoval (crosshairXcord, crosshairYcord + 10, 10, 10, 255)
 
        end loop
 
    end crosshair
 
    process bomb
 
        loop
 
            if button = 1 then
 
                const bloodXcord := crosshairXcord
 
                const bloodYcord := crosshairYcord
 
                for a : 1 .. 20
 
                    drawfilloval (bloodXcord, bloodYcord + 10, a, a, red)
 
                    delay (10)
 
                end for
 
                delay (100)
 
                drawfilloval (bloodXcord, bloodYcord + 10, 30, 30, black)
 
                cls
 
            end if
 
 
        end loop
 
    end bomb
 
 
    %===============================================================
 
    %End Process                                                   |
 
    %===============================================================
 
 
        color (white)
 
    colorback (black)
 
    cls
 
 
    level := 3
 
 
    fork statusbar
 
    fork bomb
 
    fork crosshair
 
 
  |