コード例 #1
0
ファイル: Program.cs プロジェクト: n4kong/code_challenge1
        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!!");
        }
コード例 #2
0
        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.";
        }