From 6505c6ea4ca4e318b2f84a0239ee31c2b89075b8 Mon Sep 17 00:00:00 2001
From: trandit <trandit@mcmaster.ca>
Date: Sun, 13 Nov 2016 12:15:41 -0500
Subject: [PATCH] Dead units no longer counter attack. Added game over button
 and overlay. Button event to be implemented

---
 .../Blaze_Brigade/Blaze_Brigade.csproj        |   1 +
 .../Blaze_Brigade.csproj.Debug.cachefile      |   5 ++--
 .../Blaze_Brigade/BronzeSword.cs              |   2 +-
 src/Blaze-Brigade/Blaze_Brigade/Game.cs       |  26 +++++++++++-------
 src/Blaze-Brigade/Blaze_Brigade/GameState.cs  |   4 +++
 .../Blaze_Brigade/MouseHandler.cs             |  19 ++++++++++---
 .../Blaze_Brigade/Resource1.Designer.cs       |  10 +++++++
 .../Blaze_Brigade/Resource1.resx              |   3 ++
 .../Resources/main_menu_button.png            | Bin 0 -> 3288 bytes
 .../Blaze_BrigadeContent.contentproj          |   7 +++++
 .../Blaze_BrigadeContent/main_menu_button.png | Bin 0 -> 3288 bytes
 11 files changed, 60 insertions(+), 17 deletions(-)
 create mode 100644 src/Blaze-Brigade/Blaze_Brigade/Resources/main_menu_button.png
 create mode 100644 src/Blaze-Brigade/Blaze_BrigadeContent/main_menu_button.png

diff --git a/src/Blaze-Brigade/Blaze_Brigade/Blaze_Brigade.csproj b/src/Blaze-Brigade/Blaze_Brigade/Blaze_Brigade.csproj
index 09218cb..285075e 100644
--- a/src/Blaze-Brigade/Blaze_Brigade/Blaze_Brigade.csproj
+++ b/src/Blaze-Brigade/Blaze_Brigade/Blaze_Brigade.csproj
@@ -122,6 +122,7 @@
     <Content Include="GameThumbnail.png">
       <XnaPlatformSpecific>true</XnaPlatformSpecific>
     </Content>
+    <None Include="Resources\main_menu_button.png" />
     <None Include="Resources\warrior_stats.png" />
     <None Include="Resources\mage_stats.png" />
     <None Include="Resources\2warrior_stats.png" />
diff --git a/src/Blaze-Brigade/Blaze_Brigade/Blaze_Brigade.csproj.Debug.cachefile b/src/Blaze-Brigade/Blaze_Brigade/Blaze_Brigade.csproj.Debug.cachefile
index 22ddb42..c15abd5 100644
--- a/src/Blaze-Brigade/Blaze_Brigade/Blaze_Brigade.csproj.Debug.cachefile
+++ b/src/Blaze-Brigade/Blaze_Brigade/Blaze_Brigade.csproj.Debug.cachefile
@@ -6,10 +6,10 @@ Content\attack.xnb
 Content\items.xnb
 Content\move.xnb
 Content\wait.xnb
-Content\PixelFont.xnb
 Content\warrior_stats.xnb
-Content\PixelFontLarge.xnb
 Content\warrior.xnb
+Content\PixelFont.xnb
+Content\PixelFontLarge.xnb
 Content\instructions1.xnb
 Content\instructions2.xnb
 Content\instructions3.xnb
@@ -32,3 +32,4 @@ Content\warrior_attack.xnb
 Content\attack_confirm.xnb
 Content\confirm_attack.xnb
 Content\PixelFontLargest.xnb
