internal void MoveDown(Character character) { if ((character.TileNumber / WidthUnits != HeightUnits - 1) && !WallTiles.Contains(character.TileNumber + 10)) { double x = MyFoxDraw.GetLeft(MyFoxDraw.Items[character.CharacterId]); double y = MyFoxDraw.GetTop(MyFoxDraw.Items[character.CharacterId]) + 50; MyFoxDraw.SetPosition(MyFoxDraw.Items[character.CharacterId], x, y); character.TileNumber += 10; } }
internal void MoveUp(Character character) { if ((character.TileNumber / WidthUnits != 0) && !WallTiles.Contains(character.TileNumber - 10)) { double x = MyFoxDraw.GetLeft(MyFoxDraw.Items[character.CharacterId]); double y = MyFoxDraw.GetTop(MyFoxDraw.Items[character.CharacterId]) - 50; MyFoxDraw.SetPosition(MyFoxDraw.Items[character.CharacterId], x, y); character.TileNumber -= 10; } }
public Area(FoxDraw myFoxDraw) { MyFoxDraw = myFoxDraw; FreeTiles = new List <int>(); for (int i = 0; i < WidthUnits * HeightUnits; i++) { if (!WallTiles.Contains(i)) { FreeTiles.Add(i); } } }
public void DrawMap() { for (int i = 0; i < HeightUnits; i++) { for (int j = 0; j < WidthUnits; j++) { if (WallTiles.Contains(WidthUnits * i + j)) { MyFoxDraw.AddImage("./Assets/wall.png", 50 * j, 50 * i); } else { MyFoxDraw.AddImage("./Assets/floor.png", 50 * j, 50 * i); } } } }
private List <string> FindOptions(Character character) { var list = new List <string>(); if ((character.TileNumber % 10) != 9 && !WallTiles.Contains(character.TileNumber + 1)) { list.Add("right"); } if ((character.TileNumber / 10) != 0 && !WallTiles.Contains(character.TileNumber - 10)) { list.Add("up"); } if ((character.TileNumber / 10) != 10 && !WallTiles.Contains(character.TileNumber + 10)) { list.Add("down"); } if ((character.TileNumber % 10) != 0 && !WallTiles.Contains(character.TileNumber - 1)) { list.Add("left"); } return(list); }