From 83bc591435f598a4fc90dc0edad07f0b43cfedea Mon Sep 17 00:00:00 2001
From: Susan Yuen <susan_loves_cheese@hotmail.com>
Date: Tue, 15 Nov 2016 01:46:30 -0500
Subject: [PATCH] Changed how nodes are set as obstacles to use obstacle map
 and colours. No longer hardcoded.

---
 src/Blaze-Brigade/Blaze_Brigade/Game.cs       | 170 ++----------------
 .../Resources/map1_obstacles.png              | Bin 0 -> 8567 bytes
 .../Blaze_BrigadeContent/map1_obstacles.png   | Bin 0 -> 8567 bytes
 3 files changed, 18 insertions(+), 152 deletions(-)
 create mode 100644 src/Blaze-Brigade/Blaze_Brigade/Resources/map1_obstacles.png
 create mode 100644 src/Blaze-Brigade/Blaze_BrigadeContent/map1_obstacles.png

diff --git a/src/Blaze-Brigade/Blaze_Brigade/Game.cs b/src/Blaze-Brigade/Blaze_Brigade/Game.cs
index ef19d68..ac77395 100644
--- a/src/Blaze-Brigade/Blaze_Brigade/Game.cs
+++ b/src/Blaze-Brigade/Blaze_Brigade/Game.cs
@@ -586,7 +586,7 @@ namespace Controller
                     }
                 }
 
-            #endregion
+                #endregion
             }
 
             #region Game Over
@@ -610,7 +610,8 @@ namespace Controller
                 if (GameState.currentPlayer == player1)
                 {
                     spriteBatch.Draw(player1Transition, Vector2.Zero, null, Color.White, 0, Vector2.Zero, 1f, SpriteEffects.None, 0.7f); //draw turn transition 
-                }else if(GameState.currentPlayer == player2)
+                }
+                else if (GameState.currentPlayer == player2)
                 {
                     spriteBatch.Draw(player2Transition, Vector2.Zero, null, Color.White, 0, Vector2.Zero, 1f, SpriteEffects.None, 0.7f); //draw turn transition 
                 }
