Adding Player state to TournamentPlayer and TournamentPanel.

This commit is contained in:
LevelX2 2013-07-01 17:11:44 +02:00
parent 7c5f1efe71
commit 06163d6ac5
8 changed files with 84 additions and 5 deletions

View file

@ -0,0 +1,30 @@
package mage.constants;
/**
*
* @author LevelX2
*/
public enum TournamentPlayerState {
JOINED ("Joined"),
DRAFTING ("Drafting"),
CONSTRUCTING ("Constructing"),
DUELING ("Dueling"),
SIDEBOARDING ("Sideboarding"),
WAITING ("Waiting for next round"),
ELIMINATED ("Eliminated"),
CANCELED ("Canceled"),
FINISHED ("Finished"); // winner or player in swiss style
private String text;
TournamentPlayerState(String text) {
this.text = text;
}
@Override
public String toString() {
return text;
}
}

View file

@ -33,6 +33,7 @@ import java.util.concurrent.CopyOnWriteArrayList;
import mage.cards.Card;
import mage.cards.ExpansionSet;
import mage.cards.decks.Deck;
import mage.constants.TournamentPlayerState;
import mage.game.events.*;
import mage.game.events.TableEvent.EventType;
import mage.game.match.Match;
@ -146,6 +147,11 @@ public abstract class TournamentImpl implements Tournament {
Round round = new Round(rounds.size() + 1);
rounds.add(round);
List<TournamentPlayer> roundPlayers = getActivePlayers();
if (roundPlayers.size() == 1) {
TournamentPlayer winner = roundPlayers.get(0);
winner.setState(TournamentPlayerState.FINISHED);
winner.setStateInfo("Winner");
}
while (roundPlayers.size() > 1) {
int i = rnd.nextInt(roundPlayers.size());
TournamentPlayer player1 = roundPlayers.get(i);

View file

@ -30,6 +30,7 @@ package mage.game.tournament;
import mage.cards.Card;
import mage.cards.decks.Deck;
import mage.constants.TournamentPlayerState;
import mage.players.Player;
/**
@ -40,6 +41,8 @@ public class TournamentPlayer {
protected int points;
protected String playerType;
protected TournamentPlayerState state;
protected String stateInfo = "";
protected Player player;
protected Deck deck;
protected String results = "";
@ -50,6 +53,7 @@ public class TournamentPlayer {
public TournamentPlayer(Player player, String playerType) {
this.player = player;
this.playerType = playerType;
this.state = TournamentPlayerState.JOINED;
}
public Player getPlayer() {
@ -77,6 +81,7 @@ public class TournamentPlayer {
}
public void setEliminated() {
this.setState(TournamentPlayerState.ELIMINATED);
this.eliminated = true;
}
@ -89,12 +94,14 @@ public class TournamentPlayer {
}
public void setConstructing() {
this.setState(TournamentPlayerState.CONSTRUCTING);
this.doneConstructing = false;
}
public void submitDeck(Deck deck) {
this.deck = deck;
this.doneConstructing = true;
this.setState(TournamentPlayerState.WAITING);
}
public void updateDeck(Deck deck) {
@ -126,4 +133,21 @@ public class TournamentPlayer {
public void setResults(String results) {
this.results = results;
}
public TournamentPlayerState getState() {
return state;
}
public void setState(TournamentPlayerState state) {
this.state = state;
}
public String getStateInfo() {
return stateInfo;
}
public void setStateInfo(String stateInfo) {
this.stateInfo = stateInfo;
}
}