package com.trifulcas.juegoPPTLSID;
import java.util.Arrays;
public class JuegoColores implements ILogica{
private String[] jugadas = { "verde","azul","amarillo","naranja","rojo" };
public JuegoColores() {
}
@Override
public int comprobar(String jugada1, String jugada2) {
int pos1 = Arrays.asList(jugadas).indexOf(jugada1.toLowerCase());
int pos2 = Arrays.asList(jugadas).indexOf(jugada2.toLowerCase());
if ((pos1 + 1) % jugadas.length == pos2)
return 1;
if ((pos2 + 1) % jugadas.length == pos1)
return 2;
return 0;
}
@Override
public String[] validas() {
return this.jugadas;
}
}
package com.trifulcas.juegoPPTLSID;
public interface IMostrar {
void mostrar(String res);
}
package com.trifulcas.juegoPPTLSID;
public class Juego {
private Jugador jugador1;
private Jugador jugador2;
private ILogica _iLogica;
private IMostrar _iMostrar;
private String[] jugadas;
public String[] getJugadas() {
return jugadas;
}
public void setJugadas(String[] jugadas) {
this.jugadas = jugadas;
}
public Jugador getJugador1() {
return jugador1;
}
public void setJugador1(Jugador jugador1) {
this.jugador1 = jugador1;
}
public Jugador getJugador2() {
return jugador2;
}
public void setJugador2(Jugador jugador2) {
this.jugador2 = jugador2;
}
public Juego(Jugador jugador1, Jugador jugador2, ILogica ilogica, IMostrar imostrar) {
this.jugador1 = jugador1;
this.jugador2 = jugador2;
_iLogica = ilogica;
jugadas = _iLogica.validas();
_iMostrar = imostrar;
}
public Juego(Jugador jugador1, Jugador jugador2, ILogica ilogica) {
this(jugador1, jugador2, ilogica, new Consola());
}
public String jugar() {
jugador1.pedirJugada(jugadas);
jugador2.pedirJugada(jugadas);
_iMostrar.mostrar(jugador1.getNombre() + " elige " + jugador1.getJugada());
_iMostrar.mostrar(jugador2.getNombre() + " elige " + jugador2.getJugada());
int res = _iLogica.comprobar(jugador1.getJugada(), jugador2.getJugada());
String resultado="Empate";
if (res == 1) {
resultado= jugador1.getNombre();
}
if (res == 2) {
resultado= jugador2.getNombre();
}
_iMostrar.mostrar(resultado);
return resultado;
}
}
package com.trifulcas.juegoPPTLSID;
public class Consola implements IMostrar {
@Override
public void mostrar(String res) {
System.out.println(res);
}
}
package com.trifulcas.juegoPPTLSID;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardOpenOption;
public class Fichero implements IMostrar {
@Override
public void mostrar(String res) {
Path path = Paths.get("resultado.txt");
try {
if (!Files.exists(path))
Files.createFile(path);
Files.writeString(path, res+"\r\n", StandardOpenOption.APPEND);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}