private bool CanMove(MoveDirection direction, TileMap tileMap, float x, float y, bool TestNextDir = false) { switch (direction) { case MoveDirection.Up: if (tileMap.ReturnTile((int)(y / 16f), (int)(x / 16f)) == Tile.Wall) { return(false); } break; case MoveDirection.Down: if (tileMap.ReturnTile((int)((y / 16f) + 1), (int)(x / 16f)) == Tile.Wall) { return(false); } break; case MoveDirection.Left: if (tileMap.ReturnTile((int)(y / 16f), (int)((x / 16f))) == Tile.Wall) { return(false); } break; case MoveDirection.Right: if (tileMap.ReturnTile((int)(y / 16f), (int)((x / 16f) + 1)) == Tile.Wall) { return(false); } break; } return(true); }
private void CheckCoinsContact(TileMap tileMap, MoveDirection moveDirection) { if (InTile()) { if (tileMap.ReturnTile((int)(point2F.y / 16f), (int)(point2F.x / 16f)) == Tile.Coin) { CoinContact(this, 10); tileMap.ChangeTileToNone((int)(point2F.y / 16f), (int)(point2F.x / 16f)); tileMap.Coins--; } if (tileMap.ReturnTile((int)(point2F.y / 16f), (int)(point2F.x / 16f)) == Tile.Energizer) { CoinContact(this, 50); tileMap.ChangeTileToNone((int)(point2F.y / 16f), (int)(point2F.x / 16f)); tileMap.Coins--; } } }
private void CreateWaveMap(TileMap tileMap) { waveMap = new int [31, 29]; pathMap = new int[31, 29]; for (int i = 0; i < 31; i++) { for (int j = 0; j < 28; j++) { if (tileMap.ReturnTile(i, j) == Tile.Wall) { waveMap[i, j] = -1; pathMap[i, j] = -1; } if (tileMap.ReturnTile(i, j) != Tile.Wall) { waveMap[i, j] = 0; pathMap[i, j] = 0; } } } }
private void RandomNextAim(TileMap tileMap) { Random random = new Random(); bool getpos = false; do { int i = random.Next(1, 29); int j = random.Next(1, 26); if (tileMap.ReturnTile(i, j) == Tile.None) { getpos = true; aimI = i; aimJ = j; } }while (!getpos); }