Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public void auction(Property property) {
- // TODO auction needs to be implemented
- List<Player> players = game.getPlayers();
- List<Player> bidders = new ArrayList<Player>();
- Player c = game.getCurrentPlayer();
- for(Player player: players) {
- if (player == c) {
- } else {
- bidders.add(player);
- }
- }
- bidders.add(c);
- int topbid = 0;
- while(bidders.size() > 1){
- Player bidder = bidders.remove(0);
- if(!bidder.isBroke() && !bidder.isInPrison())
- {
- String choice = gui.getUserSelection(
- "Player " + bidder.getName() +
- ": Do you want to bid?",
- "yes",
- "no");
- if (choice.equals("yes")) {
- int userbid = gui.getUserInteger("Player " + bidder.getName() + " Bid:", topbid, bidder.getBalance() );
- topbid = userbid;
- bidders.add(bidder);
- }
- }
- }
- if (bidders.size() == 1) {
- Player bidder = bidders.remove(0);
- try {
- paymentToBank(bidder, topbid);
- bidder.addOwnedProperty(property);
- property.setOwner(bidder);
- } catch (PlayerBrokeException e) {
- // if the payment fails due to the player being broke,
- // an auction (among the other players is started
- // then the current move is aborted by casting the
- // PlayerBrokeException again
- }
- return;
- }
- gui.showMessage("Now, there has been an auction of " + property.getName() + ".");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement