예제 #1
0
        public void TestMethod1()
        {
            IRandomProvider randomProvider = NSubstitute.Substitute.For <IRandomProvider>();

            randomProvider.Next(0, 0).ReturnsForAnyArgs(5);

            SimpleAi simpleAi = new SimpleAi(this.GameController, this.Analyzer, randomProvider, this.MillRuleEvaluator);
            Move     move     = simpleAi.Analyse();

            simpleAi.Act(move);
        }
예제 #2
0
    public override void OnStart(Dictionary <string, object> args)
    {
        game = new Reversi();

        if (args.ContainsKey("mode") && args["mode"] is string mode)
        {
            switch (mode)
            {
            case "Multiplayer":
                Mode = GameMode.MultiPlayer;
                break;

            case "SimpleAI":
                ai   = new SimpleAi(game);
                Mode = GameMode.VsCpu;
                break;

            case "DynamicAI":
                Mode = GameMode.VsCpu;
                break;

            case "RandomAI":
                ai   = new RandomAi(game);
                Mode = GameMode.VsCpu;
                break;

            default:
                break;
            }
        }

        boardView        = new Container();
        boardView.Scale *= 2;
        Root.Add(boardView);

        var title = new TextElement("リバーシするヤーツ", DFFont.GetDefault(32), Color.White)
        {
            Location = (32, 32)
        };

        Root.Add(title);

        turn = new TextElement("のターン", DFFont.GetDefault(16), Color.White);
        Root.Add(turn);

        score = new TextElement("黒 / 白", DFFont.GetDefault(16), Color.White);
        Root.Add(score);

        tileStoneBlack = Tile.LoadFrom("resources/textures/stone-black.png");
        tileStoneWhite = Tile.LoadFrom("resources/textures/stone-white.png");
        tilePrompt     = Tile.LoadFrom("resources/textures/prompt.png");

        var backdrop = new Sprite("resources/textures/board.png");

        boardView.Add(backdrop);

        stones = new Tilemap((16, 16));
        boardView.Add(stones);

        aud.Play(bgmMain, 0);
        boardView.Location = (DF.Window.Size.X / 2 - 128, 96);

        Render();
    }