private void CurrentMapWndItemDiscovered(object sender, MapItem e) { switch (e) { case MapItem.TenCoins: coins += 10; UpdateCoins(); break; case MapItem.TwentyCoins: coins += 20; UpdateCoins(); break; case MapItem.Key: keyCount++; UpdateLoot(); break; case MapItem.Door: keyCount--; UpdateLoot(); break; case MapItem.EndPoint: Application.DoEvents(); ForgetMapDiscoverWindow(); _ = new FinishWindow(currentFileName, steps, coins) { panel1 = { Parent = panel1 } }; ClearStatusBar(); break; } }
/// <summary> /// Displays the current state of the maze in view /// </summary> /// <param name="winMaze">WinMaze object</param> /// <param name="floor">Current floor to displays</param> private void printMaze(WinMaze winMaze, int floor) { CurrentMazeCanvas = new Canvas(); SecondaryMazeCanvas = new Canvas(); if ((winMaze.PosZ == 0) && (winMaze.PosX == (winMaze.getMaze().MyColumns - 1)) && (winMaze.PosY == (winMaze.getMaze().MyRows - 1)) && !mFinished) { mFinished = true; FinishWindow finishWindow = new FinishWindow(); finishWindow.Show(); } staticMaze = winMaze; if (solExists) { solExists = false; winMaze = originalWinMaze; winMaze.clearSolution(); } else { originalWinMaze = winMaze; } MazeBoard mazeBoard = new MazeBoard(winMaze, winMaze.PosZ, winMaze.CellSize, 0); CurrentMazeCanvas.Children.Add(mazeBoard); Canvas.SetLeft(mazeBoard, 30); Canvas.SetTop(mazeBoard, 10); if ((winMaze.PosZ + 1) < winMaze.getMaze().MyHeight) // Upper level display { MazeBoard upMazeBoard = new MazeBoard(winMaze, floor, 10, 1); SecondaryMazeCanvas.Children.Add(upMazeBoard); Canvas.SetLeft(upMazeBoard, 0); Canvas.SetTop(upMazeBoard, 30); } if ((winMaze.PosZ - 1) >= 0) { MazeBoard downMazeBoard = new MazeBoard(winMaze, floor, 10, -1); // Lower level display SecondaryMazeCanvas.Children.Add(downMazeBoard); Canvas.SetLeft(downMazeBoard, 0); Canvas.SetTop(downMazeBoard, 200); } isMazeExists = true; staticMaze = winMaze; }