private void aiMove(ReversiLogic.Turn nowMoving) { var canMove = reversi.getCanPutWithDiff(nowMoving); //Bigger in Front canMove.Sort((p2, p1) => { return(p1.Value.CompareTo(p2.Value)); }); int row = -1; int col = -1; switch (diffculty) { case Diffculty.Easy: row = canMove[canMove.Count - 1].Key.Key; col = canMove[canMove.Count - 1].Key.Value; break; case Diffculty.Mediem: row = canMove[canMove.Count / 2].Key.Key; col = canMove[canMove.Count / 2].Key.Value; break; case Diffculty.Hard: row = canMove[0].Key.Key; col = canMove[0].Key.Value; break; case Diffculty.Random: Random rand = new Random((int)DateTime.Now.Ticks); int idx = rand.Next() % canMove.Count; row = canMove[idx].Key.Key; col = canMove[idx].Key.Value; break; } if (doAI_Wait) { System.Threading.Thread.Sleep(300); } Dispatcher.BeginInvokeOnMainThread(() => { reversi.PutDot(row, col); }); }
protected void reversiBTNClicked(object sender, EventArgs args) { var btn = sender as ReversiButton; if (btn != null) { if (btn.BackgroundColor == Color.Blue) { int row = btn.gameRow; int col = btn.gameCol; reversi.PutDot(row, col); } } }
protected void reversiBTNClicked(object sender, EventArgs args) { var btn = sender as ReversiButton; if (btn != null) { if (btn.BackgroundColor == Color.Blue) { int row = btn.gameRow; int col = btn.gameCol; reversi.PutDot(row, col); string telegram = "PUT, " + reversi.GetGridSerialize() + ", Turn: " + ((reversi.WhoTurn == ReversiLogic.Turn.Black) ? "Black" : "White"); sendTCPPacket(telegram); } } }