//artStupid
//add a more interesting opponent with "artificial stupidity"
init();
function init(){
//turn off the mouse pointer
Mouse.hide();
//initialize ball speed
ball.dx = 15;
ball.dy = 5;
//opp speed is opponent speed
//determines max dy for opponent.
//15 is nearly flawless
//0 is dead
opp.speed = 10;
} // end init
player.onEnterFrame = function(){
player._y = _root._ymouse;
} // end enterFrame
opp.onEnterFrame = function(){
//opp._y = ball._y;
//check to see if ball is above or below opp
if (ball._y < opp._y){
//move opp up
opp.dy = - opp.speed;
} else {
//move opp down
opp.dy = opp.speed;
} // end if
opp._y += opp.dy;
} // end function
ball.onEnterFrame = function(){
ball.move();
ball.checkBoundaries();
ball.checkPaddles();
} // end enterFrame
ball.move = function(){
ball._x += ball.dx;
ball._y += ball.dy;
} // end move
ball.checkBoundaries = function(){
//bounce off top and bottom walls
if (ball._y < 0){
ball.dy = -ball.dy;
} // end if
if (ball._y > Stage.height){
ball.dy = -ball.dy;
} // end if
//if past left of screen, opponent scores
if (ball._x < 0){
trace("Opponent Scores");
//opponent serves
ball._x = opp._x - 50;
ball._y = opp_y;
ball.dy = 0;
} // end if
//if past right of stage, player scores,
if (ball._x > Stage.width){
trace ("Player scores");
//player serves
ball._x = player._x + 50;
ball._y = player._y;
ball.dy =0;
} // end if
} // end checkboundaries
ball.checkPaddles = function(){
//check to see if ball touches paddle
if (ball.hitTest(player)){
//simply bounce off for now
ball.dx = -ball.dx;
ball.dy = getDy(player);
} // end if
if (ball.hitTest(opp)){
ball.dx = -ball.dx;
ball.dy = getDy(opp);
} // end if
} // end checkPaddles
function getDy(paddle){
//determines dy based on where ball hits paddle.
//relY is relative Y of ball to paddle
relY = ball._y - paddle._y;
//trace relY
//relPerc is relY / height of paddle
//will range from -.5 to +.5
relPerc = relY / paddle._height;
//trace (relPerc);
//new DY ranges from -15 to +15
newDy = relPerc * 30;
//trace (newDy);
return newDy;
} // end getDy