Compare commits

..

No commits in common. "e7f7a20ea6242ec70e9890404a8e7cefd56f8bab" and "136be17443d77bfbe3af20e171e49ec320edfee3" have entirely different histories.

4 changed files with 61 additions and 70 deletions

View File

@ -38,22 +38,16 @@ public class ByeGame extends Game{
@Override @Override
public List<Game> getAllGames() { public List<Game> getAllGames()
List<Game> temp = new ArrayList<>(); {
temp.add(this); List<Game> temp = new ArrayList(Arrays.asList(this.getId()));
temp.addAll(ref.getAllGames()); temp.addAll(ref.getAllGames());
return temp; return temp;
} }
@Override @Override
public List<String> getRemaningPlayers() { public List<String> getRemaningPlayers() {
if (winner != null) { // TODO Auto-generated method stub
return Arrays.asList(winner); throw new UnsupportedOperationException("Unimplemented method 'getRemaningPlayers'");
} else {
List<String> players = new ArrayList<>();
players.add(player1);
players.addAll(ref.getRemaningPlayers());
return players;
}
} }
} }

View File

@ -3,11 +3,10 @@ package tournament;
import java.util.List; import java.util.List;
public abstract class Game { public abstract class Game {
private static int counter = 0; private static int counter = 0;
protected final int id; private final int id;
//null nicht notwendig //null nicht notwendig
protected String winner = null; private String winner = null;
protected Game() { protected Game() {
@ -23,17 +22,13 @@ public abstract class Game {
} }
public void setWinner(String winner) { public void setWinner(String winner) {
if (this.winner != null) String player1 = getPlayer1();
throw new IllegalStateException("winner already set"); System.out.println("Player 1: " + player1);
if (getPlayer1() == null || getPlayer2() == null) String player2 = getPlayer2();
throw new IllegalStateException("Opponents are not yet known"); System.out.println("Player 2: " + player2);
if (getPlayer1().equals(winner) || getPlayer2().equals(winner)) this.winner = this.winner == null && player1 != null && player2 != null && (winner == player1 || winner == player2) ? this.winner = winner : this.winner;
this.winner = winner;
else
throw new IllegalArgumentException("Unknown player " + winner);
} }
public abstract String getPlayer1(); public abstract String getPlayer1();
public abstract String getPlayer2(); public abstract String getPlayer2();
@ -48,4 +43,5 @@ public abstract class Game {
return "Game: " + getId() + " Player: "+ getPlayer1()+ " vs Player: " + getPlayer2() + "Winner is: "+ getWinner(); return "Game: " + getId() + " Player: "+ getPlayer1()+ " vs Player: " + getPlayer2() + "Winner is: "+ getWinner();
} }
} }

View File

@ -5,46 +5,45 @@ import java.util.Arrays;
import java.util.List; import java.util.List;
public class OrdinaryGame extends Game{ public class OrdinaryGame extends Game{
private Game Player1; private Game Player1;
private Game Player2; private Game Player2;
public OrdinaryGame(Game Player1, Game Player2)
public OrdinaryGame(Game Player1, Game Player2) { {
this.Player1 = Player1; this.Player1 = Player1;
this.Player2 = Player2; this.Player2 = Player2;
} }
@Override @Override
public String getPlayer1() { public String getPlayer1()
{
return Player1.getWinner(); return Player1.getWinner();
} }
@Override @Override
public String getPlayer2() { public String getPlayer2()
{
return Player2.getWinner(); return Player2.getWinner();
} }
@Override @Override
public List<String> getAllPlayers() { public List<String> getAllPlayers()
List<String> temp = new ArrayList<>(); {
List<String> temp = new ArrayList();
temp.addAll(Player1.getAllPlayers()); temp.addAll(Player1.getAllPlayers());
temp.addAll(Player2.getAllPlayers()); temp.addAll(Player2.getAllPlayers());
return temp; return temp;
} }
@Override @Override
public List<String> getRemaningPlayers() { public List<String> getRemaningPlayers()
{
if(this.getWinner() != null) if(this.getWinner() != null)
return new ArrayList<>(Arrays.asList(this.getWinner())); return new ArrayList<>(Arrays.asList(this.getWinner()));
List<String> temp = new ArrayList<>(); List<String> temp = new ArrayList();
temp.addAll(Player1.getRemaningPlayers()); temp.addAll(Player1.getRemaningPlayers());
temp.addAll(Player2.getRemaningPlayers()); temp.addAll(Player2.getRemaningPlayers());
return temp; return temp;
} }
@Override @Override
public List<Game> getAllGames() { public List<Game> getAllGames()
List<Game> temp = new ArrayList<>(); {
List<Game> temp = new ArrayList(Arrays.asList(this.getId()));
temp.addAll(Player1.getAllGames()); temp.addAll(Player1.getAllGames());
temp.addAll(Player2.getAllGames()); temp.addAll(Player2.getAllGames());
return temp; return temp;

View File

@ -6,7 +6,6 @@ import java.util.Arrays;
import java.util.List; import java.util.List;
public class SeededGame extends Game{ public class SeededGame extends Game{
private String player1; private String player1;
private String player2; private String player2;
@ -17,32 +16,35 @@ public class SeededGame extends Game{
} }
@Override @Override
public String getPlayer1() { public String getPlayer1()
{
return player1; return player1;
} }
@Override @Override
public String getPlayer2() { public String getPlayer2()
{
return player2; return player2;
} }
@Override @Override
public List<String> getAllPlayers() { public List<String> getAllPlayers()
{
//return new ArrayList<String>(Arrays.asList(player1, player2)); //return new ArrayList<String>(Arrays.asList(player1, player2));
return List.of(player1, player2); return List.of(player1, player2);
} }
@Override @Override
public List<String> getRemaningPlayers() { public List<String> getRemaningPlayers()
if(this.getWinner() != null) { {
if(this.getWinner() != null)
return new ArrayList<>(Arrays.asList(this.getWinner())); return new ArrayList<>(Arrays.asList(this.getWinner()));
List<String> temp = new ArrayList(Arrays.asList(player1,player2));
return temp;
} }
return List.of(player1, player2);
}
@Override @Override
public List<Game> getAllGames() { public List<Game> getAllGames()
{
return List.of(this); return List.of(this);
} }
} }