コード例 #1
0
 public Save()
 {
     ColorIndex      = 1;
     CurrentMaze     = new List <MazeNodeData>();
     CurrentSolution = new List <MazeNodeData>();
     CurrentPosition = new MazeNodeData();
 }
コード例 #2
0
 public static void saveMove(MazeNodeData position, int moves, int score)
 {
     save.CurrentPosition       = position;
     save.CurrentRemainingMoves = moves;
     save.CurrentScore          = score;
     if (save.HighScore < save.CurrentScore)
     {
         save.HighScore = save.CurrentScore;
     }
     SaveToXml();
 }
コード例 #3
0
    public MazeNodeData convertToMazeNodeData()
    {
        MazeNodeData output = new MazeNodeData();

        output.x = x;
        output.y = y;
        List <MazeNode> directions = new List <MazeNode>();

        directions.Add(back);
        if (forwards.Count > 0)
        {
            directions.AddRange(forwards);
        }
        foreach (MazeNode node in directions)
        {
            if (node != null)
            {
                if (output.x == node.x)
                {
                    if (output.y < node.y)
                    {
                        output.dir.Add(direction.north);
                    }
                    else
                    {
                        output.dir.Add(direction.south);
                    }
                }
                else
                {
                    if (output.x < node.x)
                    {
                        output.dir.Add(direction.east);
                    }
                    else
                    {
                        output.dir.Add(direction.west);
                    }
                }
            }
        }
        return(output);
    }