public override void beginExecution(Board b, EvtOwnr evt) { theBoard = b; owner = evt; playerTurnOrder = new List <int>(); int num = -1; for (int i = 0; i < theBoard.playerOrder.Count() * 2; i++) { if (i < theBoard.playerOrder.Count()) { playerTurnOrder.Add(i); } else { num += 2; playerTurnOrder.Add(i - num); } } theBoard.addEventText("Player " + theBoard.playerOrder[0].getName() + " please place your first settlement and road."); theBoard.currentPlayer = theBoard.playerOrder[0]; if (!theBoard.currentPlayer.isAI) { enableEventObjects(); } else { Settlement settlement = theBoard.currentPlayer.agent.placeFreeSettlement(theBoard.getBoardState()); executeUpdate(settlement, null); } }
public override void beginExecution(Board b, EvtOwnr evt) { theBoard = b; owner = evt; //Locks down all but the needed controls. //Adds the onExecuteUpdate to the controls that need it. playersToRoll = new List <Player>(); playerRolls = new List <int>(); foreach (Player p in b.playerPanels) { playersToRoll.Add(p); } theBoard.addEventText(UserMessages.PlayerDiceRollPrompt(playersToRoll[0])); theBoard.currentPlayer = playersToRoll[0]; //enableEventObjects(); if (!theBoard.currentPlayer.isAI) { enableEventObjects(); } else { theBoard.dice.roll(); executeUpdate(theBoard.dice, null); } }
public override void beginExecution(Board b, EvtOwnr evt) { theBoard = b; owner = evt; enableEventObjects(); theBoard.addEventText(UserMessages.PlayerMoveThief(theBoard.currentPlayer)); }
public override void beginExecution(Board b, EvtOwnr evt) { //Since this event does not depend on user input we can safely turn // off all controls. theBoard = b; owner = evt; executeUpdate(this, new EventArgs()); }
public override void beginExecution(Board board, EvtOwnr evt) { theBoard = board; owner = evt; theBoard.addEventText(UserMessages.PlayerUsedRoadBuilding(board.currentPlayer)); theBoard.addEventText(UserMessages.ROAD_BUILDING_INSTRUCTIONS); enableEventObjects(); }
public void asyncBeginExecution(Board b, EvtOwnr evtO) { new Thread(() => { Thread.CurrentThread.IsBackground = true; Thread.Sleep(100); beginExecution(b, evtO); }).Start(); }
public override void beginExecution(Board b, EvtOwnr evt) { theBoard = b; owner = evt; if (!theBoard.currentPlayer.isAI) { enableEventObjects(); } else { theBoard.dice.roll(); executeUpdate(theBoard.dice, null); } }
public override void beginExecution(Board board, EvtOwnr evt) { activePlayer = board.currentPlayer; enableEventObjects(); theBoard = board; owner = evt; enableEventObjects(); playersToGiveUpCards = new List <Player>(); //Figure out the players that need to give up resources. foreach (Player pl in theBoard.playerOrder) { if (pl.getTotalResourceCount() > 7) { playersToGiveUpCards.Add(pl); } } executeUpdate(this, new EventArgs()); }
public override void beginExecution(Board board, EvtOwnr evt) { theBoard = board; foreach (DevelopmentCard devC in board.currentPlayer.getDevelopmentCards()) { devC.setPlayable(true); } if (!theBoard.currentPlayer.isAI) { enableEventObjects(); } else { while (PlayerSemaphore.isLocked) { var move = theBoard.currentPlayer.agent.makeMove(theBoard.getBoardState()); executeUpdate(move, null); System.Threading.Thread.Sleep(Board.AITurnDelayMilliseconds); } } }
public override void beginExecution(Board board, EvtOwnr evt) { }
public override void beginExecution(Board board, EvtOwnr evt) { theBoard = board; enableEventObjects(); owner = evt; }
public abstract void beginExecution(Board b, EvtOwnr evtO);
public override void beginExecution(Board b, EvtOwnr evtO) { throw new NotImplementedException(); }