//Elements graphiques nécessaires au mode pause initialisés public Pause(Pong game) { this.game = game; startSprites.Add(new SpriteText(new Vector2(200,160), Color.White, Conf.PAUSE_NAME)); startSprites.Add(new SpriteText(new Vector2(150, Conf.WINDOW_HEIGHT - 60), Color.White, Conf.PAUSE_INSTRUCTIONS)); }
/// <summary> /// The main entry point for the application. /// </summary> static void Main(string[] args) { using (Pong game = new Pong()) { game.Run(); } }
public Ball(Pong pong) : base(new Vector2(pong.Dimensions.X / 2 - Ball.Radius/2, pong.Dimensions.Y / 2 - Ball.Radius/2 ), Ball.Radius, Ball.Radius) { this.IsInWall = false; this.Acceleration = .2f; this.Pong = pong; this.ResetBall(); this.setHitBox(); }
//Elements graphiques nécessaires au mode WIN initialisés public Win(Pong game, Conf.TeamSide teamSide) { this.game = game; this.teamWin = teamSide; String name = "Right"; if (teamSide == Conf.TeamSide.LEFT) { name = "Left"; } name = name + " team wins !"; winSprites.Add(new SpriteText(new Vector2(Conf.WINDOW_WIDTH/2 - 160, 160), Color.White, name)); winSprites.Add(new SpriteText(new Vector2(200, Conf.WINDOW_HEIGHT - 100), Color.White, "Press R to replay or M to menu")); }
//Définition des éléments nécessaire à la création graphique du menu public Menu(Pong game) { this.game = game; buttons = new List<Button>(); leftChoices = new List<Button>(); rightChoices = new List<Button>(); menuSprites = new List<Sprite>(); // Position des boutons en fonction de la taille de la fenêtre int leftButtonsPositionX = (Conf.WINDOW_WIDTH/2 - Conf.BUTTON_WIDTH)/2; int rightButtonsPositionX = (Conf.WINDOW_WIDTH / 2) + leftButtonsPositionX; Vector2 leftButtonsPosition = new Vector2(leftButtonsPositionX, 200); // Création des boutons et ajout dans les listes adaptées buttons.Add(new Button(leftButtonsPosition, "1 player", 1, Conf.InteligenceType.HUMAN)); leftChoices.Add(buttons.Last()); buttons.Add(new Button(new Vector2(leftButtonsPositionX, 300), "2 players", 2, Conf.InteligenceType.HUMAN)); leftChoices.Add(buttons.Last()); buttons.Add(new Button(new Vector2(leftButtonsPositionX, 400), "AI", 1, Conf.InteligenceType.IA)); leftChoices.Add(buttons.Last()); buttons.Add(new Button(new Vector2(rightButtonsPositionX, 200), "1 player", 1, Conf.InteligenceType.HUMAN)); rightChoices.Add(buttons.Last()); buttons.Add(new Button(new Vector2(rightButtonsPositionX, 300), "2 players", 2, Conf.InteligenceType.HUMAN)); rightChoices.Add(buttons.Last()); buttons.Add(new Button(new Vector2(rightButtonsPositionX, 400), "AI", 1, Conf.InteligenceType.IA)); rightChoices.Add(buttons.Last()); buttons.Add(new Button(new Vector2(375, 500), "GO !")); // Ajout des boutons dans la liste des sprites à dessier foreach (Button button in buttons) { menuSprites.Add(button); menuSprites.Add(button.labelSprite); } title = new SpriteTexture2D(new Vector2(350, 20), 300, 75); SpriteText leftTeamLabel = new SpriteText(new Vector2(145, 110), Color.White, "Left Side"); SpriteText rightTeamLabel = new SpriteText(new Vector2(640, 110), Color.White, "Right Side"); menuSprites.Add(title); menuSprites.Add(leftTeamLabel); menuSprites.Add(rightTeamLabel); }
//Initialisation d'une équipe public Team(Conf.TeamSide side,int nbPlayer, Conf.InteligenceType type, Pong pong) { this.Players = new List<Player>(); if (side == Conf.TeamSide.LEFT) { this.Score = new Score(new Vector2(Conf.TEAM_LEFT_SCORE_POSITION_X, Conf.TEAM_SCORE_POSITION_Y)); } else { this.Score = new Score(new Vector2(Conf.TEAM_RIGHT_SCORE_POSITION_X, Conf.TEAM_SCORE_POSITION_Y)); } this.Pong = pong; this.Side = side; this.Players.Add(new Player(this, Conf.PlayerPosition.BACK, type)); if (nbPlayer == 2) { this.Players.Add(new Player(this, Conf.PlayerPosition.FRONT, type)); } }