public void NotifyView() { /* Console.WriteLine("----------------------------------------------------"); * Console.WriteLine("Moves left" + string.Join(",", model.GetMovesLeft())); * Console.WriteLine("Number of final reachable states: " + MovesCalculator.GetReachableStatesThisTurn(model.GetGameBoardState(), model.playerToMove(), model.GetMovesLeft()).Count()); * Console.WriteLine("----------------------------------------------------"); * //Console.ReadLine();*/ var changes = model.GetChanges(); if (changes.Where(c => c is Move).Count() > 0) { Console.WriteLine("----------------------------------------------------"); Console.WriteLine("This is coming from ConsoleView: " + identifier); Console.WriteLine(model.GetGameBoardState().Stringify()); Console.WriteLine("----------------------------------------------------"); } }
//Generates XML for the changes that happened during the previous turn, //and transmits it to the client, which will pass it to the server public void MakeMove() { var turn = model.GetPreviousTurn(); if (turn == null) { client.SendDataToPlayer(string.Empty); return; } var state = model.GetGameBoardState(); var data = UpdateCreatorParser.CreateXmlForGameBoardState(state, ""); var moves = turn.moves; data += UpdateCreatorParser.GenerateXmlForListOfMoves(moves); data += UpdateCreatorParser.GenerateXmlForDice(turn.dice); data = "<update>" + data + "</update>"; client.SendDataToServer(data); }
public GameBoardState GetGameBoardState() { return(bg.GetGameBoardState()); }