I'M getting the following error when I try to compile this code: "'Function' can only appear in main program."
[code];Draw a ship which can be moved and killed
Graphics 400, 300
;CONSTANTS
Const STARTHITPOINTS = 3
Const SHIP$ = "<-*->"
Const ESCKEY = 1, SPACEBAR = 57, UPKEY = 200, LEFTKEY = 203, DOWNKEY = 208, RIGHTKEY = 205
Const STARTX = 200, STARTY = 150
;TYPES
Type Ship
Field x, y
Field hitpoints
Field shipstring$
End Type
;INITIALIZATION SECTION
Global cont = 1
Global player.ship = New ship
playerx = STARTX
playery = STARTY
playerhitpoints = STARTHITPOINTS
playershipstring = SHIP$
;Game loop
While cont = 1
Cls
Text playerx, playery, playershipstring$
TestInput()
DrawHUD()
Wend
;End of loop
;FUNCTION TextInput() - changes the direction or hit points of the player
Function TestInput()
;If player presses left, move him left.
If KeyHit(LEFTKEY)
playerx = playerx - 3
If playerx <= 0
playerx = 10
EndIf
EndIf
;If player presses right, move him right.
If KeyHit(RIGHTKEY)
playerx = playerx + 3
If playerx >= 385
playerx = 380
EndIf
EndIf
;If player presses up, move him up
If KeyHit(UPKEY)
playery = playery - 3
If playery <= 0
playery = 10
EndIf
EndIf
;If player presses down, move him down.
If KeyHit(DOWNKEY)
playery = playery + 3
If playery >= 285
playery = 280
EndIf
EndIf
;If player presses spacebar, remove a hit point
If KeyHit(SPACEBAR)
playerhitpoints = playerhitpoints - 1
If playerhitpoints <= 0
cont = 0
EndIf
EndIf
;If player presses Esc, set cont to 0, and exit the game
If KeyHit(ESCKEY)
cont = 0
EndIf
;Function DrawHUD() - draws the user's info in top Right of the screen
Function DrawHUD()
Text 260, 10, "X position: " + playerx
Text 260, 20, "Y positoin: " + playery
Text 260, 30, "Hitpoints: " + playerhitpoints
End Function[/code]
Comments