コード例 #1
0
        private MoveEntity getMoveFromIA(MoveEntity move)
        {
            var iaMove = getIaMove(move);

            move.computerMove = iaMove;
            move.playerWins   = GameAppHelpers.getPlayerWins(iaMove, move.humanMove, move.gameType);
            return(move);
        }
コード例 #2
0
        private MoveEntity getMoveFromIA(IList <MoveEntity> moves)
        {
            var iaMove   = getIaMove(moves);
            var lastMove = moves[moves.Count - 1];

            lastMove.computerMove = iaMove;
            lastMove.playerWins   = GameAppHelpers.getPlayerWins(iaMove, lastMove.humanMove, lastMove.gameType);
            return(lastMove);
        }
コード例 #3
0
        private int getIaMove(MoveEntity move)
        {
            if (move.difficultyType <= 1) //User always wins (0,1)
            {
                return(GameAppHelpers.getMove(move.humanMove, move.gameType, 0));
            }

            if (move.difficultyType <= 5) //We use the random factor (2,5)
            {
                int gameMod = (int)GameModes.ClassicGameMove;
                if (move.gameType == 1)
                {
                    gameMod = (int)GameModes.SpockGameMove;
                }
                return(_random.Next(0, gameMod - 1));
            }

            if (move.difficultyType > 9) //User ALWAYS looses (10)
            {
                return(GameAppHelpers.getMove(move.humanMove, move.gameType, 1));
            }

            return(GameAppHelpers.getMove(move.humanMove, move.gameType, _random.Next(0, 2)));
        }