Hello, I am trying to follow a demo in Game Programming for Teens Second edition. The demo is demo03-11.bb.
When I run the program am able to hit the spacebar 3 times and then the program ends as it should and I am able to hit the escape key to exit the program as well. The only problem is that the text does not show up on the screen.
Here is the code I have:
;demo03-11.bb - 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
player\x = STARTX
player\y = STARTY
player\hitpoints = STARTHITPOINTS
player\shipstring = SHIP$
;Game loop
While cont = 1
Cls
Text player\x, player\y, player\shipstring$
TestInput()
DrawHUD()
Wend
;End of loop
;TestInput() changes the direction or hit points of the player
Function TestInput()
;If player presses left, move him left.
If KeyHit(LEFTKEY)
player\x = player\x - 3
If player\x <= 0
player\x = 10
EndIf
EndIf
;If player presses right, move him right.
If KeyHit(RIGHTKEY)
player\x = player\x + 3
If player\x >= 385
player\x = 380
EndIf
EndIf
;If player presses up, move him up.
If KeyHit(UPKEY)
player\y = player\y - 3
If player\y <= 0
player\y = 10
EndIf
EndIf
;If player presses down, move him down.
If KeyHit(DOWNKEY)
player\y = player\y + 3
If player\y >= 285
player\y = 280
EndIf
EndIf
;If player presses spacebar, remove a hit point
If KeyHit(SPACEBAR)
player\hitpoints = player\hitpoints - 1
If player\hitpoints <= 0
cont = 0
EndIf
EndIf
;If player presses Esc, set cont to 0, and exit the game
If KeyHit(ESCKEY)
cont = o
EndIf
End Function
;DrawHUD() draws user's info in top Right of the screen
Function DrawHUD()
Text 260, 10, "X position: " + player\x
Text 260, 20, "Y position: " + player\y
Text 260, 30, "Hitpoints: " + player\hitpoints
End Function
please help
|