// Use this for initialization void Start() { //setDebugCharacters(); p1script = player1.GetComponent<PlayerController>(); p1AI = new PaddleAI(player1, ball); PongCharacter p1char = new PongCharacter("Vida"); p2script = player2.GetComponent<PlayerController>(); p2AI = new PaddleAI(player2, ball); //PongCharacter p2char = new PongCharacter("Sora"); PongCharacter p2char = new PongCharacter(PlayerPrefs.GetString("enemyName")); // p1script.setSkillPassive(p1char.getSkillPassive ()); p1script.setSkillA(p1char.getSkillA()); p1script.setSkillB(p1char.getSkillB()); p1script.setSkillC(p1char.getSkillC()); p1script.setHealth(p1char.getHealth()); p1script.setSpeed(p1char.getSpeed()); // p2script.setSkillPassive(p2char.getSkillPassive()); p2script.setSkillA(p2char.getSkillA()); p2script.setSkillB(p2char.getSkillB()); p2script.setSkillC(p2char.getSkillC()); p2script.setHealth(p2char.getHealth()); p2script.setSpeed(p2char.getSpeed()); }
// Use this for initialization void Start() { //setDebugCharacters(); p1script = player1.GetComponent <PlayerController>(); p1AI = new PaddleAI(player1, ball); PongCharacter p1char = new PongCharacter("Vida"); p2script = player2.GetComponent <PlayerController>(); p2AI = new PaddleAI(player2, ball); //PongCharacter p2char = new PongCharacter("Sora"); PongCharacter p2char = new PongCharacter(PlayerPrefs.GetString("enemyName")); // p1script.setSkillPassive(p1char.getSkillPassive()); p1script.setSkillA(p1char.getSkillA()); p1script.setSkillB(p1char.getSkillB()); p1script.setSkillC(p1char.getSkillC()); p1script.setHealth(p1char.getHealth()); p1script.setSpeed(p1char.getSpeed()); // p2script.setSkillPassive(p2char.getSkillPassive()); p2script.setSkillA(p2char.getSkillA()); p2script.setSkillB(p2char.getSkillB()); p2script.setSkillC(p2char.getSkillC()); p2script.setHealth(p2char.getHealth()); p2script.setSpeed(p2char.getSpeed()); }
void setDebugCharacters() { p1script = player1.GetComponent<PlayerController>(); p1AI = new PaddleAI(player1, ball); PongCharacter p1char = new PongCharacter("Vida"); p2script = player2.GetComponent<PlayerController>(); p2AI = new PaddleAI(player2, ball); PongCharacter p2char = new PongCharacter("Sora"); }
void setDebugCharacters() { p1script = player1.GetComponent <PlayerController>(); p1AI = new PaddleAI(player1, ball); PongCharacter p1char = new PongCharacter("Vida"); p2script = player2.GetComponent <PlayerController>(); p2AI = new PaddleAI(player2, ball); PongCharacter p2char = new PongCharacter("Sora"); }
public AIPlayerState(ContentManager Content) { player1 = new Paddle(Content.Load <Texture2D>("rodeSpeler"), Content.Load <Texture2D>("balRood"), new Vector2(0, 300), 350, Keys.W, Keys.S, true, "Player 1"); player2 = new PaddleAI(Content.Load <Texture2D>("blauweSpeler"), Content.Load <Texture2D>("balBlauw"), new Vector2(Practicum1.Screen.X - 15, 300), 350, true, "Player 2"); paddleList.Add(player1); paddleList.Add(player2); ball = new Ball(Content.Load <Texture2D>("bal"), new Vector2(Practicum1.Screen.X / 2, Practicum1.Screen.Y / 2), 275, paddleList, "Ball"); this.Add(player1); this.Add(player2); this.Add(ball); player2.Ball = ball; }
void Start() { cTime = playTime; //Create an AI object for the paddle aiPaddle = new PaddleAI(rightPaddle, verticalBoundDistance, paddleSpeed * 0.8f, ball); }
/// <summary> /// Allows the game to run logic such as updating the world. /// </summary> protected override void Update(GameTime gameTime) { if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed || Keyboard.GetState().IsKeyDown(Keys.Escape)) { Exit(); } var screenBounds = GraphicsDevice.Viewport.Bounds; var touchState = Keyboard.GetState(); //Down paddle control if (touchState.IsKeyDown(Keys.Left)) { PaddleBottom.X -= (float)(PaddleBottom.Speed * gameTime.ElapsedGameTime.TotalMilliseconds); } if (touchState.IsKeyDown(Keys.Right)) { PaddleBottom.X += (float)(PaddleBottom.Speed * gameTime.ElapsedGameTime.TotalMilliseconds); } //Top paddle control if (touchState.IsKeyDown(Keys.A)) { PaddleTop.X -= (float)(PaddleTop.Speed * gameTime.ElapsedGameTime.TotalMilliseconds); _paddleAi = false; } if (touchState.IsKeyDown(Keys.D)) { PaddleTop.X += (float)(PaddleTop.Speed * gameTime.ElapsedGameTime.TotalMilliseconds); _paddleAi = false; } if (_paddleAi) { PaddleTop.X = MathHelper.Lerp(PaddleTop.X, PaddleTop.X + PaddleAI.Move(PaddleTop, Ball) * (float)(PaddleTop.Speed * gameTime.ElapsedGameTime.TotalMilliseconds), Ball.GetElement(0).Speed > 1 ? 1 : (Ball.GetElement(0).Speed / 1.2f)); } //Limit paddle position PaddleBottom.X = MathHelper.Clamp(PaddleBottom.X, screenBounds.Left, screenBounds.Right - PaddleBottom.Width); PaddleTop.X = MathHelper.Clamp(PaddleTop.X, screenBounds.Left, screenBounds.Right - PaddleTop.Width); foreach (var ball in Ball) { //Ball movement var ballPositionChange = ball.Direction * (float)(gameTime.ElapsedGameTime.TotalMilliseconds * ball.Speed); ball.X += ballPositionChange.X; ball.Y += ballPositionChange.Y; // Ball hitting side walls if (CollisionDetector.Overlaps(ball, Walls.GetElement(0)) || CollisionDetector.Overlaps(ball, Walls.GetElement(1))) { HitSound.Play(0.2f, 0, 0); ball.Direction.invertX(); if (ball.Speed < GameConstants.DefaultMaxBallSpeed) { ball.Speed *= ball.BumpSpeedIncreaseFactor; } } // Ball hitting goals if (CollisionDetector.Overlaps(ball, Goals.GetElement(0))) { Score.Player1++; if (Ball.Count == 1) { ResetBall(); } else { Ball.Remove(ball); } } if (CollisionDetector.Overlaps(ball, Goals.GetElement(1))) { Score.Player2++; if (Ball.Count == 1) { ResetBall(); } else { Ball.Remove(ball); } } // Ball hitting paddles if (CollisionDetector.Overlaps(ball, PaddleTop) || CollisionDetector.Overlaps(ball, PaddleBottom)) { HitSound.Play(0.2f, 0, 0); ball.Direction.invertY(); if (ball.Speed < GameConstants.DefaultMaxBallSpeed) { ball.Speed *= ball.BumpSpeedIncreaseFactor; } if (ball == Ball.GetElement(0)) { SpawnPickups(); } } if (Timer.Equals("0")) { foreach (var pickup in Pickups) { if (!CollisionDetector.Overlaps(ball, pickup)) { continue; } pickup.Activate(this); Pickups.Remove(pickup); } } } //Ball outside of the screen if (!new Rectangle(-GameConstants.WallDefaultSize, -GameConstants.WallDefaultSize, screenBounds.Width + GameConstants.WallDefaultSize, screenBounds.Height + GameConstants.WallDefaultSize) .Intersects(new Rectangle((int)Ball.GetElement(0).X, (int)Ball.GetElement(0).Y, Ball.GetElement(0).Width, Ball.GetElement(0).Height))) { ResetBall(); } base.Update(gameTime); }