@@ -733,158 +734,23 @@ namespace Controller
         // manually sets obstacle nodes for graph
         private void setObstacles(Graph graph)
         {
-            for (int y = 5; y <= 14; y++)
-            {
-                graph.getNode(2, y).isObstacle = (true);
-            }
-            graph.getNode(3, 5).isObstacle = (true);
-            graph.getNode(3, 13).isObstacle = (true);
-            graph.getNode(4, 3).isObstacle = (true);
-            graph.getNode(4, 4).isObstacle = (true);
-            graph.getNode(4, 13).isObstacle = (true);
-            graph.getNode(4, 14).isObstacle = (true);
-            graph.getNode(5, 2).isObstacle = (true);
-            graph.getNode(5, 15).isObstacle = (true);
-            graph.getNode(6, 2).isObstacle = (true);
-            graph.getNode(6, 14).isObstacle = (true);
-            graph.getNode(7, 2).isObstacle = (true);
-            graph.getNode(7, 3).isObstacle = (true);
-            graph.getNode(7, 4).isObstacle = (true);
-            graph.getNode(7, 14).isObstacle = (true);
-            graph.getNode(8, 4).isObstacle = (true);
-            for (int y = 14; y <= 17; y++)
-            {
-                graph.getNode(8, y).isObstacle = (true);
-            }
-            graph.getNode(9, 4).isObstacle = (true);
-            for (int y = 17; y <= 20; y++)
-            {
-                graph.getNode(9, y).isObstacle = (true);
-            }
-            graph.getNode(10, 4).isObstacle = (true);
-            graph.getNode(10, 20).isObstacle = (true);
-            graph.getNode(10, 21).isObstacle = (true);
-            graph.getNode(10, 22).isObstacle = (true);
-            graph.getNode(11, 4).isObstacle = (true);
-            graph.getNode(11, 14).isObstacle = (true);
-            graph.getNode(11, 22).isObstacle = (true);
-            graph.getNode(12, 3).isObstacle = (true);
-            for (int y = 22; y <= 25; y++)
-            {
-                graph.getNode(12, y).isObstacle = (true);
-            }
-            graph.getNode(13, 4).isObstacle = (true);
-            graph.getNode(12, 25).isObstacle = (true);
-            graph.getNode(14, 4).isObstacle = (true);
-            graph.getNode(14, 25).isObstacle = (true);
-            graph.getNode(15, 4).isObstacle = (true);
-            graph.getNode(15, 25).isObstacle = (true);
-            graph.getNode(15, 26).isObstacle = (true);
-            graph.getNode(15, 27).isObstacle = (true);
-            graph.getNode(16, 3).isObstacle = (true);
-            graph.getNode(16, 27).isObstacle = (true);
-            graph.getNode(17, 2).isObstacle = (true);
-            graph.getNode(17, 3).isObstacle = (true);
-            graph.getNode(17, 27).isObstacle = (true);
-            graph.getNode(18, 1).isObstacle = (true);
-            graph.getNode(18, 27).isObstacle = (true);
-            graph.getNode(19, 1).isObstacle = (true);
-            graph.getNode(19, 27).isObstacle = (true);
-            graph.getNode(20, 2).isObstacle = (true);
-            for (int y = 24; y <= 27; y++)
-            {
-                graph.getNode(20, y).isObstacle = (true);
-            }
-            graph.getNode(21, 2).isObstacle = (true);
-            graph.getNode(21, 21).isObstacle = (true);
-            graph.getNode(21, 22).isObstacle = (true);
-            graph.getNode(21, 23).isObstacle = (true);
-            graph.getNode(22, 1).isObstacle = (true);
-            graph.getNode(22, 2).isObstacle = (true);
-            graph.getNode(22, 20).isObstacle = (true);
-            graph.getNode(23, 0).isObstacle = (true);
-            graph.getNode(23, 20).isObstacle = (true);
-            graph.getNode(24, 0).isObstacle = (true);
-            graph.getNode(24, 20).isObstacle = (true);
-            graph.getNode(25, 1).isObstacle = (true);
-            graph.getNode(25, 20).isObstacle = (true);
-            graph.getNode(26, 1).isObstacle = (true);
-            graph.getNode(26, 21).isObstacle = (true);
-            graph.getNode(27, 1).isObstacle = (true);
-            graph.getNode(27, 22).isObstacle = (true);
-            graph.getNode(28, 0).isObstacle = (true);
-            for (int y = 22; y <= 27; y++)
-            {
-                graph.getNode(28, y).isObstacle = (true);
-            }
-            graph.getNode(29, 1).isObstacle = (true);
-            graph.getNode(29, 2).isObstacle = (true);
-            graph.getNode(29, 3).isObstacle = (true);
-            graph.getNode(29, 27).isObstacle = (true);
-            graph.getNode(30, 3).isObstacle = (true);
-            graph.getNode(30, 27).isObstacle = (true);
-            graph.getNode(31, 2).isObstacle = (true);
-            graph.getNode(31, 3).isObstacle = (true);
-            graph.getNode(31, 27).isObstacle = (true);
-            graph.getNode(32, 27).isObstacle = (true);
-            graph.getNode(33, 2).isObstacle = (true);
-            graph.getNode(33, 3).isObstacle = (true);
-            graph.getNode(33, 26).isObstacle = (true);
-            graph.getNode(34, 3).isObstacle = (true);
-            graph.getNode(34, 25).isObstacle = (true);
-            graph.getNode(35, 3).isObstacle = (true);
-            graph.getNode(35, 25).isObstacle = (true);
-            graph.getNode(36, 2).isObstacle = (true);
-            graph.getNode(36, 25).isObstacle = (true);
-            graph.getNode(37, 2).isObstacle = (true);
-            graph.getNode(37, 25).isObstacle = (true);
-            graph.getNode(38, 2).isObstacle = (true);
-            for (int y = 9; y <= 14; y++)
-            {
-                graph.getNode(38, y).isObstacle = (true);
-            }
-            graph.getNode(38, 26).isObstacle = (true);
-            graph.getNode(39, 2).isObstacle = (true);
-            graph.getNode(39, 8).isObstacle = (true);
-            graph.getNode(39, 14).isObstacle = (true);
-            graph.getNode(40, 3).isObstacle = (true);
-            graph.getNode(40, 7).isObstacle = (true);
-            graph.getNode(40, 14).isObstacle = (true);
-            graph.getNode(40, 26).isObstacle = (true);
-            graph.getNode(41, 3).isObstacle = (true);
-            graph.getNode(41, 7).isObstacle = (true);
-            for (int y = 14; y <= 17; y++)
-            {
-                graph.getNode(41, y).isObstacle = (true);
-            }
-            graph.getNode(41, 27).isObstacle = (true);
-            graph.getNode(42, 4).isObstacle = (true);
-            graph.getNode(42, 7).isObstacle = (true);
-            graph.getNode(42, 17).isObstacle = (true);
-            graph.getNode(42, 27).isObstacle = (true);
-            graph.getNode(43, 4).isObstacle = (true);
-            graph.getNode(43, 7).isObstacle = (true);
-            graph.getNode(43, 17).isObstacle = (true);
-            graph.getNode(43, 27).isObstacle = (true);
-            graph.getNode(44, 4).isObstacle = (true);
-            graph.getNode(44, 7).isObstacle = (true);
-            for (int y = 17; y <= 23; y++)
+            Texture2D obstacleMap = Content.Load<Texture2D>("map1_obstacles");  // get the obstacle map
+            Color[] pixelColor = new Color[1];                                  // holds the colour of the node
+            Rectangle sourceRectangle;
+
+            // set node as obstacle if the node on the obstacle map is black
+            for (int x = 0; x < obstacleMap.Width; x += 32)
             {
-                graph.getNode(44, y).isObstacle = (true);
+                for (int y = 0; y < obstacleMap.Height; y += 32)
+                {
+                    sourceRectangle = new Rectangle(x, y, 1, 1);
+                    obstacleMap.GetData<Color>(0, sourceRectangle, pixelColor, 0, 1);   // get colour of the node (on obstacle map)
+                    if (pixelColor[0] == Color.Black)               // if black, set node as an obstacle
+                    {
+                        graph.getNode(x / 32, y / 32).isObstacle = true;
+                    }
+                }
             }
-            graph.getNode(44, 27).isObstacle = (true);
-            graph.getNode(45, 4).isObstacle = (true);
-            graph.getNode(45, 5).isObstacle = (true);
-            graph.getNode(45, 24).isObstacle = (true);
-            graph.getNode(45, 25).isObstacle = (true);
-            graph.getNode(45, 27).isObstacle = (true);
-            graph.getNode(46, 5).isObstacle = (true);
-            graph.getNode(46, 7).isObstacle = (true);
-            graph.getNode(46, 25).isObstacle = (true);
-            graph.getNode(46, 26).isObstacle = (true);
-            graph.getNode(47, 5).isObstacle = (true);
-            graph.getNode(47, 6).isObstacle = (true);
-            graph.getNode(47, 7).isObstacle = (true);
         }
     }
 }
\ No newline at end of file
diff --git a/src/Blaze-Brigade/Blaze_Brigade/Resources/map1_obstacles.png b/src/Blaze-Brigade/Blaze_Brigade/Resources/map1_obstacles.png
new file mode 100644
index 0000000000000000000000000000000000000000..4504edde49f71e107f98fc6893767e25b0346488
GIT binary patch
literal 8567
zcmeI2Ur19?9LIlm8*cgE{wZd<FncI9!Iy>&H7qs4qN0!%8}w9R3ng^R^eR>anuSJG
zw)GGM;f6udB55};StMIeGfJA6vEr&XSvps9w{y<e9_+Oq;-10fcQ}_loX`FJ{oZ@+
zP+fIOVs;_`q}0|_9R^6K0FZO41hmu8HT)i#HRo&Un*dTr@x|QQk-7;$4YgI3M_UGF
zKXx?mHR~0X^Bti_<JQqP@*l?v9xz+)3}p+uJpnEHJNj)AZOZ5>>{FzZmAV=jvS^gn
z#-~MeYR7neTGlVGy!crpY!Vq*E-kJgFxVVMK^CqINp1`@Babmm4Jx}Y@r-V6Nysa-
zIomDez*!p^86h*HQWINo9VEFig1`t-K%o1!<lhOCu7G&1tsU$$GD$m6Ja#mmKr5f2
zn?saBkta_hkx<xZ^R)x8&S~+Wqd!U7DJYh3{U|}(s!J|-<v5_&LT7pDXX-(ig)8bo
zx6AlwjS6@9d{=cWz6GF>sffLi&k`%O4Z%!~{r!l~3|uFTB}_x@KbeLt>o96zY9FoU
z1O}<*Xw^1*A`Pa5=hE!>V(C_*4KF=Djs>ZXJAdQpqmjvC)EZ_7qch|?+N5BQ0+(q*
zZa|sUF<DP)58S043IU_>n~=ZA9Ns9GHn-5rb<sWrv!Q8dmFR@~Hv3YKUhLNAVL;0n
znQCl7s`5fiU2(t2B^(~!Uu54RF=l9*j)oYBM1{Gyw(^HAiK-A>dAYz_7kK&PnU$cm
z$fHLJ=f6w1kzu29+gcfut~gjC_6Pe~a=zO3bBwm`^hWf2{v$b=NWu0duiWwBXXxVC
zgc8`ZyQs>EqihDLoREp+ms1|3HY6{Lh)pkLgVBK01@KsfitGQ_SD<yCj0aZJ*hFyU
zRrfkIVMVKWE^xzcGxx=U-aE0qCUN9mP|qf5Xqq9RL|g~B4Q?|W4}=@EJafP%IDO*l
z0jgDDK#dlk(Cp18u>_Gm8daEt)RRg)@v1JDb@Tu*oAI{*YT_i6&8nBu?!1EJqMKRU
RAETxipmuLvm3@z)^EYylt26)r

