internal void Display(IBattleshipAi ai1, IBattleshipAi ai2, BattleshipBoard board1, BattleshipBoard board2) { board1Id = board1.GetId(); board2Id = board2.GetId(); boardData[board1Id] = new BoardObject(board1Id, ai1.GetTeamName()); boardData[board2Id] = new BoardObject(board2Id, ai2.GetTeamName()); PrintBoard(); Parallel.Invoke(() => { ai1.Play(board1); }, () => { ai2.Play(board2); }); //Console.WriteLine(); //Console.WriteLine(ai1.GetTeamName() + " WIN!!"); }
public async Task<string> DoPlay(int problemNo) { if (display.IsPlaying()) { return "Playing game."; } var dlls = GetBattleshipAis(); IBattleshipAi ai1 = dlls[0]; IBattleshipAi ai2 = dlls[1]; display = new WebDisplay(); //display.Delay = 200; string[,] problem = getProblem(problemNo); BattleshipBoard board1 = new BattleshipBoard(display, problem); BattleshipBoard board2 = new BattleshipBoard(display, problem); display.setBoardId1(board1.GetId(), ai1.GetTeamName()); display.setBoardId2(board2.GetId(), ai2.GetTeamName()); Task.Factory.StartNew(() => { Parallel.Invoke(() => ai1.Play(board1), () => ai2.Play(board2)); }); return "Starting game."; }