Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Clase donde se van anotando los tantos e imprimiendo los resultados
- */
- public class Partido{
- public static void main(String args[]){
- Marcador marcador = new Marcador();
- while(!marcador.isTerminado()){
- /* Elige aleatoriamente quién anota el punto */
- if(((int)(Math.random()*10))%2==0) marcador.actualiza(false);
- else marcador.actualiza(true);
- System.out.println(marcador+"\n"); // Imprime el marcador
- }
- System.out.println("\n\n El ganador es: " + marcador.quienGana());
- }
- }
- /**
- * Clase marcador, contiene todo lo necesario para mostrar el marcador, excepto la definición de la clase Jugador
- */
- public class Marcador{
- private Jugador player1, player2;
- final int GANA = -1;
- final int DEUCE = -2;
- final int VENTAJA = -3;
- public Marcador(){
- player1 = new Jugador("Player 1");
- player2 = new Jugador("Player 2");
- }
- public Marcador(String pl1, String pl2){
- player1 = new Jugador(pl1);
- player2 = new Jugador(pl2);
- }
- /** Actualiza el marcador */
- public void actualiza(boolean anota1){
- if(anota1) player1.anota(); else player2.anota();
- if(player1.getPuntuacion()==40 && player2.getPuntuacion()==40){
- player1.setDeuce();
- player2.setDeuce();
- }
- }
- /** Comprueba si están en Deuce */
- public boolean isDeuce(){
- return player1.isDeuce() && player2.isDeuce();
- }
- /** Comprueba si el partido ha terminado */
- public boolean isTerminado(){
- return player1.getPuntuacion()==GANA || player2.getPuntuacion()==GANA;
- }
- /** Devuelve quién gana */
- public Jugador quienGana(){
- return (player1.getPuntuacion()==GANA? player1 : player2);
- }
- /** Sobreescritura de toString() */
- public String toString(){
- return player1 + " ( " + player1.getStringPuntuacion() + " - " + player2.getStringPuntuacion() + " ) " + player2;
- }
- }
- /**
- * Clase jugadro, contiene el nombre y la puntuación del susodicho.
- */
- public class Jugador{
- String nombreJugador;
- int puntuacion;
- final int GANA = 4;
- final int DEUCE = 5;
- final int VENTAJA = 6;
- final int[] marcador = {0,15,30,40,-1,-2,-3,-1};
- /** Constructor */
- public Jugador(){
- this("Player 1");
- }
- /** Constructor */
- public Jugador(String n){
- nombreJugador = n;
- puntuacion = 0;
- }
- /** Sube la puntuación del marcador */
- public void anota(){ puntuacion++; }
- /** Comprueba si está en Deuce */
- public boolean isDeuce(){ return puntuacion==DEUCE; }
- /** Pon la puntuación en Deuce */
- public void setDeuce(){ puntuacion = DEUCE; }
- /** Resetea la puntuación */
- public void reset(){ puntuacion = 0; }
- /** Obtener puntuación del jugador */
- public int getPuntuacion(){ return marcador[puntuacion]; }
- /** Obtener la puntuación en forma de String */
- public String getStringPuntuacion(){
- String str;
- switch(getPuntuacion()){
- case -1: str = "SET"; break;
- case -2: str = "DEUCE"; break;
- case -3: str = "VENTAJA"; break;
- default: str = "";
- }
- return "" + (str.equals("")? getPuntuacion(): str);
- }
- /** Sobreescritura de toString() */
- public String toString(){
- return nombreJugador;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement