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_<7pDXX-(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_<7pDXX-(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