Guest User

Room.cs

a guest
Dec 25th, 2014
326
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.58 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using Microsoft.Xna.Framework;
  6. using Microsoft.Xna.Framework.Content;
  7. using Microsoft.Xna.Framework.Graphics;
  8. using Microsoft.Xna.Framework.Input;
  9.  
  10.  
  11. namespace Game
  12. {
  13. class Room
  14. {
  15. public int posX = 160, posY = 100;
  16. public Rectangle rockBox, waterBox;
  17. public const int SIZE = 70;
  18. public Texture2D texture, rock, water, Nool;
  19. public Vector2 bgPos1;
  20. public int currentRoom;
  21. public string tileType;
  22.  
  23.  
  24. public Vector2 rockPos;
  25.  
  26. public struct room
  27. {
  28. public int numEnemies;
  29. public string roomType;
  30. public struct tiles
  31. {
  32. public Vector2 pos;
  33. public Texture2D text;
  34. }
  35. public tiles[] tile;
  36.  
  37. public bool hasLeft, hasUp, hasDown, hasRight;
  38. public int enemyRemaining;
  39. public bool lockedRoom;
  40. public Vector2 playerSpawnUp, playerSpawnLeft, playerSpawnRight, playerSpawnDown;
  41.  
  42. }
  43. public List<Rock> rockList;
  44.  
  45.  
  46. Player p = new Player();
  47.  
  48. public room[] layout = new room[5];
  49. public Room()
  50. {
  51.  
  52. Texture2D temp = p.texture;
  53.  
  54. for (int i = 0; i < layout.Length; i++)
  55. {
  56. layout[i].tile = new room.tiles[70];
  57. }
  58. currentRoom = 0;
  59. texture = null;
  60. bgPos1 = new Vector2(0, 0);
  61. tileType = "null";
  62.  
  63. }
  64.  
  65. public void loadContent(ContentManager Content)
  66. {
  67. texture = Content.Load<Texture2D>("gameback");
  68. rock = Content.Load<Texture2D>("rocktile");
  69. Nool = Content.Load<Texture2D>("null");
  70. water = Content.Load<Texture2D>("watertile");
  71. roomLayouts();
  72. for (int i = 0; i < layout.Length; i++)
  73. {
  74. for (int k = 0; k < layout[0].tile.Length; k++)
  75. {
  76. layout[i].tile[k].text = Nool;
  77. }
  78. }
  79. RoomTiles();
  80. }
  81.  
  82. public void Update(GameTime gameTime)
  83. {
  84. rockBox = new Rectangle((int)posX, (int)posY, rock.Width, rock.Height);
  85. waterBox = new Rectangle((int)posX, (int)posY, rock.Width, rock.Height);
  86. foreach (Rock r in rockList)
  87. {
  88. r.boundingBox = new Rectangle((int)layout[currentRoom].tile[11].pos.X, (int)layout[currentRoom].tile[11].pos.Y, r.texture.Width, r.texture.Height);
  89. }
  90. }
  91.  
  92. public void Draw(SpriteBatch spriteBatch)
  93. {
  94. spriteBatch.Draw(texture, bgPos1, Color.White);
  95. for (int k = 0; k < layout[0].tile.Length; k++)
  96. {
  97. spriteBatch.Draw(layout[currentRoom].tile[k].text, layout[currentRoom].tile[k].pos, Color.White);
  98. }
  99. }
  100.  
  101. public void roomLayouts()
  102. {
  103.  
  104. for(int n = 0; n < layout.Length; n++)
  105. {
  106. /*layout[i].playerSpawnUp.X = 800 - (p.texture.Width / 2);
  107. layout[i].playerSpawnUp.Y = 110;
  108. layout[i].playerSpawnDown.X = 800 - (p.texture.Width / 2);
  109. layout[i].playerSpawnDown.Y = 890;
  110. layout[i].playerSpawnLeft.X = 110;
  111. layout[i].playerSpawnLeft.Y = 500 - (p.texture.Height / 2);
  112. layout[i].playerSpawnRight.X = 1430;
  113. layout[i].playerSpawnRight.Y = 500 - (p.texture.Height / 2);
  114. layout[i].enemyRemaining = 0;
  115. layout[i].hasDown = false;
  116. layout[i].hasUp = false;
  117. layout[i].hasLeft = false;
  118. layout[i].hasRight = false;*/
  119. for (int l = 0; l < 70; l++)
  120. {
  121. layout[n].tile[l].pos.X = posX;
  122. layout[n].tile[l].pos.Y = posY;
  123. posX += 128;
  124. if (posX > 1312)
  125. {
  126. posX = 160;
  127. posY += 115;
  128. }
  129. }
  130. posX = 160;
  131. posY = 100;
  132.  
  133. }
  134. }
  135.  
  136. void RoomTiles()
  137. {
  138. switch(currentRoom)
  139. {
  140. case 0:
  141. {
  142. Rock r = new Rock(rock);
  143. //rocks
  144. layout[currentRoom].tile[11].text = rock;
  145. r.rockPos = new Vector2(layout[currentRoom].tile[11].pos.X, layout[currentRoom].tile[11].pos.Y);
  146. rockList.Add(r);
  147. layout[currentRoom].tile[13].text = rock;
  148. layout[currentRoom].tile[15].text = rock;
  149. layout[currentRoom].tile[17].text = rock;
  150. layout[currentRoom].tile[32].text = rock;
  151. layout[currentRoom].tile[34].text = rock;
  152. layout[currentRoom].tile[36].text = rock;
  153. layout[currentRoom].tile[38].text = rock;
  154. layout[currentRoom].tile[51].text = rock;
  155. layout[currentRoom].tile[53].text = rock;
  156. layout[currentRoom].tile[55].text = rock;
  157. layout[currentRoom].tile[57].text = rock;
  158.  
  159. //water
  160. layout[currentRoom].tile[0].text = water;
  161. layout[currentRoom].tile[9].text = water;
  162. layout[currentRoom].tile[60].text = water;
  163. layout[currentRoom].tile[69].text = water;
  164.  
  165. break;
  166. }
  167. case 1:
  168. {
  169. //rocks
  170. layout[currentRoom].tile[1].text = rock;
  171. layout[currentRoom].tile[8].text = rock;
  172. layout[currentRoom].tile[10].text = rock;
  173. layout[currentRoom].tile[12].text = rock;
  174. layout[currentRoom].tile[17].text = rock;
  175. layout[currentRoom].tile[19].text = rock;
  176. layout[currentRoom].tile[21].text = rock;
  177. layout[currentRoom].tile[23].text = rock;
  178. layout[currentRoom].tile[28].text = rock;
  179.  
  180. //water
  181. //layout[currentRoom].tile[0].text = water;
  182. //layout[currentRoom].tile[9].text = water;
  183. //layout[currentRoom].tile[60].text = water;
  184. //layout[currentRoom].tile[69].text = water;
  185.  
  186. break;
  187. }
  188. case 2:
  189. {
  190. //rocks
  191. layout[currentRoom].tile[11].text = rock;
  192. layout[currentRoom].tile[13].text = rock;
  193. layout[currentRoom].tile[15].text = rock;
  194. layout[currentRoom].tile[17].text = rock;
  195. layout[currentRoom].tile[32].text = rock;
  196. layout[currentRoom].tile[34].text = rock;
  197. layout[currentRoom].tile[36].text = rock;
  198. layout[currentRoom].tile[38].text = rock;
  199. layout[currentRoom].tile[51].text = rock;
  200. layout[currentRoom].tile[53].text = rock;
  201. layout[currentRoom].tile[55].text = rock;
  202. layout[currentRoom].tile[57].text = rock;
  203.  
  204. //water
  205. layout[currentRoom].tile[0].text = water;
  206. layout[currentRoom].tile[9].text = water;
  207. layout[currentRoom].tile[60].text = water;
  208. layout[currentRoom].tile[69].text = water;
  209.  
  210. break;
  211. }
  212. case 3:
  213. {
  214. //rocks
  215. layout[currentRoom].tile[11].text = rock;
  216. layout[currentRoom].tile[13].text = rock;
  217. layout[currentRoom].tile[15].text = rock;
  218. layout[currentRoom].tile[17].text = rock;
  219. layout[currentRoom].tile[32].text = rock;
  220. layout[currentRoom].tile[34].text = rock;
  221. layout[currentRoom].tile[36].text = rock;
  222. layout[currentRoom].tile[38].text = rock;
  223. layout[currentRoom].tile[51].text = rock;
  224. layout[currentRoom].tile[53].text = rock;
  225. layout[currentRoom].tile[55].text = rock;
  226. layout[currentRoom].tile[57].text = rock;
  227.  
  228. //water
  229. layout[currentRoom].tile[0].text = water;
  230. layout[currentRoom].tile[9].text = water;
  231. layout[currentRoom].tile[60].text = water;
  232. layout[currentRoom].tile[69].text = water;
  233.  
  234. break;
  235. }
  236. case 4:
  237. {
  238. //rocks
  239. layout[currentRoom].tile[11].text = rock;
  240. layout[currentRoom].tile[13].text = rock;
  241. layout[currentRoom].tile[15].text = rock;
  242. layout[currentRoom].tile[17].text = rock;
  243. layout[currentRoom].tile[32].text = rock;
  244. layout[currentRoom].tile[34].text = rock;
  245. layout[currentRoom].tile[36].text = rock;
  246. layout[currentRoom].tile[38].text = rock;
  247. layout[currentRoom].tile[51].text = rock;
  248. layout[currentRoom].tile[53].text = rock;
  249. layout[currentRoom].tile[55].text = rock;
  250. layout[currentRoom].tile[57].text = rock;
  251.  
  252. //water
  253. layout[currentRoom].tile[0].text = water;
  254. layout[currentRoom].tile[9].text = water;
  255. layout[currentRoom].tile[60].text = water;
  256. layout[currentRoom].tile[69].text = water;
  257.  
  258. break;
  259. }
  260. }
  261. }
  262. }
  263. }
Advertisement
Add Comment
Please, Sign In to add comment