public static void LoadGameWorld(string GameWorldName) { gameWorldName = GameWorldName; string fileText = File.ReadAllText("C:/AscensionGameFiles/Worlds/" + gameWorldName + ".txt"); int fileLength = (fileText.Length <= tileArray.GetLength(0) * tileArray.GetLength(1)) ? fileText.Length : tileArray.GetLength(0) * tileArray.GetLength(1); for (int n = 0; n < fileLength; n++) { int i = n / tileArray.GetLength(1); int j = n % tileArray.GetLength(1); if (fileText[n] == 'E') { tileArray[i, j] = new earthTile(new Vector2(i * tile.tileSize, j * tile.tileSize)); } else if (fileText[n] == 'A') { tileArray[i, j] = new airTile(new Vector2(i * tile.tileSize, j * tile.tileSize)); } else if (fileText[n] == 'G') { tileArray[i, j] = new goldTile(new Vector2(i * tile.tileSize, j * tile.tileSize)); } else if (fileText[n] == 'W') { tileArray[i, j] = new waterTile(new Vector2(i * tile.tileSize, j * tile.tileSize)); } } }
public static void InitializeTileArray() { for (int i = 0; i < tileArray.GetLength(0); i++) { for (int j = 0; j < tileArray.GetLength(1); j++) { if (j * 6 >= seaLevelWorldHeight) { tileArray[i, j] = new earthTile(new Vector2(i * tile.tileSize, j * tile.tileSize)); } else { tileArray[i, j] = new airTile(new Vector2(i * tile.tileSize, j * tile.tileSize)); } } } generateTerrain(); }
public static void generateCave() { int caveLength = Game1.randomGenerator.Next(maxCaveLength); /*int startX = Game1.randomGenerator.Next(tileArray.GetLength(0)); * int startY = Game1.randomGenerator.Next(tileArray.GetLength(1) - seaLevelWorldHeight / tile.tileSize) + seaLevelWorldHeight / tile.tileSize;*/ int startX = Game1.randomGenerator.Next(tileArray.GetLength(0)); int startY = Game1.randomGenerator.Next(10) + seaLevelWorldHeight / tile.tileSize; for (int i = 0; i < caveLength; i++) { if (startX > 0 && startY > seaLevelWorldHeight / tile.tileSize && startX < tileArray.GetLength(0) && startY < tileArray.GetLength(1)) { tileArray[startX, startY] = new airTile(new Vector2(startX * tile.tileSize, startY * tile.tileSize)); } int direction = Game1.randomGenerator.Next(4); switch (direction) { case 0: startY--; break; case 1: startX++; break; case 2: startY++; break; case 3: startX--; break; default: break; } } }
public void Update() { myCharacter.Update(); myCreatureManager.Update(); for (int i = 0; i < tileArray.GetLength(0); i++) { for (int j = 0; j < tileArray.GetLength(1); j++) { if (i >= 0 && j >= 0 && i < tileArray.GetLength(0) && j < tileArray.GetLength(1)) { if (tileArray[i, j].currentHealth <= 0) { tileArray[i, j] = new airTile(tileArray[i, j].startRectangle.Location.ToVector2()); } tileArray[i, j].Update(); } } } //testMerchant.Update(); //testWorm.Update(); }