literal 0
HcmV?d00001

diff --git a/src/Blaze-Brigade/Blaze_BrigadeContent/map1_obstacles.png b/src/Blaze-Brigade/Blaze_BrigadeContent/map1_obstacles.png
new file mode 100644
index 0000000000000000000000000000000000000000..4504edde49f71e107f98fc6893767e25b0346488
GIT binary patch
literal 8567
zcmeI2Ur19?9LIlm8*cgE{wZd<FncI9!Iy>&H7qs4qN0!%8}w9R3ng^R^eR>anuSJG
zw)GGM;f6udB55};StMIeGfJA6vEr&XSvps9w{y<e9_+Oq;-10fcQ}_loX`FJ{oZ@+
zP+fIOVs;_`q}0|_9R^6K0FZO41hmu8HT)i#HRo&Un*dTr@x|QQk-7;$4YgI3M_UGF
zKXx?mHR~0X^Bti_<JQqP@*l?v9xz+)3}p+uJpnEHJNj)AZOZ5>>{FzZmAV=jvS^gn
z#-~MeYR7neTGlVGy!crpY!Vq*E-kJgFxVVMK^CqINp1`@Babmm4Jx}Y@r-V6Nysa-
zIomDez*!p^86h*HQWINo9VEFig1`t-K%o1!<lhOCu7G&1tsU$$GD$m6Ja#mmKr5f2
zn?saBkta_hkx<xZ^R)x8&S~+Wqd!U7DJYh3{U|}(s!J|-<v5_&LT7pDXX-(ig)8bo
zx6AlwjS6@9d{=cWz6GF>sffLi&k`%O4Z%!~{r!l~3|uFTB}_x@KbeLt>o96zY9FoU
z1O}<*Xw^1*A`Pa5=hE!>V(C_*4KF=Djs>ZXJAdQpqmjvC)EZ_7qch|?+N5BQ0+(q*
zZa|sUF<DP)58S043IU_>n~=ZA9Ns9GHn-5rb<sWrv!Q8dmFR@~Hv3YKUhLNAVL;0n
znQCl7s`5fiU2(t2B^(~!Uu54RF=l9*j)oYBM1{Gyw(^HAiK-A>dAYz_7kK&PnU$cm
z$fHLJ=f6w1kzu29+gcfut~gjC_6Pe~a=zO3bBwm`^hWf2{v$b=NWu0duiWwBXXxVC
zgc8`ZyQs>EqihDLoREp+ms1|3HY6{Lh)pkLgVBK01@KsfitGQ_SD<yCj0aZJ*hFyU
zRrfkIVMVKWE^xzcGxx=U-aE0qCUN9mP|qf5Xqq9RL|g~B4Q?|W4}=@EJafP%IDO*l
z0jgDDK#dlk(Cp18u>_Gm8daEt)RRg)@v1JDb@Tu*oAI{*YT_i6&8nBu?!1EJqMKRU
RAETxipmuLvm3@z)^EYylt26)r

literal 0
HcmV?d00001

-- 
GitLab