+Content\main_menu_button.xnb
diff --git a/src/Blaze-Brigade/Blaze_Brigade/BronzeSword.cs b/src/Blaze-Brigade/Blaze_Brigade/BronzeSword.cs
index 5d8e739..fd81671 100644
--- a/src/Blaze-Brigade/Blaze_Brigade/BronzeSword.cs
+++ b/src/Blaze-Brigade/Blaze_Brigade/BronzeSword.cs
@@ -27,7 +27,7 @@ namespace Model
         */
         public BronzeSword()
         {
-            modStr = 5;
+            modStr = 50;
             modSkill = 5;
             modInt = 0;
             range = new int[2] { 1, 1 };
diff --git a/src/Blaze-Brigade/Blaze_Brigade/Game.cs b/src/Blaze-Brigade/Blaze_Brigade/Game.cs
index ebe2c86..e206515 100644
--- a/src/Blaze-Brigade/Blaze_Brigade/Game.cs
+++ b/src/Blaze-Brigade/Blaze_Brigade/Game.cs
@@ -48,7 +48,7 @@ namespace Controller
 
         GraphicsDeviceManager graphics;
         SpriteBatch spriteBatch;
-        Texture2D backGround, moveableNode, attackableNode;
+        Texture2D backGround, moveableNode, attackableNode, gameOver;
         private SpriteFont font; // custom font
         private SpriteFont largeFont; // custom font 2
         private SpriteFont largestFont; // custom font 3
@@ -94,6 +94,7 @@ namespace Controller
             backGround = Content.Load<Texture2D>("Game_Map"); // load background
             moveableNode = Content.Load<Texture2D>("moveableNode");
             attackableNode = Content.Load<Texture2D>("attackableNode");
+            gameOver = Content.Load<Texture2D>("main_menu_button");
 
             font = Content.Load<SpriteFont>("PixelFont"); //loads font PixelFont
             largeFont = Content.Load<SpriteFont>("PixelFontLarge"); //loads font PixelFont
@@ -151,8 +152,8 @@ namespace Controller
                     mMenu.Show(); // show main menu
                     if (mMenu.start == true) //if New game is selected
                     {
-                        mMenu.Close(); //close Main Menu screen
-                        tut.Close(); //close How To Play Menu
+                        mMenu.Hide(); //close Main Menu screen
+                        tut.Hide(); //close How To Play Menu
                         Form GameForm = (Form)Form.FromHandle(Window.Handle);
                         GameForm.Opacity = 100; // make screen show
                         currentGameState = GameMenuState.Playing; //set game state to Playing
@@ -222,8 +223,6 @@ namespace Controller
                 case GameMenuState.Playing: // if true.. load new image...
                     backGround = Content.Load<Texture2D>("Game_Map"); // load background
 
-                    Debug.WriteLine(player1.getNumOfUnits());
-
                     
 
                     if (GameFunction.isTurnOver())
@@ -240,8 +239,7 @@ namespace Controller
                         GameFunction.removeDeceasedUnit(graph, player1, unit);
                         if (GameFunction.isGameOver(player1, player2))
                         {
-                            // TODO: game over screen
-                            Debug.WriteLine("Game is over.");
+                            GameState.gameOver = true;
                             break;
                         }
                     }
@@ -252,8 +250,7 @@ namespace Controller
                         GameFunction.removeDeceasedUnit(graph, player2, unit);
                         if (GameFunction.isGameOver(player1, player2))
                         {
-                            // TODO: game over screen
-                            Debug.WriteLine("Game is over.");
+                            GameState.gameOver = true;
                             break;
                         }
                     }
@@ -464,9 +461,18 @@ namespace Controller
 
                     }
                     #endregion
-     
+                    if (GameState.gameOver)
+                    {
+                        Debug.WriteLine("game over");
+                        Vector2 gameOverLocation = new Vector2(-370, -300);
+                        spriteBatch.DrawString(largestFont,"Game Over", new Vector2(350, 200), Color.DarkRed, 0, Vector2.Zero, 1f, SpriteEffects.None, 0f); //draws Game Over Text
+                        spriteBatch.Draw(gameOver, Vector2.Zero, null, Color.White, 0, gameOverLocation, 1f, SpriteEffects.None, 0f);
+                    }
+
                     spriteBatch.Draw(backGround, Vector2.Zero, null, Color.White, 0, Vector2.Zero, 1f, SpriteEffects.None, 1);
 
+                    
+
                     break;
             }
 
diff --git a/src/Blaze-Brigade/Blaze_Brigade/GameState.cs b/src/Blaze-Brigade/Blaze_Brigade/GameState.cs
index 64c68a4..028abe1 100644
--- a/src/Blaze-Brigade/Blaze_Brigade/GameState.cs
+++ b/src/Blaze-Brigade/Blaze_Brigade/GameState.cs
@@ -49,6 +49,10 @@ namespace Model
         */
         public static bool isAnimating { get; set; } 
         /*
+        Sets and gets whether game is over
+        */
+        public static bool gameOver { get; set; }
+        /*
         Sets and gets movable nodes that can be retrieved without calling path finding
         */
         public static LinkedList<Node> moveableNodes { get; set; }  
diff --git a/src/Blaze-Brigade/Blaze_Brigade/MouseHandler.cs b/src/Blaze-Brigade/Blaze_Brigade/MouseHandler.cs
index b63bfd2..04ce9f3 100644
--- a/src/Blaze-Brigade/Blaze_Brigade/MouseHandler.cs
+++ b/src/Blaze-Brigade/Blaze_Brigade/MouseHandler.cs
@@ -64,6 +64,14 @@ namespace Controller
                 Vector2 mouseClickCoordinates = new Vector2(currentMouseState.X, currentMouseState.Y);   // mouse click coordinates
                 Node nodeClickedOn = graph.getNode(mouseClickCoordinates);
 
