/// <summary> /// Draw the end of the game screen, shows the win/lose state /// </summary> public static void DrawEndOfGame() { Rectangle toDraw = default(Rectangle); string whatShouldIPrint = ""; UtilityFunctions.DrawField(GameController.ComputerPlayer.PlayerGrid, GameController.ComputerPlayer, true); UtilityFunctions.DrawSmallField(GameController.HumanPlayer.PlayerGrid, GameController.HumanPlayer); toDraw.X = 0; toDraw.Y = 250; toDraw.Width = SwinGame.ScreenWidth(); toDraw.Height = SwinGame.ScreenHeight(); if (GameController.HumanPlayer.IsDestroyed) { whatShouldIPrint = "YOU LOSE!"; } else { whatShouldIPrint = "-- WINNER --"; } SwinGame.DrawText(whatShouldIPrint, Color.White, Color.Transparent, GameResources.GameFont("Square80"), FontAlignment.AlignCenter, toDraw); }
/// <summary> /// Draw the end of the game screen, shows the win/lose state /// </summary> /// <remarks> /// Isuru: Updated to new swingame call /// </remarks> public static void DrawEndOfGame() { UtilityFunctions.DrawField(GameController.ComputerPlayer.PlayerGrid, GameController.ComputerPlayer, true); UtilityFunctions.DrawSmallField(GameController.HumanPlayer.PlayerGrid, GameController.HumanPlayer); Rectangle toDraw = new Rectangle(); toDraw.X = 0; toDraw.Y = 250; toDraw.Width = SwinGame.ScreenWidth(); toDraw.Height = SwinGame.ScreenHeight(); //String whatShouldIPrint = "I have long variable names"; if (GameController.HumanPlayer.IsDestroyed) { SwinGame.DrawBitmap(GameResources.GameImage("YouLose"), 350, 120); //whatShouldIPrint = "YOU LOSE!"; } else { //whatShouldIPrint = "-- WINNER --"; SwinGame.DrawBitmap(GameResources.GameImage("YouWin"), 350, 120); } //SwinGame.DrawText(whatShouldIPrint, Color.White, Color.Transparent, GameResources.GameFont("ArialLarge"), FontAlignment.AlignCenter, toDraw); }
/// <summary> /// Draws the game during the attack phase. /// </summary>s public static void DrawDiscovery() { const int SCORES_LEFT = 172; const int SHOTS_TOP = 157; const int HITS_TOP = 206; const int SPLASH_TOP = 256; const int AI_LEFT = 50; const int AI_TOP = 350; if (UtilityFunctions.ShowShipsCheat) { UtilityFunctions.DrawField(GameController.HumanPlayer.EnemyGrid, GameController.ComputerPlayer, true); } else { UtilityFunctions.DrawField(GameController.HumanPlayer.EnemyGrid, GameController.ComputerPlayer, false); } UtilityFunctions.DrawSmallField(GameController.HumanPlayer.PlayerGrid, GameController.HumanPlayer); UtilityFunctions.DrawMessage(); SwinGame.DrawText(GameController.HumanPlayer.Shots.ToString(), Color.White, GameResources.GameFont("Menu"), SCORES_LEFT, SHOTS_TOP); SwinGame.DrawText(GameController.HumanPlayer.Hits.ToString(), Color.White, GameResources.GameFont("Menu"), SCORES_LEFT, HITS_TOP); SwinGame.DrawText(GameController.HumanPlayer.Missed.ToString(), Color.White, GameResources.GameFont("Menu"), SCORES_LEFT, SPLASH_TOP); SwinGame.DrawText(GameController.AiGameSetting(), Color.White, GameResources.GameFont("Menu"), AI_LEFT, AI_TOP); //Draws Ships foreach (ShipName sn in Enum.GetValues(typeof(ShipName))) { if (object.ReferenceEquals(GameController.ComputerPlayer.Ship(sn), null)) { } else { if (GameController.ComputerPlayer.Ship(sn).IsDestroyed) { int i = 0; i = (int)sn - 1; int rowTop = 122 + (2 + 40) * GameController.ComputerPlayer.Ship(sn).Row + 3; int colLeft = 349 + (2 + 40) * GameController.ComputerPlayer.Ship(sn).Column + 3; if (i >= 0) { string shipName = null; int shipHeight = 0; int shipWidth = 0; int cellHeight = 40; int SHIP_GAP = 3; int cellWidth = 40; int cellGap = 2; int j = (int)GameController.ComputerPlayer.Ship(sn).CurrentShipColour; if (GameController.ComputerPlayer.Ship(sn).Direction == Direction.LeftRight) { shipName = "ShipLR" + GameController.ComputerPlayer.Ship(sn).Size + "a" + j; shipHeight = cellHeight - (SHIP_GAP * 2); shipWidth = (cellWidth + cellGap) * GameController.ComputerPlayer.Ship(sn).Size - (SHIP_GAP * 2) - cellGap; } else { //Up down shipName = "ShipUD" + GameController.ComputerPlayer.Ship(sn).Size + "a" + j; shipHeight = (cellHeight + cellGap) * GameController.ComputerPlayer.Ship(sn).Size - (SHIP_GAP * 2) - cellGap; shipWidth = cellWidth - (SHIP_GAP * 2); } //FIX HERE!!! SwinGame.DrawBitmap(GameResources.GameImage(shipName), colLeft, rowTop); // SwinGame.FillRectangle(Color.LightBlue, SHIPS_LEFT, SHIPS_TOP + i * SHIPS_HEIGHT, SHIPS_WIDTH, SHIPS_HEIGHT) //Else // SwinGame.FillRectangle(Color.Gray, SHIPS_LEFT, SHIPS_TOP + i * SHIPS_HEIGHT, SHIPS_WIDTH, SHIPS_HEIGHT) } //SwinGame.DrawRectangle(Color.Black, SHIPS_LEFT, SHIPS_TOP + i * SHIPS_HEIGHT, SHIPS_WIDTH, SHIPS_HEIGHT) //SwinGame.DrawText(sn.ToString(), Color.Black, GameFont("Courier"), SHIPS_LEFT + TEXT_OFFSET, SHIPS_TOP + i * SHIPS_HEIGHT) } } } }