【YouTube補足】オセロソースコード&実行ファイルの再アップ」への5件のフィードバック

  1. 泉谷 航

    初期配置の黒と白を入れ替えると、ゲーム終了後の勝敗の表示が何度も出てきます。初期配置の色を反転させるには
    どうすればいいですか。
    また、AIが先手の場合はどこを変更すればいいですか。

    返信
    1. ほむほむ 投稿作成者

      泉谷さん

      コメントありがとうございます。ほむほむです。

      こちらの環境では勝敗の表示が何度も出てくる症状は確認できませんでした。
      (このページのソースコードを参照しました)

      1.初期の配置ですが、SceneGame.csの84~87行目がそれにあたります。
        こちらを
        SpriteKoma.KomaType.Black→SpriteKoma.KomaType.White
        SpriteKoma.KomaType.White→SpriteKoma.KomaType.Black
        入れ替わると思います。
        また変則では、
      getSpriteKoma(2, 2).Type = SpriteKoma.KomaType.White;
        などと追記すると、5個目の石が初期盤面に現れます。

      2.AIの変更ですが、46~48行目がそれにあたります。
        m_player[0] = new PlayerMe(this); はプレイヤーに操作をさせるタスクで、
        m_player[1] = new PlayerRandom(this); はランダムAIになります。
        そのため、先後を入れ替えるためには
        m_player[0] = new PlayerRandom(this);
        m_player[1] = new PlayerMe(this);
        とすると、実現できると思います。

        ちなみに、下記のようにすると両方ランダムになり、
        m_player[0] = new PlayerRandom(this);
        m_player[1] = new PlayerRandom(this);

        独自にPlayerRandom2のようなクラスを作れば
        m_player[0] = new PlayerRandom(this);
        m_player[1] = new PlayerRandom2(this);
        と、別のアルゴリズム同士で対戦させることも可能です。

      ちょっと動画から間が空いてしまいましたが、このあたりは後日動画で補足したいと思います。

      返信
      1. 泉谷 航

        ありがとうございます。
        ホームページの実行ファイルはボードにマス目が入っていますが、どうすればマス目が引けるのですか

        返信
  2. ほむほむ 投稿作成者

    泉谷さん

    コメントありがとうございます。ほむほむです。

    現在アップされているものが少し過去のソースで、現在のソースはどこかにいってしまったため、
    場所と関数をヒントとしてお伝えします。

    場所:SpriteBg.cs public override void onDraw(Graphics g)

    関数
    線を引く:g.DrawLine(Pens.Black, 0, 0, 10, 10);
    円を書く(埋める):g.FillEllipse(Brushes.Black, 0, 0, 6, 6);

    返信
  3. とむ

    AIをランダムではなく、もう少し強するため、評価値を付けたい
    のですがどこをいじれば良いのでしょうか?

    返信

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください