Jump to content
  • Advertisement

Shawn Naef

Member
  • Content Count

    27
  • Joined

  • Last visited

Community Reputation

1 Neutral

About Shawn Naef

  • Rank
    Member

Personal Information

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Shawn Naef

    2D Random Map Generation

    Have you considered other languages besides just python? C# has a lot of good examples of tile maps. My preference is for list over array though for easier saving/storage.
  2. Shawn Naef

    C# XNA 4.0 How to serialize a 2D array?

    Well after starting new game playing, saving, restarting client, loading, saving, restarting client, loading it seems to be working 100 percent. Here is a screenshot of the save, it is indeed exporting the list as an array. Thanks for the help.
  3. Shawn Naef

    C# XNA 4.0 How to serialize a 2D array?

    I'm not sure if this fixed it but i changed [x] [y] to [y] [x] and that seemed to have fixed it. The game loaded and this is what i got on the save file after saving! mysave.xml
  4. Shawn Naef

    C# XNA 4.0 How to serialize a 2D array?

    Cleared all the errors and upon debug this happened:
  5. Shawn Naef

    C# XNA 4.0 How to serialize a 2D array?

    Column are always 30 in size. depth is the part that is infinite up to the amount of level design i do. There is no need for 0 because an empty cell (air) (essentially what happens when you mine) has a background texture of its own. I will never need to add to a list because that would shift everything out of place remember the world map's exact position of a particular tile never changes. Only the contents of it. (int value) the part im concerned about is that it needs the length of the list not the list of lists. This is for calculations.
  6. Shawn Naef

    C# XNA 4.0 How to serialize a 2D array?

    I need to be able to check against the list for specific numbers and to be able to actively change the elements. Its saying i can't use checks with List<List<int>>
  7. Shawn Naef

    C# XNA 4.0 How to serialize a 2D array?

    Array is now this list. List<List<int>> tileMap = new List<List<int>> { new List<int> { 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 1, 1, 1, 4, 5, 1, 1, 1, 1, 1, 2, 3, 1, 1, 1, 1, 1, 1, 1, }, new List<int> { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, }, new List<int> { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, }, new List<int> { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, }, new List<int> { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, }, new List<int> { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, }, new List<int> { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, }, new List<int> { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, }, new List<int> { 1, 1, 1, 1, 1, 1, 1, 1, 1, 11, 1, 1, 1, 1, 1, 6, 1, 1, 1, 1, 1, 7, 8, 1, 1, 1, 1, 1, 1, 1, }, new List<int> { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new List<int> { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new List<int> { 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new List<int> { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new List<int> { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new List<int> { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new List<int> { 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new List<int> { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new List<int> { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new List<int> { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new List<int> { 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new List<int> { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new List<int> { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new List<int> { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new List<int> { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new List<int> { 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new List<int> { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new List<int> { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new List<int> { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new List<int> { 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new List<int> { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new List<int> { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new List<int> { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new List<int> { 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new List<int> { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new List<int> { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new List<int> { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new List<int> { 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new List<int> { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new List<int> { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new List<int> { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new List<int> { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new List<int> { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new List<int> { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new List<int> { 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new List<int> { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new List<int> { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new List<int> { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new List<int> { 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new List<int> { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new List<int> { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new List<int> { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new List<int> { 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new List<int> { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new List<int> { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new List<int> { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new List<int> { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new List<int> { 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new List<int> { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new List<int> { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new List<int> { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new List<int> { 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new List<int> { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new List<int> { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new List<int> { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new List<int> { 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new List<int> { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new List<int> { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, }; Load Code: tileMap = SaveData.tileMap; Save Code: tileMap = tileMap, Updated Draw Code spriteBatch.Begin(); int tileMapWidth = tileMap.GetLength(1); int tileMapHeight = tileMap.GetLength(0); for (int x = 0; x < tileMapWidth; x++) { for (int y = 0; y < tileMapHeight; y++) { int textureIndex = tileMap[x][y]; Texture2D texture = tileTextures[textureIndex]; spriteBatch.Draw( texture, new Rectangle( x * tileWidth - cameraPositionX, y * tileHeight - cameraPositionY, tileWidth, tileHeight), Color.White); } } spriteBatch.End();
  8. Shawn Naef

    C# XNA 4.0 How to serialize a 2D array?

    Ok the list is edited. The draw code is edited. I am still encountering errors (35 Total) About 5 of these errors. Error 1 'System.Collections.Generic.List<System.Collections.Generic.List<int>>' does not contain a definition for 'GetLength' and no extension method 'GetLength' accepting a first argument of type 'System.Collections.Generic.List<System.Collections.Generic.List<int>>' could be found (are you missing a using directive or an assembly reference?) C:\Users\Haswell\documents\visual studio 2010\Projects\Vertical Miner Infinity\Vertical Miner Infinity\Vertical Miner Infinity\Game1.cs 424 44 Vertical Miner Infinity About 30 errors stemming from this I also need to know how to edit the list from my code: (Example of one of the sections) Error is ((tileMap[PlayerDepth, CheckSpot] == 9) Specifically tileMap is now a list not an array. else if ((tileMap[PlayerDepth, CheckSpot] == 9) && (GoAgain) && (PlayerFuel > 0)) { // Its just air so moving is fine. cameraPositionX = cameraPositionX - 64; PlayerPosition--; PlayerFuel--; GoAgain = false; TotalMovesMade++; TotalFuelUsed++; }
  9. Shawn Naef

    C# XNA 4.0 How to serialize a 2D array?

    Ok with the information above. Can you please give me the draw code that is needed to print out the array textures and also how do you save a list inside a struct? I think the list looks cleanest in the program so ill go with that. I need this code converted to work with the above. int tileMapWidth = tileMap.GetLength(1); int tileMapHeight = tileMap.GetLength(0); for (int x = 0; x < tileMapWidth; x++) { for (int y = 0; y < tileMapHeight; y++) { int textureIndex = tileMap[y, x]; Texture2D texture = tileTextures[textureIndex]; spriteBatch.Draw( texture, new Rectangle( x * tileWidth - cameraPositionX, y * tileHeight - cameraPositionY, tileWidth, tileHeight), Color.White); } }
  10. Shawn Naef

    C# XNA 4.0 How to serialize a 2D array?

    Ok i read the microsoft example and this is a jagged array: int[][] tileMap = new int[][] { new int[] { 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 1, 1, 1, 4, 5, 1, 1, 1, 1, 1, 2, 3, 1, 1, 1, 1, 1, 1, 1, }, new int[] { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, }, new int[] { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, }, new int[] { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, }, new int[] { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, }, new int[] { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, }, new int[] { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, }, new int[] { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, }, new int[] { 1, 1, 1, 1, 1, 1, 1, 1, 1, 11, 1, 1, 1, 1, 1, 6, 1, 1, 1, 1, 1, 7, 8, 1, 1, 1, 1, 1, 1, 1, }, new int[] { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new int[] { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new int[] { 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new int[] { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new int[] { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new int[] { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new int[] { 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new int[] { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new int[] { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new int[] { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new int[] { 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new int[] { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new int[] { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new int[] { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new int[] { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new int[] { 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new int[] { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new int[] { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new int[] { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new int[] { 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new int[] { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new int[] { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new int[] { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new int[] { 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new int[] { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new int[] { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new int[] { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new int[] { 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new int[] { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new int[] { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new int[] { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new int[] { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new int[] { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new int[] { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new int[] { 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new int[] { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new int[] { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new int[] { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new int[] { 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new int[] { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new int[] { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new int[] { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new int[] { 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new int[] { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new int[] { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new int[] { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new int[] { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new int[] { 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new int[] { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new int[] { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new int[] { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new int[] { 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new int[] { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new int[] { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new int[] { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new int[] { 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new int[] { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, new int[] { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, }; Ive now gotten a total of 31 errors stating: wrong number of indices inside []; expected 1
  11. Shawn Naef

    C# XNA 4.0 How to serialize a 2D array?

    Can you show me? What could with 2D list will do this? int tileMapWidth = tileMap.GetLength(1); int tileMapHeight = tileMap.GetLength(0); for (int x = 0; x < tileMapWidth; x++) { for (int y = 0; y < tileMapHeight; y++) { int textureIndex = tileMap[y, x]; Texture2D texture = tileTextures[textureIndex]; spriteBatch.Draw( texture, new Rectangle( x * tileWidth - cameraPositionX, y * tileHeight - cameraPositionY, tileWidth, tileHeight), Color.White); } }
  12. Shawn Naef

    C# XNA 4.0 How to serialize a 2D array?

    All i need is to be able to do the following: Store single int values in a grid 30 wide by near infinite in length. Be able to print textures from a list with a for statement like printing a checkerboard so its automatic. The ability to store and load those int values into a player save along side my other variables in the code I supplied. Which method is best suited for this with my style of code and considering future need to retrieve data.
  13. Shawn Naef

    C# XNA 4.0 How to serialize a 2D array?

    That will present a problem of stacking arrays in rows and will make my movement code not work without having to hardcore it. Right now it calculates off the array. Is there a way to make an array go vertical since once direction is fixed i could just do 30 arrays positioned the other direction and viola i have infinite length.
  14. Shawn Naef

    C# XNA 4.0 How to serialize a 2D array?

    I tried and i couldn't figure out exactly how to do it. I did try converting the array and it seems to work as a jagged like this: int[,] tileMap = new int[67,30] { { 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 1, 1, 1, 4, 5, 1, 1, 1, 1, 1, 2, 3, 1, 1, 1, 1, 1, 1, 1, }, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, }, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, }, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, }, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, }, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, }, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, }, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, }, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 11, 1, 1, 1, 1, 1, 6, 1, 1, 1, 1, 1, 7, 8, 1, 1, 1, 1, 1, 1, 1, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, }; But again the int[,] that contains the jagged is still a problem. I will go ahead and post my full code, can you make the adjustments and then re post along with the sections you changed. This will help me to learn a bit although i know how saves work, this is one type of data i have not worked with in save files before. using System; using System.Collections.Generic; using System.Linq; using System.Text; using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Audio; using Microsoft.Xna.Framework.Content; using Microsoft.Xna.Framework.GamerServices; using Microsoft.Xna.Framework.Graphics; using Microsoft.Xna.Framework.Input; using Microsoft.Xna.Framework.Storage; using Microsoft.Xna.Framework.Media; using System.IO; using System.Xml.Serialization; using System.Diagnostics; //using System.Runtime.Serialization.Formatters.Binary; namespace Vertical_Miner_Infinity { [Serializable] public struct SaveGame { // Player Variables public int PlayerScore; public int PlayerFuel; public int PlayerMaxFuel; public int PlayerPickTier; public int PlayerInvTier; public int PlayerFuelTier; public int PlayerMaxDepth; public int PlayerCoin; public int PlayerInv; public int PlayerMaxInv; public int PlayerDepth; public int PlayerPosition; // Player Inventory Variables public int PlayerInventoryCoalOre; public int PlayerInventoryCopperOre; public int PlayerInventoryTinOre; public int PlayerInventoryIronOre; public int PlaceHolder; // Player Statistics public int TotalMoneyAquired; public int TotalUpgradesAquired; public int TotalMovesMade; public int TotalFuelUsed; public int TotalBlocksMined; public int TotalDirtBlocksMined; public int TotalCoalOre; public int TotalCopperOre; public int TotalTinOre; public int TotalIronOre; // Game Map Array //public int[,] tileMap0; } public enum GameState { // Game Screens ControlScreen, CreditScreen, GameMenuScreen, GameScreen, MainMenuScreen, SplashScreen, } public class Game1 : Microsoft.Xna.Framework.Game{ #region Textures & Music // Default Windows Code GraphicsDeviceManager graphics; SpriteBatch spriteBatch; // Gamestate Current Window GameState gameState; // Keyboard State Variables KeyboardState oldKeyboardState, currentKeyboardState; // Storage Device StorageDevice device; // Sprite Font SpriteFont guitextfont; SpriteFont titlefont; SpriteFont titlefont2; SpriteFont version; // Game Textures Texture2D splashscreen; Texture2D guimenu; Texture2D playerminer; Texture2D guilantern; Texture2D guiinventory; Texture2D guistatus; Texture2D guigasstatus; Texture2D guismelteryscreen; Texture2D guiupgradeshopscreen; Texture2D guipickaxe; Texture2D fuelguagefullbar; Texture2D fuelguageemptybar; // Texture Tiles List (Blocks) List<Texture2D> tileTextures = new List<Texture2D>(); // Game Music & Sound Effects SoundEffectInstance thememusic; SoundEffectInstance fuelstationfillup; SoundEffectInstance smelterysale; SoundEffectInstance upgradesale; #endregion #region Global Player Variables // [SAVE NEEDED] // Player Variables int PlayerScore = 0; int PlayerFuel = 100; int PlayerMaxFuel = 100; int PlayerPickTier = 1; int PlayerInvTier = 1; int PlayerFuelTier = 1; int PlayerMaxDepth = 50; int PlayerCoin = 5250; int PlayerInv = 0; int PlayerMaxInv = 10; int PlayerDepth = 8; int PlayerPosition = 15; // Player Inventory Variables int PlayerInventoryCoalOre = 0; int PlayerInventoryCopperOre = 0; int PlayerInventoryTinOre = 0; int PlayerInventoryIronOre = 0; int PlaceHolder = 0; // Player Statistics int TotalMoneyAquired = 0; int TotalUpgradesAquired = 0; int TotalMovesMade = 0; int TotalFuelUsed = 0; int TotalBlocksMined = 0; int TotalDirtBlocksMined = 0; int TotalCoalOre = 0; int TotalCopperOre = 0; int TotalTinOre = 0; int TotalIronOre = 0; // [NO SAVE NEEDED] // GUI Display Variables int PlayerDisplayDepth = 8; int PlayerDisplayMaxDepth; int PlayerFuelCostDisplay; int PlayerPickTierCostDisplay; int PlayerInvTierCostDisplay; int PlayerFuelTierCostDisplay; int PlayerInventoryDisplayValue = 0; // Camera Position int cameraPositionY; int cameraPositionX; // Tile Size For Tile Engine int tileWidth = 64; int tileHeight = 64; // Movement Controls Bool bool GoAgain = true; // Dev Information string Version = "Version: 0.09"; string Build = "Build: 21518"; bool DevMode = true; // Save Game string containerName = "MyGamesStorage"; string filename = "mysave.txt"; #endregion #region Main Game Map Array // 0 = Stone 1 = Sky 2 = Cloud 3 = Cloud 4 = Sun 5 = Sun 6 = Fuel Station 7 = Upgrade Shop 8 = Upgrade Shop 9 = Air 10 = Dirt // 11 = Smeltery 12 = Coal 12 = Copper 13 = Tin 14 = Iron int[,] tileMap = new int[67,30] { { 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 1, 1, 1, 4, 5, 1, 1, 1, 1, 1, 2, 3, 1, 1, 1, 1, 1, 1, 1, }, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, }, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, }, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, }, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, }, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, }, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, }, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, }, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 11, 1, 1, 1, 1, 1, 6, 1, 1, 1, 1, 1, 7, 8, 1, 1, 1, 1, 1, 1, 1, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, }, }; #endregion public Game1() { // Save Game this.Components.Add(new GamerServicesComponent(this)); // Sets Graphics Display Size graphics = new GraphicsDeviceManager(this); graphics.IsFullScreen = false; graphics.PreferredBackBufferWidth = 1920; graphics.PreferredBackBufferHeight = 1080; Content.RootDirectory = "Content"; } protected override void Initialize() { // Read keyboard state currentKeyboardState = new KeyboardState(); // Gamestate window manager gameState = new GameState(); gameState = GameState.SplashScreen; // Makes mouse visible this.IsMouseVisible = true; base.Initialize(); } protected override void LoadContent() { // Create a new SpriteBatch, which can be used to draw textures. spriteBatch = new SpriteBatch(GraphicsDevice); // Load Music thememusic = Content.Load<SoundEffect>("Audio/ThemeMusic").CreateInstance(); thememusic.Volume = 0.5f; thememusic.IsLooped = true; fuelstationfillup = Content.Load<SoundEffect>("Audio/FuelStationFillUp").CreateInstance(); smelterysale = Content.Load<SoundEffect>("Audio/SmelterySale").CreateInstance(); upgradesale = Content.Load<SoundEffect>("Audio/UpgradeSale").CreateInstance(); Texture2D texture; guitextfont = Content.Load<SpriteFont>("GUITextFont"); titlefont = Content.Load<SpriteFont>("TitleFont"); titlefont2 = Content.Load<SpriteFont>("TitleFont2"); version = Content.Load<SpriteFont>("Version"); splashscreen = Content.Load<Texture2D>("SplashScreen"); guimenu = Content.Load<Texture2D>("GUIMenu"); playerminer = Content.Load<Texture2D>("PlayerMiner"); guilantern = Content.Load<Texture2D>("GUILantern"); guiinventory = Content.Load<Texture2D>("GUIInventory"); guistatus = Content.Load<Texture2D>("GUIStatus"); guigasstatus = Content.Load<Texture2D>("GUIGasStatus"); guismelteryscreen = Content.Load<Texture2D>("GUISmelteryScreen"); guiupgradeshopscreen = Content.Load<Texture2D>("GUIUpgradeShopScreen"); guipickaxe = Content.Load<Texture2D>("GUIPickAxe"); fuelguagefullbar = Content.Load<Texture2D>("FuelGaugeFullBar"); fuelguageemptybar = Content.Load<Texture2D>("FuelGuageEmptyBar"); // Texture list below. Sequentially Sensitive Order texture = Content.Load<Texture2D>("Tiles/TileStone"); tileTextures.Add(texture); texture = Content.Load<Texture2D>("Tiles/TileSky"); tileTextures.Add(texture); texture = Content.Load<Texture2D>("Tiles/TileCloud1"); tileTextures.Add(texture); texture = Content.Load<Texture2D>("Tiles/TileCloud2"); tileTextures.Add(texture); texture = Content.Load<Texture2D>("Tiles/TileSun1"); tileTextures.Add(texture); texture = Content.Load<Texture2D>("Tiles/TileSun2"); tileTextures.Add(texture); texture = Content.Load<Texture2D>("Tiles/TileFuelShop"); tileTextures.Add(texture); texture = Content.Load<Texture2D>("Tiles/TileUpgradeShop1"); tileTextures.Add(texture); texture = Content.Load<Texture2D>("Tiles/TileUpgradeShop2"); tileTextures.Add(texture); texture = Content.Load<Texture2D>("Tiles/TileAir"); tileTextures.Add(texture); texture = Content.Load<Texture2D>("Tiles/TileDirt"); tileTextures.Add(texture); texture = Content.Load<Texture2D>("Tiles/TileSmeltery"); tileTextures.Add(texture); texture = Content.Load<Texture2D>("Tiles/TileCoal"); tileTextures.Add(texture); } protected override void UnloadContent() { // TODO: Unload any non ContentManager content here } protected override void Update(GameTime gameTime) { // Allows the game to exit if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed) this.Exit(); if (gameState == GameState.ControlScreen) { } if (gameState == GameState.CreditScreen) { } if (gameState == GameState.GameMenuScreen) { // Get Keyboard State oldKeyboardState = currentKeyboardState; currentKeyboardState = Keyboard.GetState(); if ((currentKeyboardState.IsKeyUp(Keys.D1)) && (oldKeyboardState.IsKeyDown(Keys.D1))) { InitiateSave(); } if ((currentKeyboardState.IsKeyUp(Keys.D2)) && (oldKeyboardState.IsKeyDown(Keys.D2))) { InitiateLoad(); } if ((currentKeyboardState.IsKeyUp(Keys.D3)) && (oldKeyboardState.IsKeyDown(Keys.D3))) { gameState = GameState.ControlScreen; } if ((currentKeyboardState.IsKeyUp(Keys.Space)) && (oldKeyboardState.IsKeyDown(Keys.Space))) { this.Exit(); } if ((currentKeyboardState.IsKeyUp(Keys.Escape)) && (oldKeyboardState.IsKeyDown(Keys.Escape))) { gameState = GameState.GameScreen; } } if (gameState == GameState.GameScreen) { // Get Keyboard State oldKeyboardState = currentKeyboardState; currentKeyboardState = Keyboard.GetState(); // Controls if ((currentKeyboardState.IsKeyUp(Keys.W)) && (oldKeyboardState.IsKeyDown(Keys.W)) && (PlayerDepth >= 9)) { GoAgain = true; DoMoveUp(); } if ((currentKeyboardState.IsKeyUp(Keys.S)) && (oldKeyboardState.IsKeyDown(Keys.S)) && (PlayerDepth < PlayerMaxDepth)) { GoAgain = true; DoMoveDown(); } if ((currentKeyboardState.IsKeyUp(Keys.A)) && (oldKeyboardState.IsKeyDown(Keys.A)) && (PlayerPosition > 0)) { GoAgain = true; DoMoveLeft(); } if ((currentKeyboardState.IsKeyUp(Keys.D)) && (oldKeyboardState.IsKeyDown(Keys.D)) && (PlayerPosition < 29)) { GoAgain = true; DoMoveRight(); } if ((currentKeyboardState.IsKeyUp(Keys.Space)) && (oldKeyboardState.IsKeyDown(Keys.Space)) && (PlayerPosition == 15) && (PlayerDepth == 8)) { DoFuelUp(); } if ((currentKeyboardState.IsKeyUp(Keys.Space)) && (oldKeyboardState.IsKeyDown(Keys.Space)) && (PlayerPosition == 9) && (PlayerDepth == 8)) { DoSellOres(); } if ((currentKeyboardState.IsKeyUp(Keys.D1)) && (oldKeyboardState.IsKeyDown(Keys.D1)) && (PlayerPosition == 21) && (PlayerDepth == 8)) { DoUpgradePick(); } if ((currentKeyboardState.IsKeyUp(Keys.D1)) && (oldKeyboardState.IsKeyDown(Keys.D1)) && (PlayerPosition == 22) && (PlayerDepth == 8)) { DoUpgradePick(); } if ((currentKeyboardState.IsKeyUp(Keys.D2)) && (oldKeyboardState.IsKeyDown(Keys.D2)) && (PlayerPosition == 21) && (PlayerDepth == 8)) { DoUpgradeInv(); } if ((currentKeyboardState.IsKeyUp(Keys.D2)) && (oldKeyboardState.IsKeyDown(Keys.D2)) && (PlayerPosition == 22) && (PlayerDepth == 8)) { DoUpgradeInv(); } if ((currentKeyboardState.IsKeyUp(Keys.D3)) && (oldKeyboardState.IsKeyDown(Keys.D3)) && (PlayerPosition == 21) && (PlayerDepth == 8)) { DoUpgradeFuel(); } if ((currentKeyboardState.IsKeyUp(Keys.D3)) && (oldKeyboardState.IsKeyDown(Keys.D3)) && (PlayerPosition == 22) && (PlayerDepth == 8)) { DoUpgradeFuel(); } if ((currentKeyboardState.IsKeyUp(Keys.Escape)) && (oldKeyboardState.IsKeyDown(Keys.Escape))) { gameState = GameState.GameMenuScreen; } if (cameraPositionX < 0) cameraPositionX = 0; if (cameraPositionY < 0) cameraPositionY = 0; int screenWidth = GraphicsDevice.Viewport.Width; int screenHeight = GraphicsDevice.Viewport.Height; int tileMapWidth = tileMap.GetLength(1) * tileWidth; int tileMapHeight = tileMap.GetLength(0) * tileHeight; if (cameraPositionX > tileMapWidth - screenWidth) cameraPositionX = tileMapWidth - screenWidth; if (cameraPositionY > tileMapHeight - screenHeight) cameraPositionY = tileMapHeight - screenHeight; // Ore Calculations // Coal Ore = $25 // Copper Ore = $50 // Tin Ore = $100 // Iron Ore = $150 int coalvalue = 0; int coppervalue = 0; int tinvalue = 0; int ironvalue = 0; coalvalue = PlayerInventoryCoalOre * 25; coppervalue = PlayerInventoryCopperOre * 50; tinvalue = PlayerInventoryTinOre * 100; ironvalue = PlayerInventoryIronOre * 150; PlayerInventoryDisplayValue = coalvalue + coppervalue + tinvalue + ironvalue; // Upgrade Tiers Cost Display Calculations PlayerPickTierCostDisplay = PlayerPickTier * 1500; PlayerInvTierCostDisplay = PlayerInvTier * 1500; PlayerFuelTierCostDisplay = PlayerFuelTier * 1500; //////////////////////////// //// DEV FUEL OVERRIDE //////////////////////////// if ((PlayerFuel == 0) && (DevMode)) { PlayerFuel = PlayerMaxFuel; } // Out Of Fuel if (PlayerFuel == 0) { // Reset Player PlayerFuel = 10; PlayerPosition = 15; PlayerDepth = 8; cameraPositionX = 0; cameraPositionY = 0; // Reset Inventory PlayerInventoryCoalOre = 0; PlayerInventoryCopperOre = 0; PlayerInventoryTinOre = 0; PlayerInventoryIronOre = 0; PlayerInv = 0; } // Offsets 8 Tiles Of Sky PlayerDisplayDepth = PlayerDepth - 8; PlayerDisplayMaxDepth = PlayerMaxDepth - 8; // Fuel Cost Display PlayerFuelCostDisplay = PlayerMaxFuel - PlayerFuel; // Play Music thememusic.Volume = 0.5f; thememusic.Play(); } if (gameState == GameState.MainMenuScreen) { // Get Keyboard State oldKeyboardState = currentKeyboardState; currentKeyboardState = Keyboard.GetState(); if ((currentKeyboardState.IsKeyUp(Keys.D1)) && (oldKeyboardState.IsKeyDown(Keys.D1))) { // Starts New Game gameState = GameState.GameScreen; } if ((currentKeyboardState.IsKeyUp(Keys.D2)) && (oldKeyboardState.IsKeyDown(Keys.D2))) { // Loads Saved Game InitiateLoad(); } if ((currentKeyboardState.IsKeyUp(Keys.D3)) && (oldKeyboardState.IsKeyDown(Keys.D3))) { // Controls Help Screen gameState = GameState.ControlScreen; } if ((currentKeyboardState.IsKeyUp(Keys.D4)) && (oldKeyboardState.IsKeyDown(Keys.D4))) { // Credits Screen gameState = GameState.CreditScreen; } if ((currentKeyboardState.IsKeyUp(Keys.Escape)) && (oldKeyboardState.IsKeyDown(Keys.Escape))) { // Exits Game this.Exit(); } } if (gameState == GameState.SplashScreen) { // Get Keyboard State oldKeyboardState = currentKeyboardState; currentKeyboardState = Keyboard.GetState(); if ((currentKeyboardState.IsKeyUp(Keys.Enter)) && (oldKeyboardState.IsKeyDown(Keys.Enter))) { gameState = GameState.MainMenuScreen; } } base.Update(gameTime); } protected override void Draw(GameTime gameTime) { GraphicsDevice.Clear(Color.CornflowerBlue); if (gameState == GameState.ControlScreen) { GraphicsDevice.Clear(Color.Blue); } if (gameState == GameState.CreditScreen) { GraphicsDevice.Clear(Color.Red); } if (gameState == GameState.GameMenuScreen) { GraphicsDevice.Clear(Color.Black); spriteBatch.Begin(); spriteBatch.DrawString(titlefont, "VERTICAL MINER INFINITY", new Vector2(800, 64), Color.Blue); spriteBatch.DrawString(version, Version.ToString(), new Vector2(900, 95), Color.White); spriteBatch.DrawString(version, Build.ToString(), new Vector2(900, 110), Color.White); spriteBatch.Draw(guimenu, new Vector2(736, 128), Color.White); spriteBatch.DrawString(titlefont2, "'1' Save Game", new Vector2(875, 192), Color.White); spriteBatch.DrawString(titlefont2, "'2' Load Game", new Vector2(875, 320), Color.White); spriteBatch.DrawString(titlefont2, "'3' Controls", new Vector2(875, 448), Color.White); spriteBatch.DrawString(titlefont2, "'Space' Exit Game", new Vector2(875, 570), Color.White); spriteBatch.DrawString(titlefont2, "'Esc' Return To Game", new Vector2(875, 698), Color.White); spriteBatch.End(); } if (gameState == GameState.GameScreen) { spriteBatch.Begin(); int tileMapWidth = tileMap.GetLength(1); int tileMapHeight = tileMap.GetLength(0); for (int x = 0; x < tileMapWidth; x++) { for (int y = 0; y < tileMapHeight; y++) { int textureIndex = tileMap[y, x]; Texture2D texture = tileTextures[textureIndex]; spriteBatch.Draw( texture, new Rectangle( x * tileWidth - cameraPositionX, y * tileHeight - cameraPositionY, tileWidth, tileHeight), Color.White); } } spriteBatch.End(); spriteBatch.Begin(); spriteBatch.Draw(guistatus, new Vector2(8, 384), Color.White); spriteBatch.DrawString(guitextfont, "SCORE: " + PlayerScore.ToString(), new Vector2(18, 390), Color.White); spriteBatch.DrawString(guitextfont, "COIN : $" + PlayerCoin.ToString(), new Vector2(18, 415), Color.White); spriteBatch.End(); spriteBatch.Begin(); // Fuel Guage spriteBatch.Draw(fuelguagefullbar, new Vector2(24, 70), Color.White); spriteBatch.DrawString(guitextfont, "Fuel", new Vector2(18, 8), Color.White); spriteBatch.DrawString(guitextfont, PlayerFuel.ToString(), new Vector2(21, 30), Color.White); spriteBatch.DrawString(guitextfont, "Max", new Vector2(20, 344), Color.White); spriteBatch.DrawString(guitextfont, PlayerMaxFuel.ToString(), new Vector2(21, 324), Color.White); // Inventory Guage spriteBatch.Draw(fuelguagefullbar, new Vector2(124, 70), Color.White); spriteBatch.DrawString(guitextfont, "Inv", new Vector2(122, 8), Color.White); spriteBatch.DrawString(guitextfont, PlayerInv.ToString(), new Vector2(130, 30), Color.White); spriteBatch.DrawString(guitextfont, "Max", new Vector2(122, 344), Color.White); spriteBatch.DrawString(guitextfont, PlayerMaxInv.ToString(), new Vector2(126, 324), Color.White); // Player Depth Guage spriteBatch.Draw(fuelguagefullbar, new Vector2(224, 70), Color.White); spriteBatch.DrawString(guitextfont, "Depth", new Vector2(222, 8), Color.White); spriteBatch.DrawString(guitextfont, PlayerDisplayDepth.ToString(), new Vector2(230, 30), Color.White); spriteBatch.DrawString(guitextfont, "Max", new Vector2(222, 344), Color.White); spriteBatch.DrawString(guitextfont, PlayerDisplayMaxDepth.ToString(), new Vector2(226, 324), Color.White); spriteBatch.End(); if (PlayerFuel == (100 * PlayerFuelTier)) { // Draw Nothing Fuel Is Full } if (PlayerFuel < (90 * PlayerFuelTier)) { spriteBatch.Begin(); spriteBatch.Draw(fuelguageemptybar, new Vector2(24, 70), Color.White); spriteBatch.End(); } if (PlayerFuel < (80 * PlayerFuelTier)) { spriteBatch.Begin(); spriteBatch.Draw(fuelguageemptybar, new Vector2(24, 94), Color.White); spriteBatch.End(); } if (PlayerFuel < (70 * PlayerFuelTier)) { spriteBatch.Begin(); spriteBatch.Draw(fuelguageemptybar, new Vector2(24, 118), Color.White); spriteBatch.End(); } if (PlayerFuel < (60 * PlayerFuelTier)) { spriteBatch.Begin(); spriteBatch.Draw(fuelguageemptybar, new Vector2(24, 142), Color.White); spriteBatch.End(); } if (PlayerFuel < (50 * PlayerFuelTier)) { spriteBatch.Begin(); spriteBatch.Draw(fuelguageemptybar, new Vector2(24, 166), Color.White); spriteBatch.End(); } if (PlayerFuel < (40 * PlayerFuelTier)) { spriteBatch.Begin(); spriteBatch.Draw(fuelguageemptybar, new Vector2(24, 190), Color.White); spriteBatch.End(); } if (PlayerFuel < (30 * PlayerFuelTier)) { spriteBatch.Begin(); spriteBatch.Draw(fuelguageemptybar, new Vector2(24, 214), Color.White); spriteBatch.End(); } if (PlayerFuel < (20 * PlayerFuelTier)) { spriteBatch.Begin(); spriteBatch.Draw(fuelguageemptybar, new Vector2(24, 238), Color.White); spriteBatch.End(); } if (PlayerFuel < (10 * PlayerFuelTier)) { spriteBatch.Begin(); spriteBatch.Draw(fuelguageemptybar, new Vector2(24, 262), Color.White); spriteBatch.End(); } // Player Inventory Gauge if (PlayerInv < (10 * PlayerInvTier)) { spriteBatch.Begin(); spriteBatch.Draw(fuelguageemptybar, new Vector2(124, 286), Color.White); spriteBatch.End(); } if (PlayerInv < (9 * PlayerInvTier)) { spriteBatch.Begin(); spriteBatch.Draw(fuelguageemptybar, new Vector2(124, 262), Color.White); spriteBatch.End(); } if (PlayerInv < (8 * PlayerInvTier)) { spriteBatch.Begin(); spriteBatch.Draw(fuelguageemptybar, new Vector2(124, 238), Color.White); spriteBatch.End(); } if (PlayerInv < (7 * PlayerInvTier)) { spriteBatch.Begin(); spriteBatch.Draw(fuelguageemptybar, new Vector2(124, 214), Color.White); spriteBatch.End(); } if (PlayerInv < (6 * PlayerInvTier)) { spriteBatch.Begin(); spriteBatch.Draw(fuelguageemptybar, new Vector2(124, 190), Color.White); spriteBatch.End(); } if (PlayerInv < (5 * PlayerInvTier)) { spriteBatch.Begin(); spriteBatch.Draw(fuelguageemptybar, new Vector2(124, 166), Color.White); spriteBatch.End(); } if (PlayerInv < (4 * PlayerInvTier)) { spriteBatch.Begin(); spriteBatch.Draw(fuelguageemptybar, new Vector2(124, 142), Color.White); spriteBatch.End(); } if (PlayerInv < (3 * PlayerInvTier)) { spriteBatch.Begin(); spriteBatch.Draw(fuelguageemptybar, new Vector2(124, 118), Color.White); spriteBatch.End(); } if (PlayerInv < (2 * PlayerInvTier)) { spriteBatch.Begin(); spriteBatch.Draw(fuelguageemptybar, new Vector2(124, 94), Color.White); spriteBatch.End(); } if (PlayerInv < (1 * PlayerInvTier)) { spriteBatch.Begin(); spriteBatch.Draw(fuelguageemptybar, new Vector2(124, 70), Color.White); spriteBatch.End(); } // Player Depth Gauge if (PlayerDisplayDepth < (50 * PlayerPickTier - 8)) { spriteBatch.Begin(); spriteBatch.Draw(fuelguageemptybar, new Vector2(224, 286), Color.White); spriteBatch.End(); } if (PlayerDisplayDepth < (45 * PlayerPickTier - 7)) { spriteBatch.Begin(); spriteBatch.Draw(fuelguageemptybar, new Vector2(224, 262), Color.White); spriteBatch.End(); } if (PlayerDisplayDepth < (33 * PlayerPickTier)) { spriteBatch.Begin(); spriteBatch.Draw(fuelguageemptybar, new Vector2(224, 238), Color.White); spriteBatch.End(); } if (PlayerDisplayDepth < (28 * PlayerPickTier)) { spriteBatch.Begin(); spriteBatch.Draw(fuelguageemptybar, new Vector2(224, 214), Color.White); spriteBatch.End(); } if (PlayerDisplayDepth < (24 * PlayerPickTier)) { spriteBatch.Begin(); spriteBatch.Draw(fuelguageemptybar, new Vector2(224, 190), Color.White); spriteBatch.End(); } if (PlayerDisplayDepth < (20 * PlayerPickTier)) { spriteBatch.Begin(); spriteBatch.Draw(fuelguageemptybar, new Vector2(224, 166), Color.White); spriteBatch.End(); } if (PlayerDisplayDepth < (16 * PlayerPickTier)) { spriteBatch.Begin(); spriteBatch.Draw(fuelguageemptybar, new Vector2(224, 142), Color.White); spriteBatch.End(); } if (PlayerDisplayDepth < (12 * PlayerPickTier)) { spriteBatch.Begin(); spriteBatch.Draw(fuelguageemptybar, new Vector2(224, 118), Color.White); spriteBatch.End(); } if (PlayerDisplayDepth < (8 * PlayerPickTier)) { spriteBatch.Begin(); spriteBatch.Draw(fuelguageemptybar, new Vector2(224, 94), Color.White); spriteBatch.End(); } if (PlayerDisplayDepth < (4 * PlayerPickTier)) { spriteBatch.Begin(); spriteBatch.Draw(fuelguageemptybar, new Vector2(224, 70), Color.White); spriteBatch.End(); } if ((PlayerPosition == 9) && (PlayerDepth == 8)) { spriteBatch.Begin(); // Smeltery Screen spriteBatch.Draw(guismelteryscreen, new Vector2(320, 64), Color.White); spriteBatch.DrawString(guitextfont, "Coal Ore : " + PlayerInventoryCoalOre.ToString(), new Vector2(328, 72), Color.White); spriteBatch.DrawString(guitextfont, "Copper Ore : " + PlayerInventoryCopperOre.ToString(), new Vector2(328, 92), Color.White); spriteBatch.DrawString(guitextfont, "Iron Ore : " + PlayerInventoryIronOre.ToString(), new Vector2(328, 112), Color.White); spriteBatch.DrawString(guitextfont, "Tin Ore : " + PlayerInventoryTinOre.ToString(), new Vector2(328, 132), Color.White); spriteBatch.DrawString(guitextfont, "Placeholder: " + PlaceHolder.ToString(), new Vector2(328, 152), Color.White); spriteBatch.DrawString(guitextfont, "Placeholder: " + PlaceHolder.ToString(), new Vector2(328, 172), Color.White); spriteBatch.DrawString(guitextfont, "Placeholder: " + PlaceHolder.ToString(), new Vector2(328, 192), Color.White); spriteBatch.DrawString(guitextfont, "Placeholder: " + PlaceHolder.ToString(), new Vector2(328, 212), Color.White); spriteBatch.DrawString(guitextfont, "Placeholder: " + PlaceHolder.ToString(), new Vector2(328, 232), Color.White); spriteBatch.DrawString(guitextfont, "Placeholder: " + PlaceHolder.ToString(), new Vector2(328, 252), Color.White); spriteBatch.DrawString(guitextfont, "Placeholder: " + PlaceHolder.ToString(), new Vector2(328, 272), Color.White); spriteBatch.DrawString(guitextfont, "Placeholder: " + PlaceHolder.ToString(), new Vector2(328, 292), Color.White); spriteBatch.DrawString(guitextfont, "Placeholder: " + PlaceHolder.ToString(), new Vector2(328, 312), Color.White); spriteBatch.DrawString(guitextfont, "Placeholder: " + PlaceHolder.ToString(), new Vector2(328, 332), Color.White); spriteBatch.DrawString(guitextfont, "Placeholder: " + PlaceHolder.ToString(), new Vector2(328, 352), Color.White); // Column 2 spriteBatch.DrawString(guitextfont, "Placeholder: " + PlaceHolder.ToString(), new Vector2(616, 72), Color.White); spriteBatch.DrawString(guitextfont, "Placeholder: " + PlaceHolder.ToString(), new Vector2(616, 92), Color.White); spriteBatch.DrawString(guitextfont, "Placeholder: " + PlaceHolder.ToString(), new Vector2(616, 112), Color.White); spriteBatch.DrawString(guitextfont, "Placeholder: " + PlaceHolder.ToString(), new Vector2(616, 132), Color.White); spriteBatch.DrawString(guitextfont, "Placeholder: " + PlaceHolder.ToString(), new Vector2(616, 152), Color.White); spriteBatch.DrawString(guitextfont, "Placeholder: " + PlaceHolder.ToString(), new Vector2(616, 172), Color.White); spriteBatch.DrawString(guitextfont, "Placeholder: " + PlaceHolder.ToString(), new Vector2(616, 192), Color.White); spriteBatch.DrawString(guitextfont, "Placeholder: " + PlaceHolder.ToString(), new Vector2(616, 212), Color.White); spriteBatch.DrawString(guitextfont, "Placeholder: " + PlaceHolder.ToString(), new Vector2(616, 232), Color.White); spriteBatch.DrawString(guitextfont, "Placeholder: " + PlaceHolder.ToString(), new Vector2(616, 252), Color.White); spriteBatch.DrawString(guitextfont, "Placeholder: " + PlaceHolder.ToString(), new Vector2(616, 272), Color.White); spriteBatch.DrawString(guitextfont, "Placeholder: " + PlaceHolder.ToString(), new Vector2(616, 292), Color.White); spriteBatch.DrawString(guitextfont, "Placeholder: " + PlaceHolder.ToString(), new Vector2(616, 312), Color.White); spriteBatch.DrawString(guitextfont, "Placeholder: " + PlaceHolder.ToString(), new Vector2(616, 332), Color.White); spriteBatch.DrawString(guitextfont, "Placeholder: " + PlaceHolder.ToString(), new Vector2(616, 352), Color.White); spriteBatch.DrawString(guitextfont, "VALUE OF ORES: $" + PlayerInventoryDisplayValue.ToString(), new Vector2(516, 392), Color.White); spriteBatch.DrawString(guitextfont, "Press 'Space Key' To Sell Ores", new Vector2(436, 417), Color.White); spriteBatch.End(); } if ((PlayerPosition == 15) && (PlayerDepth == 8)) { spriteBatch.Begin(); // Fuel Shop Screen spriteBatch.Draw(guigasstatus, new Vector2(832, 384), Color.White); spriteBatch.DrawString(guitextfont, "Fuel Cost: $" + PlayerFuelCostDisplay.ToString(), new Vector2(860, 390), Color.White); spriteBatch.DrawString(guitextfont, "Press 'Space Key' To Buy", new Vector2(860, 420), Color.White); spriteBatch.End(); } if ((PlayerPosition == 21) && (PlayerDepth == 8)) { spriteBatch.Begin(); // Upgrade Shop Screen spriteBatch.Draw(guiupgradeshopscreen, new Vector2(1088, 64), Color.White); spriteBatch.Draw(guipickaxe, new Vector2(1215, 72), Color.White); spriteBatch.DrawString(guitextfont, "Pick Tier", new Vector2(1195, 136), Color.White); spriteBatch.DrawString(guitextfont, PlayerPickTier.ToString(), new Vector2(1242, 161), Color.White); spriteBatch.DrawString(guitextfont, "Max Depth", new Vector2(1195, 201), Color.White); spriteBatch.DrawString(guitextfont, "+50", new Vector2(1225, 221), Color.White); spriteBatch.DrawString(guitextfont, "Upgrade?", new Vector2(1205, 290), Color.White); spriteBatch.DrawString(guitextfont, "$" + PlayerPickTierCostDisplay.ToString(), new Vector2(1220, 330), Color.White); spriteBatch.DrawString(guitextfont, "Press '1 Key'", new Vector2(1175, 386), Color.White); spriteBatch.DrawString(guitextfont, "To Purchase", new Vector2(1185, 406), Color.White); spriteBatch.Draw(guiinventory, new Vector2(1370, 72), Color.White); spriteBatch.DrawString(guitextfont, "Inv Tier", new Vector2(1358, 136), Color.White); spriteBatch.DrawString(guitextfont, PlayerInvTier.ToString(), new Vector2(1396, 161), Color.White); spriteBatch.DrawString(guitextfont, "Max Inv", new Vector2(1363, 201), Color.White); spriteBatch.DrawString(guitextfont, "+10", new Vector2(1378, 221), Color.White); spriteBatch.DrawString(guitextfont, "Upgrade?", new Vector2(1358, 290), Color.White); spriteBatch.DrawString(guitextfont, "$" + PlayerInvTierCostDisplay.ToString(), new Vector2(1368, 330), Color.White); spriteBatch.DrawString(guitextfont, "Press '2 Key'", new Vector2(1338, 386), Color.White); spriteBatch.DrawString(guitextfont, "To Purchase", new Vector2(1348, 406), Color.White); spriteBatch.Draw(guilantern, new Vector2(1536, 72), Color.White); spriteBatch.DrawString(guitextfont, "Fuel Tier", new Vector2(1519, 136), Color.White); spriteBatch.DrawString(guitextfont, PlayerFuelTier.ToString(), new Vector2(1566, 161), Color.White); spriteBatch.DrawString(guitextfont, "Max Fuel", new Vector2(1526, 201), Color.White); spriteBatch.DrawString(guitextfont, "+100", new Vector2(1543, 221), Color.White); spriteBatch.DrawString(guitextfont, "Upgrade?", new Vector2(1523, 290), Color.White); spriteBatch.DrawString(guitextfont, "$" + PlayerFuelTierCostDisplay.ToString(), new Vector2(1533, 330), Color.White); spriteBatch.DrawString(guitextfont, "Press '3 Key'", new Vector2(1503, 386), Color.White); spriteBatch.DrawString(guitextfont, "To Purchase", new Vector2(1513, 406), Color.White); spriteBatch.End(); } if ((PlayerPosition == 22) && (PlayerDepth == 8)) { spriteBatch.Begin(); // Upgrade Shop Screen spriteBatch.Draw(guiupgradeshopscreen, new Vector2(1088, 64), Color.White); spriteBatch.Draw(guipickaxe, new Vector2(1215, 72), Color.White); spriteBatch.DrawString(guitextfont, "Pick Tier", new Vector2(1195, 136), Color.White); spriteBatch.DrawString(guitextfont, PlayerPickTier.ToString(), new Vector2(1242, 161), Color.White); spriteBatch.DrawString(guitextfont, "Max Depth", new Vector2(1195, 201), Color.White); spriteBatch.DrawString(guitextfont, "+50", new Vector2(1225, 221), Color.White); spriteBatch.DrawString(guitextfont, "Upgrade?", new Vector2(1205, 290), Color.White); spriteBatch.DrawString(guitextfont, "$" + PlayerPickTierCostDisplay.ToString(), new Vector2(1220, 330), Color.White); spriteBatch.DrawString(guitextfont, "Press '1 Key'", new Vector2(1175, 386), Color.White); spriteBatch.DrawString(guitextfont, "To Purchase", new Vector2(1185, 406), Color.White); spriteBatch.Draw(guiinventory, new Vector2(1370, 72), Color.White); spriteBatch.DrawString(guitextfont, "Inv Tier", new Vector2(1358, 136), Color.White); spriteBatch.DrawString(guitextfont, PlayerInvTier.ToString(), new Vector2(1396, 161), Color.White); spriteBatch.DrawString(guitextfont, "Max Inv", new Vector2(1363, 201), Color.White); spriteBatch.DrawString(guitextfont, "+10", new Vector2(1378, 221), Color.White); spriteBatch.DrawString(guitextfont, "Upgrade?", new Vector2(1358, 290), Color.White); spriteBatch.DrawString(guitextfont, "$" + PlayerInvTierCostDisplay.ToString(), new Vector2(1368, 330), Color.White); spriteBatch.DrawString(guitextfont, "Press '2 Key'", new Vector2(1338, 386), Color.White); spriteBatch.DrawString(guitextfont, "To Purchase", new Vector2(1348, 406), Color.White); spriteBatch.Draw(guilantern, new Vector2(1536, 72), Color.White); spriteBatch.DrawString(guitextfont, "Fuel Tier", new Vector2(1519, 136), Color.White); spriteBatch.DrawString(guitextfont, PlayerFuelTier.ToString(), new Vector2(1566, 161), Color.White); spriteBatch.DrawString(guitextfont, "Max Fuel", new Vector2(1526, 201), Color.White); spriteBatch.DrawString(guitextfont, "+100", new Vector2(1543, 221), Color.White); spriteBatch.DrawString(guitextfont, "Upgrade?", new Vector2(1523, 290), Color.White); spriteBatch.DrawString(guitextfont, "$" + PlayerFuelTierCostDisplay.ToString(), new Vector2(1533, 330), Color.White); spriteBatch.DrawString(guitextfont, "Press '3 Key'", new Vector2(1503, 386), Color.White); spriteBatch.DrawString(guitextfont, "To Purchase", new Vector2(1513, 406), Color.White); spriteBatch.End(); } // Dev Mode spriteBatch.Begin(); spriteBatch.DrawString(guitextfont, "[Dev Mode]", new Vector2(8, 460), Color.Red); spriteBatch.DrawString(guitextfont, DevMode.ToString(), new Vector2(130, 460), Color.Black); spriteBatch.End(); // Draw Player Sprite spriteBatch.Begin(); spriteBatch.Draw(playerminer, new Vector2(PlayerPosition * 64, 512), Color.White); spriteBatch.End(); } if (gameState == GameState.MainMenuScreen) { GraphicsDevice.Clear(Color.Black); spriteBatch.Begin(); spriteBatch.DrawString(titlefont, "VERTICAL MINER INFINITY", new Vector2(800, 64), Color.Blue); spriteBatch.DrawString(version, Version.ToString(), new Vector2(900, 95), Color.White); spriteBatch.DrawString(version, Build.ToString(), new Vector2(900, 110), Color.White); spriteBatch.Draw(guimenu, new Vector2(736, 128), Color.White); spriteBatch.DrawString(titlefont2, "'1' New Game", new Vector2(880, 192), Color.White); spriteBatch.DrawString(titlefont2, "'2' Load Game", new Vector2(875, 320), Color.White); spriteBatch.DrawString(titlefont2, "'3' Controls", new Vector2(875, 448), Color.White); spriteBatch.DrawString(titlefont2, "'4' Credits", new Vector2(875, 570), Color.White); spriteBatch.DrawString(titlefont2, "'Esc' Exit Game", new Vector2(875, 698), Color.White); spriteBatch.End(); } if (gameState == GameState.SplashScreen) { spriteBatch.Begin(); spriteBatch.Draw(splashscreen, new Vector2(0, 0), Color.White); spriteBatch.End(); } base.Draw(gameTime); } public void DoMoveUp() { int CheckSpot = PlayerDepth - 1; if ((tileMap[CheckSpot, PlayerPosition] == 0) && (GoAgain)) { // Can't Move Here Its Stone GoAgain = false; } else if ((tileMap[CheckSpot, PlayerPosition] == 1) && (GoAgain)) { // Sky so moving is fine. cameraPositionY = cameraPositionY - 64; PlayerDepth--; GoAgain = false; TotalMovesMade++; } else if ((tileMap[CheckSpot, PlayerPosition] == 6) && (GoAgain)) { // Building so moving is fine. cameraPositionY = cameraPositionY - 64; PlayerDepth--; GoAgain = false; TotalMovesMade++; } else if ((tileMap[CheckSpot, PlayerPosition] == 7) && (GoAgain)) { // Building so moving is fine. cameraPositionY = cameraPositionY - 64; PlayerDepth--; GoAgain = false; TotalMovesMade++; } else if ((tileMap[CheckSpot, PlayerPosition] == 8) && (GoAgain)) { // Building so moving is fine. cameraPositionY = cameraPositionY - 64; PlayerDepth--; GoAgain = false; TotalMovesMade++; } else if ((tileMap[CheckSpot, PlayerPosition] == 9) && (GoAgain) && (PlayerFuel > 0)) { // Its just air so moving is fine. cameraPositionY = cameraPositionY - 64; PlayerDepth--; PlayerFuel--; GoAgain = false; TotalMovesMade++; TotalFuelUsed++; } else if ((tileMap[CheckSpot, PlayerPosition] == 10) && (GoAgain) && (PlayerFuel > 0)) { // Its just air so moving is fine. cameraPositionY = cameraPositionY - 64; tileMap[CheckSpot, PlayerPosition] = 9; PlayerDepth--; PlayerFuel--; GoAgain = false; TotalMovesMade++; TotalFuelUsed++; TotalBlocksMined++; TotalDirtBlocksMined++; } else if ((tileMap[CheckSpot, PlayerPosition] == 11) && (GoAgain)) { // Building so moving is fine. cameraPositionY = cameraPositionY - 64; PlayerDepth--; GoAgain = false; TotalMovesMade++; } else { } } public void DoMoveDown() { int CheckSpot = PlayerDepth + 1; if ((tileMap[CheckSpot, PlayerPosition] == 0) && (GoAgain)) { // Cant Move Here Its Stone GoAgain = false; } else if ((tileMap[CheckSpot, PlayerPosition] == 9) && (GoAgain) && (PlayerFuel > 0)) { // Its just air so moving is fine. cameraPositionY = cameraPositionY + 64; PlayerDepth++; PlayerFuel--; GoAgain = false; TotalMovesMade++; TotalFuelUsed++; } else if ((tileMap[CheckSpot, PlayerPosition] == 10) && (GoAgain) && (PlayerFuel > 0)) { // Its dirt. Moving is fine here. cameraPositionY = cameraPositionY + 64; tileMap[CheckSpot, PlayerPosition] = 9; PlayerDepth++; PlayerFuel--; GoAgain = false; TotalMovesMade++; TotalFuelUsed++; TotalBlocksMined++; TotalDirtBlocksMined++; PlayerInv++; } else { } } public void DoMoveLeft() { int CheckSpot = PlayerPosition - 1; if ((tileMap[PlayerDepth, CheckSpot] == 0) && (GoAgain)) { // Cant Move Here Its Stone GoAgain = false; } else if ((tileMap[PlayerDepth, CheckSpot] == 1) && (GoAgain)) { // Sky so moving is fine. cameraPositionX = cameraPositionX - 64; PlayerPosition--; GoAgain = false; TotalMovesMade++; } else if ((tileMap[PlayerDepth, CheckSpot] == 6) && (GoAgain)) { // Building so moving is fine. cameraPositionX = cameraPositionX - 64; PlayerPosition--; GoAgain = false; TotalMovesMade++; } else if ((tileMap[PlayerDepth, CheckSpot] == 7) && (GoAgain)) { // Building so moving is fine. cameraPositionX = cameraPositionX - 64; PlayerPosition--; GoAgain = false; TotalMovesMade++; } else if ((tileMap[PlayerDepth, CheckSpot] == 8) && (GoAgain)) { // Building so moving is fine. cameraPositionX = cameraPositionX - 64; PlayerPosition--; GoAgain = false; TotalMovesMade++; } else if ((tileMap[PlayerDepth, CheckSpot] == 9) && (GoAgain) && (PlayerFuel > 0)) { // Its just air so moving is fine. cameraPositionX = cameraPositionX - 64; PlayerPosition--; PlayerFuel--; GoAgain = false; TotalMovesMade++; TotalFuelUsed++; } else if ((tileMap[PlayerDepth, CheckSpot] == 10) && (GoAgain) && (PlayerFuel > 0)) { // Its dirt. Moving is fine here. cameraPositionX = cameraPositionX - 64; tileMap[PlayerDepth, CheckSpot] = 9; PlayerPosition--; PlayerFuel--; GoAgain = false; TotalMovesMade++; TotalFuelUsed++; TotalBlocksMined++; TotalDirtBlocksMined++; } else if ((tileMap[PlayerDepth, CheckSpot] == 11) && (GoAgain)) { // Building so moving is fine. cameraPositionX = cameraPositionX - 64; PlayerPosition--; GoAgain = false; TotalMovesMade++; } } public void DoMoveRight() { int CheckSpot = PlayerPosition + 1; if ((tileMap[PlayerDepth, CheckSpot] == 0) && (GoAgain)) { // Cant Move Here Its Stone GoAgain = false; } else if ((tileMap[PlayerDepth, CheckSpot] == 1) && (GoAgain)) { // Sky so moving is fine. cameraPositionX = cameraPositionX + 64; PlayerPosition++; GoAgain = false; TotalMovesMade++; } else if ((tileMap[PlayerDepth, CheckSpot] == 6) && (GoAgain)) { // Building so moving is fine. cameraPositionX = cameraPositionX + 64; PlayerPosition++; GoAgain = false; TotalMovesMade++; } else if ((tileMap[PlayerDepth, CheckSpot] == 7) && (GoAgain)) { // Building so moving is fine. cameraPositionX = cameraPositionX + 64; PlayerPosition++; GoAgain = false; TotalMovesMade++; } else if ((tileMap[PlayerDepth, CheckSpot] == 8) && (GoAgain)) { // Building so moving is fine. cameraPositionX = cameraPositionX + 64; PlayerPosition++; GoAgain = false; TotalMovesMade++; } else if ((tileMap[PlayerDepth, CheckSpot] == 9) && (GoAgain) && (PlayerFuel > 0)) { // Its just air so moving is fine. cameraPositionX = cameraPositionX + 64; PlayerPosition++; PlayerFuel--; GoAgain = false; TotalMovesMade++; TotalFuelUsed++; } else if ((tileMap[PlayerDepth, CheckSpot] == 10) && (GoAgain) && (PlayerFuel > 0)) { // Its dirt. Moving is fine here. cameraPositionX = cameraPositionX + 64; tileMap[PlayerDepth, CheckSpot] = 9; PlayerPosition++; PlayerFuel--; GoAgain = false; TotalMovesMade++; TotalFuelUsed++; TotalBlocksMined++; TotalDirtBlocksMined++; } else if ((tileMap[PlayerDepth, CheckSpot] == 11) && (GoAgain)) { // Building so moving is fine. cameraPositionX = cameraPositionX + 64; PlayerPosition++; GoAgain = false; TotalMovesMade++; } } public void DoSellOres() { if (PlayerInv > 0) { // Ore Values int CoalOreValue = 25; int CopperOreValue = 50; int TinOreValue = 100; int IronOreValue = 150; // Ore Value Temp Variables int Ore1Value; int Ore2Value; int Ore3Value; int Ore4Value; // Calculate Value Of Ores Ore1Value = PlayerInventoryCoalOre * CoalOreValue; Ore2Value = PlayerInventoryCopperOre * CopperOreValue; Ore3Value = PlayerInventoryTinOre * TinOreValue; Ore4Value = PlayerInventoryIronOre * IronOreValue; // Pay Player & Remove Ores PlayerCoin = PlayerCoin + Ore1Value + Ore2Value + Ore3Value + Ore4Value; PlayerInventoryCoalOre = 0; PlayerInventoryCopperOre = 0; PlayerInventoryTinOre = 0; PlayerInventoryIronOre = 0; PlayerInv = 0; smelterysale.Play(); } else { // We Don't Have Anything To Sell } } public void DoFuelUp() { int newfuel; if ((PlayerPosition == 15) && (PlayerDepth == 8)) { if (PlayerFuel < PlayerMaxFuel) { newfuel = PlayerMaxFuel - PlayerFuel; if (PlayerCoin >= newfuel * PlayerFuelTier) { PlayerFuel = PlayerMaxFuel; PlayerCoin = PlayerCoin - newfuel; fuelstationfillup.Play(); } else { // Can't Afford Fuel } } } else { // Player Not At Fuel Station } } public void DoUpgradePick() { if (PlayerCoin >= PlayerPickTierCostDisplay) { PlayerCoin = PlayerCoin - PlayerPickTierCostDisplay; PlayerPickTier++; PlayerMaxDepth = PlayerMaxDepth + 50; upgradesale.Play(); } } public void DoUpgradeInv() { if (PlayerCoin >= PlayerInvTierCostDisplay) { PlayerCoin = PlayerCoin - PlayerInvTierCostDisplay; PlayerInvTier++; PlayerMaxInv = PlayerMaxInv + 10; upgradesale.Play(); } } public void DoUpgradeFuel() { if (PlayerCoin >= PlayerFuelTierCostDisplay) { PlayerCoin = PlayerCoin - PlayerFuelTierCostDisplay; PlayerFuelTier++; PlayerMaxFuel = PlayerMaxFuel + 100; upgradesale.Play(); } } private void InitiateSave() { if (!Guide.IsVisible) { device = null; StorageDevice.BeginShowSelector(PlayerIndex.One, this.SaveToDevice, null); } } void SaveToDevice(IAsyncResult result) { device = StorageDevice.EndShowSelector(result); if (device != null && device.IsConnected) { SaveGame SaveData = new SaveGame() { // Player Variables PlayerScore = PlayerScore, PlayerFuel = PlayerFuel, PlayerMaxFuel = PlayerMaxFuel, PlayerPickTier = PlayerPickTier, PlayerInvTier = PlayerInvTier, PlayerFuelTier = PlayerFuelTier, PlayerMaxDepth = PlayerMaxDepth, PlayerCoin = PlayerCoin, PlayerInv = PlayerInv, PlayerMaxInv = PlayerMaxInv, PlayerDepth = PlayerDepth, PlayerPosition = PlayerPosition, // Player Inventory Variables PlayerInventoryCoalOre = PlayerInventoryCoalOre, PlayerInventoryCopperOre = PlayerInventoryCopperOre, PlayerInventoryTinOre = PlayerInventoryTinOre, PlayerInventoryIronOre = PlayerInventoryIronOre, PlaceHolder = PlaceHolder, // Player Statistics TotalMoneyAquired = TotalMoneyAquired, TotalUpgradesAquired = TotalUpgradesAquired, TotalMovesMade = TotalMovesMade, TotalFuelUsed = TotalFuelUsed, TotalBlocksMined = TotalBlocksMined, TotalDirtBlocksMined = TotalDirtBlocksMined, TotalCoalOre = TotalCoalOre, TotalCopperOre = TotalCopperOre, TotalTinOre = TotalTinOre, TotalIronOre = TotalIronOre, // Game Map Array //tileMap0 = , }; IAsyncResult r = device.BeginOpenContainer(containerName, null, null); result.AsyncWaitHandle.WaitOne(); StorageContainer container = device.EndOpenContainer(r); if (container.FileExists(filename)) container.DeleteFile(filename); Stream stream = container.CreateFile(filename); XmlSerializer serializer = new XmlSerializer(typeof(SaveGame)); serializer.Serialize(stream, SaveData); stream.Close(); container.Dispose(); result.AsyncWaitHandle.Close(); gameState = GameState.GameScreen; } else { gameState = GameState.GameMenuScreen; } } private void InitiateLoad() { if (!Guide.IsVisible) { device = null; StorageDevice.BeginShowSelector(PlayerIndex.One, this.LoadFromDevice, null); } } void LoadFromDevice(IAsyncResult result) { device = StorageDevice.EndShowSelector(result); IAsyncResult r = device.BeginOpenContainer(containerName, null, null); result.AsyncWaitHandle.WaitOne(); StorageContainer container = device.EndOpenContainer(r); result.AsyncWaitHandle.Close(); if (container.FileExists(filename)) { Stream stream = container.OpenFile(filename, FileMode.Open); XmlSerializer serializer = new XmlSerializer(typeof(SaveGame)); SaveGame SaveData = (SaveGame)serializer.Deserialize(stream); stream.Close(); container.Dispose(); //Update the game based on the save game file // Player Variables PlayerScore = SaveData.PlayerScore; PlayerFuel = SaveData.PlayerFuel; PlayerMaxFuel = SaveData.PlayerMaxFuel; PlayerPickTier = SaveData.PlayerPickTier; PlayerInvTier = SaveData.PlayerInvTier; PlayerFuelTier = SaveData.PlayerFuelTier; PlayerMaxDepth = SaveData.PlayerMaxDepth; PlayerCoin = SaveData.PlayerCoin; PlayerInv = SaveData.PlayerInv; PlayerMaxInv = SaveData.PlayerMaxInv; PlayerDepth = SaveData.PlayerDepth; PlayerPosition = SaveData.PlayerPosition; // Player Inventory Variables PlayerInventoryCoalOre = SaveData.PlayerInventoryCoalOre; PlayerInventoryCopperOre = SaveData.PlayerInventoryCopperOre; PlayerInventoryTinOre = SaveData.PlayerInventoryTinOre; PlayerInventoryIronOre = SaveData.PlayerInventoryIronOre; PlaceHolder = SaveData.PlaceHolder; // Player Statistics TotalMoneyAquired = SaveData.TotalMoneyAquired; TotalUpgradesAquired = SaveData.TotalUpgradesAquired; TotalMovesMade = SaveData.TotalMovesMade; TotalFuelUsed = SaveData.TotalFuelUsed; TotalBlocksMined = SaveData.TotalBlocksMined; TotalDirtBlocksMined = SaveData.TotalDirtBlocksMined; TotalCoalOre = SaveData.TotalCoalOre; TotalCopperOre = SaveData.TotalCopperOre; TotalTinOre = SaveData.TotalTinOre; TotalIronOre = SaveData.TotalIronOre; // Game Map Array gameState = GameState.GameScreen; } else { gameState = GameState.MainMenuScreen; } } } }
  15. Shawn Naef

    C# XNA 4.0 How to serialize a 2D array?

    I still need help with this issue if anyone knows the answer. Thanks
  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!