| %Variables Dictionary
%declare variable by name and type
 var picID : int %.......................................sets aside memory and names it for gamepiece
 var picIDback : int %...................................sets aside memory and names it for background
 var chars : array char of boolean %.....................sets up keystroke decisions true or false
 var key : string (1)
 var y : int := 0
 var x : int := 0
 %*********************************
 %
 %
 %*********************************
 %Procedures/Subprograms/Subroutines
 %do each seperatly in a block
 %><><><><><><><><><><><><><><><><>ORBITAL CANNON GAMEPIECE MADE WITHM OSTLY DRAWFILL BOX'S AND LINES
 proc gamepiece (x : int, y : int)
 drawfillbox (82, 60, 120, 100, grey) %...........main box
 drawbox (82, 60, 120, 100, black)
 drawfillbox (98, 100, 104, 133, yellow) %........yellow cannon shaft
 drawbox (98, 100, 104, 133, black)
 drawline (96, 102, 106, 102, red)
 drawline (96, 102 + 2, 106, 102 + 2, red)
 drawline (96, 102 + 4, 106, 102 + 4, red)
 drawline (96, 102 + 6, 106, 102 + 6, red)
 drawline (96, 102 + 8, 106, 102 + 8, red)
 drawline (96, 102 + 10, 106, 102 + 10, red) %....red conductors on cannon shaft
 drawline (96, 102 + 12, 106, 102 + 12, red)
 drawline (96, 102 + 14, 106, 102 + 14, red)
 drawline (96, 102 + 16, 106, 102 + 16, red)
 drawline (96, 102 + 18, 106, 102 + 18, red)
 drawline (96, 102 + 20, 106, 102 + 20, red)
 drawline (96, 102 + 22, 106, 102 + 22, red)
 drawline (96, 102 + 24, 106, 102 + 24, red)
 drawline (96, 102 + 26, 106, 102 + 26, red)
 drawline (96, 102 + 28, 106, 102 + 28, red)
 drawline (95, 133, 107, 133, black) %...........tip of laser
 drawline (95, 133, 99, 143, black)
 drawline (107, 133, 103, 143, black)
 drawline (99, 143, 103, 143, black)
 drawoval (101, 80, 5, 5, black) %...............mainbody detail
 drawoval (101, 80, 8, 12, black)
 drawfilloval (101, 80, 2, 2, red)
 drawline (85, 63, 85, 97, red)
 drawline (117, 63, 117, 97, red)
 drawline (88, 66, 88, 94, red)
 drawline (114, 66, 114, 94, red)
 drawline (82, 78, 74, 76, black) %..............left thruster
 drawline (74, 76, 74, 86, black)
 drawline (74, 86, 82, 84, black)
 drawline (120, 78, 128, 76, black) %............right thruster
 drawline (128, 76, 128, 86, black)
 drawline (128, 86, 120, 84, black)
 
 drawfill (124, 80, grey, black) %...............Fills right thruster with colour
 drawfill (77, 80, grey, black) %................Fills left thruster with colour
 drawfill (101, 138, grey, black) %..............Fills left thruster with colour
 drawfillbox (92, 55, 110, 60, grey) %...........Lil box on the bottom of body
 drawbox (91, 55, 110, 60, black)
 
 end gamepiece
 
 %<><><><><><><><><><><><><><><><><><><><><><><><><><>STARS
 proc dots
 drawfilloval (150, 50, 1, 1, 92)
 end dots
 %><><><><><><><><><><><><><><><><><><><><><><><><><><SPACE BACKROUND
 proc background
 drawfillbox (0, 0, 639, 479, 17)
 %dots
 end background
 %><><><><><><><><><><><><><><><><><><><><><><><><><><INTRODUCTION
 proc instructions
 for c : 1 .. 20 by 5
 drawbox (0 + c, 0 + c, 639 - c, 479 - c, c)
 end for
 locate (8, 22)
 put "Revenge of the Kuley Clones!" ..
 locate (9, 31)
 put "INSTRUCTIONS" ..
 locate (11, 12)
 put "Destroy as many Kuley clones as possible to Increase your score" ..
 locate (13, 28)
 put "RIGHT ARROW - MOVE RIGHT" ..
 locate (15, 28)
 put "LEFT ARROW - MOVE LEFT" ..
 locate (16, 28)
 put "SPACE - SHOOT" ..
 locate (25, 25)
 put "touch anykey to continue" ..
 View.Update
 getch (key)
 end instructions
 
 %*********************************
 %
 %
 %*********************************
 %Mainline
 %step by step enter the program
 instructions
 gamepiece (0, 0)
 drawbox (68, 48, 135, 145, black)
 picID := Pic.New (48, 48, 152, 152) %..............Screencapture for gamepiece
 Pic.Draw (picID, 100, 100, picMerge)
 background
 picIDback := Pic.New (0, 0, 639, 479) %............Screencapture for background
 Pic.Draw (picIDback, 0, 0, picCopy)
 View.Update
 
 put picID
 put picIDback
 
 setscreen ("offscreenonly")
 loop %.............................................Repeats for keystroke action
 Input.KeyDown (chars)
 locate (1, 1)
 
 if chars (KEY_RIGHT_ARROW) then %..............checks for right arrow key
 x := x + 5
 end if
 
 if chars (KEY_LEFT_ARROW) then %.................checks for left arrow key
 x := x - 5
 end if
 
 if chars (' ') then%..........................................where i will insert shooting action
 end if
 
 %..............................................prevents gamepiece from going left offscreen
 if x < 0 then
 x := x + 5
 end if
 
 %..............................................prevents gamepiece from going right offscreen
 if x > 540 then
 x := x - 5
 end if
 
 locate (20, 20) %...............................location of coords below
 put x : 5 .. %..................................shows coords
 
 Pic.Draw (picID, x, y, picMerge)
 View.Update
 Pic.Draw (picIDback, x, y, picCopy)
 end loop
 
 %*********************************
 
 |