public void TestGenerateGameplay() { PrizeLevels prizeLevels = createPrizeLevels(); List<DivisionModel> divisions = new List<DivisionModel>(); MainWindowModel.Instance.DivisionsModel = new DivisionsModel(); DivisionModel div1 = new DivisionModel(); div1.DivisionNumber = 1; div1.addPrizeLevel(prizeLevels.getPrizeLevel(0)); divisions.Add(div1); DivisionModel div2 = new DivisionModel(); div2.DivisionNumber = 2; div2.addPrizeLevel(prizeLevels.getPrizeLevel(1)); divisions.Add(div2); //DivisionModel div3 = new DivisionModel(); //div3.DivisionNumber = 3; //div3.addPrizeLevel(prizeLevels.getPrizeLevel(3)); //divisions.Add(div3); //DivisionModel div4 = new DivisionModel(); //div4.DivisionNumber = 4; //div4.addPrizeLevel(prizeLevels.getPrizeLevel(4)); //divisions.Add(div4); ITile board = createBoard(prizeLevels); List<ITile> boards = new List<ITile>(); boards.Add(board); GamePlayGeneration gp = new GamePlayGeneration(boards); gp.Generate(3, divisions, prizeLevels.prizeLevels, 1); string output = gp.GetFormattedGameplay(boards); }
/// <summary> /// The thread to run to create the board file. /// </summary> private void ProcessThread(DoWorkEventArgs e) { //open save dialog string filename = OpenSaveWindow(); if ( !string.IsNullOrEmpty( filename )) { _processCanceled = false; int minMove = 0; int maxMove = 0; if (MainWindowModel.Instance.GameSetupModel.DiceSelected) { minMove = MainWindowModel.Instance.GameSetupModel.NumDice; maxMove = MainWindowModel.Instance.GameSetupModel.NumDice * 6; } else { minMove = 1; maxMove = MainWindowModel.Instance.GameSetupModel.SpinnerMaxValue; } Collection_Game_Tool.Services.Tiles.ITile boardFirstTile = new BoardGeneration(e).GenerateBoard( MainWindowModel.Instance.GameSetupModel.BoardSize, MainWindowModel.Instance.GameSetupModel.InitialReachableSpaces, minMove, maxMove, MainWindowModel.Instance.GameSetupModel.NumMoveBackwardTiles, MainWindowModel.Instance.GameSetupModel.NumMoveForwardTiles, MainWindowModel.Instance.PrizeLevelsModel, MainWindowModel.Instance.GameSetupModel.MoveForwardLength, MainWindowModel.Instance.GameSetupModel.MoveBackwardLength ); if (e != null && e.Cancel) return; List<Collection_Game_Tool.Services.Tiles.ITile> boards = new List<Collection_Game_Tool.Services.Tiles.ITile>(); boards.Add(boardFirstTile); if (e != null && e.Cancel) return; GamePlayGeneration generator = new GamePlayGeneration(boards); StringBuilder formattedPlays = new StringBuilder(); foreach (Collection_Game_Tool.Services.Tiles.ITile board in boards) { if (e != null && e.Cancel) return; formattedPlays.Append(generator.GetFormattedGameplay(boards)); } if (e != null && e.Cancel) return; // write to file File.WriteAllText(filename, formattedPlays.ToString()); } else { _processCanceled = true; } }