+                if (GameState.gameOver)
+                {
+                    if ((mouseClickCoordinates.X > 370 & mouseClickCoordinates.X < 556) & (mouseClickCoordinates.Y>300&mouseClickCoordinates.Y<396)){
+                        
+
+                    }
+                }
+
                 #region Check if a unit is clicked
 
                 // if player clicks after unit is already selected ...
@@ -391,11 +399,14 @@ namespace Controller
 
                     attackAnimation(attackDirection, unit);
                     int damageDealt = DamageCalculations.finalDamage(unit, unit2, false);
-                    Thread.Sleep(750);
-                    attackAnimation(counterAttackDirection, unit2);
-                    int damageTaken = DamageCalculations.finalDamage(unit2, unit, false);
                     unit2.Hp = unit2.Hp - damageDealt;
-                    unit.Hp = unit.Hp - damageTaken;
+                    if (unit2.Alive) //if unit 2 is still alive, perform a counter attack
+                    {
+                        Thread.Sleep(750);
+                        attackAnimation(counterAttackDirection, unit2);
+                        int damageTaken = DamageCalculations.finalDamage(unit2, unit, false);
+                        unit.Hp = unit.Hp - damageTaken;
+                    }
                     GameState.attackConfirmOpen = false;
                     setSelectedUnit(null, false);
                     turnState = TurnState.Wait;
diff --git a/src/Blaze-Brigade/Blaze_Brigade/Resource1.Designer.cs b/src/Blaze-Brigade/Blaze_Brigade/Resource1.Designer.cs
index 1b5b60f..b9f0fd3 100644
--- a/src/Blaze-Brigade/Blaze_Brigade/Resource1.Designer.cs
+++ b/src/Blaze-Brigade/Blaze_Brigade/Resource1.Designer.cs
@@ -300,6 +300,16 @@ namespace Blaze_Brigade {
             }
         }
         
+        /// <summary>
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
+        /// </summary>
+        internal static System.Drawing.Bitmap main_menu_button {
+            get {
+                object obj = ResourceManager.GetObject("main_menu_button", resourceCulture);
+                return ((System.Drawing.Bitmap)(obj));
+            }
+        }
+        
         /// <summary>
         ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
diff --git a/src/Blaze-Brigade/Blaze_Brigade/Resource1.resx b/src/Blaze-Brigade/Blaze_Brigade/Resource1.resx
index ff76eb1..3915e92 100644
--- a/src/Blaze-Brigade/Blaze_Brigade/Resource1.resx
+++ b/src/Blaze-Brigade/Blaze_Brigade/Resource1.resx
@@ -211,4 +211,7 @@
   <data name="_2warrior_stats" type="System.Resources.ResXFileRef, System.Windows.Forms">
     <value>Resources\2warrior_stats.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
   </data>
+  <data name="main_menu_button" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>Resources\main_menu_button.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  </data>
 </root>
\ No newline at end of file
diff --git a/src/Blaze-Brigade/Blaze_Brigade/Resources/main_menu_button.png b/src/Blaze-Brigade/Blaze_Brigade/Resources/main_menu_button.png
new file mode 100644
index 0000000000000000000000000000000000000000..e86011d4f28cf8b4285a8d291f24f06e1024431f
GIT binary patch
literal 3288
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

literal 0
HcmV?d00001

diff --git a/src/Blaze-Brigade/Blaze_BrigadeContent/Blaze_BrigadeContent.contentproj b/src/Blaze-Brigade/Blaze_BrigadeContent/Blaze_BrigadeContent.contentproj
index 8a09698..cc639a3 100644
--- a/src/Blaze-Brigade/Blaze_BrigadeContent/Blaze_BrigadeContent.contentproj
+++ b/src/Blaze-Brigade/Blaze_BrigadeContent/Blaze_BrigadeContent.contentproj
@@ -268,6 +268,13 @@
       <Processor>FontDescriptionProcessor</Processor>
     </Compile>
   </ItemGroup>
+  <ItemGroup>
+    <Compile Include="main_menu_button.png">
+      <Name>main_menu_button</Name>
+      <Importer>TextureImporter</Importer>
+      <Processor>TextureProcessor</Processor>
+    </Compile>
+  </ItemGroup>
   <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" />
   <!--  To modify your build process, add your task inside one of the targets below and uncomment it. 
        Other similar extension points exist, see Microsoft.Common.targets.
diff --git a/src/Blaze-Brigade/Blaze_BrigadeContent/main_menu_button.png b/src/Blaze-Brigade/Blaze_BrigadeContent/main_menu_button.png
new file mode 100644
index 0000000000000000000000000000000000000000..e86011d4f28cf8b4285a8d291f24f06e1024431f
GIT binary patch
literal 3288
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

literal 0
HcmV?d00001

-- 
GitLab