Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using Microsoft.Xna.Framework;
- using Microsoft.Xna.Framework.Content;
- using Microsoft.Xna.Framework.Graphics;
- using Microsoft.Xna.Framework.Input;
- namespace Game
- {
- class Room
- {
- public int posX = 160, posY = 100;
- public Rectangle rockBox, waterBox;
- public const int SIZE = 70;
- public Texture2D texture, rock, water, Nool;
- public Vector2 bgPos1;
- public int currentRoom;
- public string tileType;
- public Vector2 rockPos;
- public struct room
- {
- public int numEnemies;
- public string roomType;
- public struct tiles
- {
- public Vector2 pos;
- public Texture2D text;
- }
- public tiles[] tile;
- public bool hasLeft, hasUp, hasDown, hasRight;
- public int enemyRemaining;
- public bool lockedRoom;
- public Vector2 playerSpawnUp, playerSpawnLeft, playerSpawnRight, playerSpawnDown;
- }
- public List<Rock> rockList;
- Player p = new Player();
- public room[] layout = new room[5];
- public Room()
- {
- Texture2D temp = p.texture;
- for (int i = 0; i < layout.Length; i++)
- {
- layout[i].tile = new room.tiles[70];
- }
- currentRoom = 0;
- texture = null;
- bgPos1 = new Vector2(0, 0);
- tileType = "null";
- }
- public void loadContent(ContentManager Content)
- {
- texture = Content.Load<Texture2D>("gameback");
- rock = Content.Load<Texture2D>("rocktile");
- Nool = Content.Load<Texture2D>("null");
- water = Content.Load<Texture2D>("watertile");
- roomLayouts();
- for (int i = 0; i < layout.Length; i++)
- {
- for (int k = 0; k < layout[0].tile.Length; k++)
- {
- layout[i].tile[k].text = Nool;
- }
- }
- RoomTiles();
- }
- public void Update(GameTime gameTime)
- {
- rockBox = new Rectangle((int)posX, (int)posY, rock.Width, rock.Height);
- waterBox = new Rectangle((int)posX, (int)posY, rock.Width, rock.Height);
- foreach (Rock r in rockList)
- {
- r.boundingBox = new Rectangle((int)layout[currentRoom].tile[11].pos.X, (int)layout[currentRoom].tile[11].pos.Y, r.texture.Width, r.texture.Height);
- }
- }
- public void Draw(SpriteBatch spriteBatch)
- {
- spriteBatch.Draw(texture, bgPos1, Color.White);
- for (int k = 0; k < layout[0].tile.Length; k++)
- {
- spriteBatch.Draw(layout[currentRoom].tile[k].text, layout[currentRoom].tile[k].pos, Color.White);
- }
- }
- public void roomLayouts()
- {
- for(int n = 0; n < layout.Length; n++)
- {
- /*layout[i].playerSpawnUp.X = 800 - (p.texture.Width / 2);
- layout[i].playerSpawnUp.Y = 110;
- layout[i].playerSpawnDown.X = 800 - (p.texture.Width / 2);
- layout[i].playerSpawnDown.Y = 890;
- layout[i].playerSpawnLeft.X = 110;
- layout[i].playerSpawnLeft.Y = 500 - (p.texture.Height / 2);
- layout[i].playerSpawnRight.X = 1430;
- layout[i].playerSpawnRight.Y = 500 - (p.texture.Height / 2);
- layout[i].enemyRemaining = 0;
- layout[i].hasDown = false;
- layout[i].hasUp = false;
- layout[i].hasLeft = false;
- layout[i].hasRight = false;*/
- for (int l = 0; l < 70; l++)
- {
- layout[n].tile[l].pos.X = posX;
- layout[n].tile[l].pos.Y = posY;
- posX += 128;
- if (posX > 1312)
- {
- posX = 160;
- posY += 115;
- }
- }
- posX = 160;
- posY = 100;
- }
- }
- void RoomTiles()
- {
- switch(currentRoom)
- {
- case 0:
- {
- Rock r = new Rock(rock);
- //rocks
- layout[currentRoom].tile[11].text = rock;
- r.rockPos = new Vector2(layout[currentRoom].tile[11].pos.X, layout[currentRoom].tile[11].pos.Y);
- rockList.Add(r);
- layout[currentRoom].tile[13].text = rock;
- layout[currentRoom].tile[15].text = rock;
- layout[currentRoom].tile[17].text = rock;
- layout[currentRoom].tile[32].text = rock;
- layout[currentRoom].tile[34].text = rock;
- layout[currentRoom].tile[36].text = rock;
- layout[currentRoom].tile[38].text = rock;
- layout[currentRoom].tile[51].text = rock;
- layout[currentRoom].tile[53].text = rock;
- layout[currentRoom].tile[55].text = rock;
- layout[currentRoom].tile[57].text = rock;
- //water
- layout[currentRoom].tile[0].text = water;
- layout[currentRoom].tile[9].text = water;
- layout[currentRoom].tile[60].text = water;
- layout[currentRoom].tile[69].text = water;
- break;
- }
- case 1:
- {
- //rocks
- layout[currentRoom].tile[1].text = rock;
- layout[currentRoom].tile[8].text = rock;
- layout[currentRoom].tile[10].text = rock;
- layout[currentRoom].tile[12].text = rock;
- layout[currentRoom].tile[17].text = rock;
- layout[currentRoom].tile[19].text = rock;
- layout[currentRoom].tile[21].text = rock;
- layout[currentRoom].tile[23].text = rock;
- layout[currentRoom].tile[28].text = rock;
- //water
- //layout[currentRoom].tile[0].text = water;
- //layout[currentRoom].tile[9].text = water;
- //layout[currentRoom].tile[60].text = water;
- //layout[currentRoom].tile[69].text = water;
- break;
- }
- case 2:
- {
- //rocks
- layout[currentRoom].tile[11].text = rock;
- layout[currentRoom].tile[13].text = rock;
- layout[currentRoom].tile[15].text = rock;
- layout[currentRoom].tile[17].text = rock;
- layout[currentRoom].tile[32].text = rock;
- layout[currentRoom].tile[34].text = rock;
- layout[currentRoom].tile[36].text = rock;
- layout[currentRoom].tile[38].text = rock;
- layout[currentRoom].tile[51].text = rock;
- layout[currentRoom].tile[53].text = rock;
- layout[currentRoom].tile[55].text = rock;
- layout[currentRoom].tile[57].text = rock;
- //water
- layout[currentRoom].tile[0].text = water;
- layout[currentRoom].tile[9].text = water;
- layout[currentRoom].tile[60].text = water;
- layout[currentRoom].tile[69].text = water;
- break;
- }
- case 3:
- {
- //rocks
- layout[currentRoom].tile[11].text = rock;
- layout[currentRoom].tile[13].text = rock;
- layout[currentRoom].tile[15].text = rock;
- layout[currentRoom].tile[17].text = rock;
- layout[currentRoom].tile[32].text = rock;
- layout[currentRoom].tile[34].text = rock;
- layout[currentRoom].tile[36].text = rock;
- layout[currentRoom].tile[38].text = rock;
- layout[currentRoom].tile[51].text = rock;
- layout[currentRoom].tile[53].text = rock;
- layout[currentRoom].tile[55].text = rock;
- layout[currentRoom].tile[57].text = rock;
- //water
- layout[currentRoom].tile[0].text = water;
- layout[currentRoom].tile[9].text = water;
- layout[currentRoom].tile[60].text = water;
- layout[currentRoom].tile[69].text = water;
- break;
- }
- case 4:
- {
- //rocks
- layout[currentRoom].tile[11].text = rock;
- layout[currentRoom].tile[13].text = rock;
- layout[currentRoom].tile[15].text = rock;
- layout[currentRoom].tile[17].text = rock;
- layout[currentRoom].tile[32].text = rock;
- layout[currentRoom].tile[34].text = rock;
- layout[currentRoom].tile[36].text = rock;
- layout[currentRoom].tile[38].text = rock;
- layout[currentRoom].tile[51].text = rock;
- layout[currentRoom].tile[53].text = rock;
- layout[currentRoom].tile[55].text = rock;
- layout[currentRoom].tile[57].text = rock;
- //water
- layout[currentRoom].tile[0].text = water;
- layout[currentRoom].tile[9].text = water;
- layout[currentRoom].tile[60].text = water;
- layout[currentRoom].tile[69].text = water;
- break;
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment