It isn't fair that only the player can push the ball back. The enemy needs this ability too. For sure, you can imagine it already; we will build a method first that will check and report back a collision of the ball with the enemy paddles:
CheckPaddleCollE
, but this time with the return type of an integer.Method CheckPaddleCollE:Int()
FOR
loop and set the index for the paddle arrays.For Local ep:Int = 0 To 1 If (bX > (eX[ep]-5)) And (bX < (eX[ep]+5)) Then
If ((bY >= eY[ep]-25.0) And (bY <= eY[ep]+25.0)) Then Return ep Endif
If
check and the FOR
loop. Then, return -1
, so we can see that no paddle was hit if the check was negative. Then close the method.Endif Next Return -1 End
UpdateGame
method to check and react to the enemy paddles and a possible collision with the ball.If ((bY -pY) <= 7) And ((bY -pY) >= -7 Then bdY = 0
Endif
'Next assign the possible index
Local ep:Int = CheckPaddleCollE()
ep
contains the enemy paddle index now. So we check if ep
is greater than -1
and also if the ball moves from right to left.If ep >=0 And bdX < 0 Then
If ((bY - eY[ep]) > 7) Then bdY = 1.5 If ((bY - eY[ep]) < -7) Then bdY = -1.5 If ((bY - eY[ep]) <= 7) And ((bY - eY[ep])>= -7 Then bdY= 0
IF
check.Endif
Cool, we now have enemy paddles that play the ball back. If they hit the ball.
Save again, under a name that you choose, and test your code. For the next step, you might load up Pongo_09.Monkey
, which reflects all the coding we have done so far.