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 }
private void _InitA2A() { Send("INIT"); Send("OBSV"); _Reversi = new Reversi(); _Player = 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)); } } }
public ReversiAI(Reversi reversi, ReversiPlayer player, string modelUri) { _Reversi = reversi; _Player = player; _ModelUri = modelUri; _Device = DeviceDescriptor.GPUDevice(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"); } }
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(); }