
-----------------------------------
@DRI@N
Sun May 23, 2004 4:25 pm

Hockey Game Help
-----------------------------------
Hey I'm making a hockey game, but I'm having trouble with the scoreboard. You press "enter" to drop the puck and if it is in the box it should be 1:0 but the score is different every time. The corners as well, I don't know how to make the puck and player bounce off them




setscreen("graphics:800;800")
View.Set("offscreenonly")   
 
colorback(black)
cls

    var crowd_colour:int
    
    var x1_crowd: int
    var y1_crowd: int

    
    var counter:int:=0
    var arena_x : array 1..8 of int := init (200, 200, 250, 550, 
                                   600, 600, 550, 250)
    var arena_y : array 1..8 of int := init (150, 650, 700, 700,
                                   650, 150, 100, 100)
    var Score_font:int:=Font.New ("Garamond:30")
    
    var score:int:=0
    var player_score:string:=""
    var puckx,pucky:int:=400
    var puckychange,puckxchange:int:=1
    var RD_X:int:=500
    var RD_Y:int:=200
    var chars : array char of boolean
    var chars1 : array char of boolean    
    var cur_x,cur_y:int

procedure Arena
loop

counter:=counter+1


randint(crowd_colour,1,255)

randint(x1_crowd,1,800)
randint(y1_crowd,1,800)

drawfilloval(x1_crowd,y1_crowd,2,2,crowd_colour)

exit when counter=30000

end loop
end Arena

%%%Faceoff%%%%
randint(puckychange,-1,1)
if puckychange=0 then
loop
randint(puckychange,-1,1)
exit when puckychange not=0
end loop
end if
%%%%%Faceoff%%%



loop
cls
Arena
loop
Input.KeyDown (chars)

if chars (KEY_UP_ARROW) then
            RD_Y := RD_Y + 2
        elsif chars (KEY_DOWN_ARROW) then
            RD_Y := RD_Y - 2
        elsif chars (KEY_RIGHT_ARROW) then
            RD_X := RD_X + 2
        elsif chars (KEY_LEFT_ARROW) then
            RD_X := RD_X - 2
end if

if RD_X=586 then
RD_X:=RD_X-8
elsif  RD_X=224 then
RD_X:=RD_X+8
end if

if RD_Y=688 then
RD_Y:=RD_Y-8
elsif  RD_Y=112 then
RD_Y:=RD_Y+8
end if

%Arena
Draw.FillPolygon (arena_x, arena_y, 8, 100)  
delay(0)
puckx:=puckx+puckxchange
pucky:=pucky+puckychange

cur_x:=puckx
cur_y:=pucky
%Puck
Draw.FillOval(puckx,pucky,2,2,black)
if puckx=598 or puckx=202 then
puckxchange:=puckxchange*-1
end if

if pucky=698 or pucky=102 then
puckychange:=puckychange*-1
end if

%%%Collison
if puckx < RD_X+18 and puckx >RD_X-34 and pucky > RD_Y-15 and pucky 390 and cur_x 600 and cur_y 