Ejemplo n.º 1
0
        int GetColumn(Tile Start, Tile end)
        {
            String StartName = Path.GetFileNameWithoutExtension(Start.Filename);
            String EndName = Path.GetFileNameWithoutExtension(end.Filename);
            String[] strs = StartName.Split('-');
            int startRow = int.Parse(strs[0]);
            int startColumn = int.Parse(strs[1]);
            strs = EndName.Split('-');
            int endRow = int.Parse(strs[0]);
            int endColumn = int.Parse(strs[1]);

            return endColumn - startColumn+1;
        }
Ejemplo n.º 2
0
        public Detail LoadMapDetail()
        {
            Detail detail = new Detail();

            String detail_file_name = Path.Combine(url, "detail.txt");
            FileStream file = new FileStream(detail_file_name, FileMode.Open);
            StreamReader reader = new StreamReader(file, Encoding.UTF8);
            String level_str = reader.ReadLine();
            String[] lvls = level_str.Split(' ');
            file.Close();
            reader.Close();

            for (int i = 0; i < lvls.Length; i++)
            {
                Level level = new Level();
                String lvl_path_name = Path.Combine(url, lvls[i]);
                string[] fileList = System.IO.Directory.GetFileSystemEntries(lvl_path_name);
                for (int j = 0; j < fileList.Length;j = j+4 )
                {
                    Tile tile = new Tile();
                    String name = Path.GetFileNameWithoutExtension(fileList[j]);
                    tile.Filename = fileList[j+1];
                    file = new FileStream(fileList[j], FileMode.Open);
                    reader = new StreamReader(file, Encoding.UTF8);
                    tile.Dx = double.Parse(reader.ReadLine());
                    reader.ReadLine();
                    reader.ReadLine();
                    tile.Dy = -double.Parse(reader.ReadLine());
                    tile.X = double.Parse(reader.ReadLine());
                    tile.Y = double.Parse(reader.ReadLine());

                    String Name = System.IO.Path.GetFileNameWithoutExtension(tile.Filename);
                    String[] strs = Name.Split('-');
                    tile.Row = int.Parse(strs[0]);
                    tile.Column =  int.Parse(strs[1]);
                    tile.RowColumn = tile.Row + "-" + tile.Column;
                    level.M_Tiles.Add(tile.RowColumn,tile);
                }
                level.FTile = level.M_Tiles[level.M_Tiles.Keys.First<String>()];
                level.LTile = level.M_Tiles[level.M_Tiles.Keys.Last<String>()];
                level.Level_Name = lvls[i];
                detail.Levels.Add(level);
            }

            return detail;
        }
Ejemplo n.º 3
0
 public Tile getTile(int row, int column)
 {
     Tile FTile = M_Tiles[M_Tiles.Keys.First<String>()];
     Tile LTile = M_Tiles[M_Tiles.Keys.Last<String>()];
     Tile t = null;
     if (row < FTile.Row || row > LTile.Row || column < FTile.Column || column > LTile.Column)
     {
         t = new Tile();
         t.Dx = FTile.Dx;
         t.Dy = FTile.Dy;
         t.X = FTile.X + (column - FTile.Column) * 256 * t.Dx;
         t.Y = FTile.Y - (row - FTile.Row) * 256 * t.Dy;
         t.Filename = "map/default.jpg";
     }
     else
         t = M_Tiles[row + "-" + column];
     return t;
 }
Ejemplo n.º 4
0
 public List<Tile> GetTiles_M(int row, int column)
 {
     Tile FTile = M_Tiles[M_Tiles.Keys.First<String>()];
     Tile LTile = M_Tiles[M_Tiles.Keys.Last<String>()];
     List<Tile> list = new List<Tile>();
     for (int i = row; i < row + Total_Row;i++ )
         for(int j=column;j<column + Total_Column ; j++)
         {
             Tile t = null;
             if (i < FTile.Row || i > LTile.Row || j < FTile.Column || j > LTile.Column)
             {
                 t = new Tile();
                 t.Dx = FTile.Dx;
                 t.Dy = FTile.Dy;
                 t.X = FTile.X + (j - FTile.Column) * 256 * t.Dx;
                 t.Y = FTile.Y - (i - FTile.Row) * 256 * t.Dy;
                 t.Filename = "map/default.jpg";
             }
             else
                 t = M_Tiles[i + "-" + j];
             list.Add(t);
         }
     return list;
 }