Beispiel #1
0
 private Game()
 {
     _reversiPlayer = GameUtils.Player;      //AI
     Player         = GameUtils.PlayerColor; //Color: Black or White
     AuthCode       = GameUtils.AuthCode;    //Authentication code
     BaseUrl        = GameUtils.BaseUrl;     //URL of the server
 }
Beispiel #2
0
 private void _InitA2A()
 {
     Send("INIT");
     Send("OBSV");
     _Reversi = new Reversi();
     _Player  = 0;
 }
Beispiel #3
0
 private void _InitP2P()
 {
     Send("INIT");
     lock (MatchingList)
     {
         if (MatchingList.Count != 0)
         {
             var tuple = MatchingList[0];
             MatchingList.RemoveAt(0);
             _Reversi      = tuple.Item2;
             _Other        = tuple.Item1;
             _Other._Other = this;
             if (new Random().NextDouble() >= 0.5)
             {
                 _Player        = ReversiPlayer.Dark;
                 _Other._Player = ReversiPlayer.Light;
             }
             else
             {
                 _Player        = ReversiPlayer.Light;
                 _Other._Player = ReversiPlayer.Dark;
             }
             _Other._Start();
             _Start();
         }
         else
         {
             _Reversi = new Reversi();
             MatchingList.Add(new Tuple <ReversiBehavior, Reversi>(this, _Reversi));
         }
     }
 }
Beispiel #4
0
        public ReversiAI(Reversi reversi, ReversiPlayer player, string modelUri)
        {
            _Reversi  = reversi;
            _Player   = player;
            _ModelUri = modelUri;

            _Device = DeviceDescriptor.GPUDevice(0);
        }
Beispiel #5
0
        public ReversiManager(ReversiPlayer p1, ReversiPlayer p2)
        {
            this.board   = new ReversiBoard();
            this.players = new ReversiPlayer[] { p1, p2 };
            this.turn    = 0;

            // check marks
            if (p1.GetMark() == ReversiMark.EMPTY)
            {
                throw new ReversiException("player mark cannot be empty");
            }
            if ((int)p1.GetMark() * (-1) != (int)p2.GetMark())
            {
                throw new ReversiException("player marks are invalid");
            }
        }
Beispiel #6
0
 private void _InitP2A()
 {
     Send("INIT");
     _Reversi = new Reversi();
     if (new Random().NextDouble() >= 0.5)
     {
         _Player = ReversiPlayer.Dark;
         _AI0    = new ReversiAI(_Reversi, ReversiPlayer.Light, Path);
         // TODO
     }
     else
     {
         _Player = ReversiPlayer.Light;
         _AI0    = new ReversiAI(_Reversi, ReversiPlayer.Dark, Path);
     }
     _Start();
 }