El error esta en el metodo void calculoGanador()
PD: Se que falta todavia el bucle while del juego para poder jugar varias veces y el menu lo tengo quitado para hacer pruebas, se va directamente a la opcion jugar.
Clase donde creo que esta el error
Código:
package paquete;
import java.io.BufferedReader;
import java.io.InputStreamReader;
//import java.util.Scanner;
public class playerIA {
private String nombre;
private int puntosPlayer,puntosIA;
private String opcPlayer,opcIA;
private String opcion;
private int opc;
public playerIA(String nombrePlayer){
nombre = nombrePlayer;
puntosPlayer=0;
puntosIA=0;
}
public void eleccionPlayer(){
System.out.println("Introduce tu eleccion ('Piedra''Papel''Tijera')");
InputStreamReader isr = new InputStreamReader (System.in);
BufferedReader br = new BufferedReader (isr);
try{
this.opcPlayer = br.readLine();
}
catch(Exception e){
e.printStackTrace();
}
}
public void eleccionIA(){
int num = (int)(Math.random()*100);
if (num>=0&&num<=33){
opcIA = "piedra";
}
else if (num>33&&num<66){
opcIA = "papel";
}
else if(num>=66&&num<=100){
opcIA = "tijera";
}
}
public void calculoGanador(){
/*ERROR AQUI *****************************************/
//ERROR AQUI NO LEE PARA COMPARAR la opcPlayer!!!!!!!!!!
//anoser que se les de un valor directo aki (si leo de teclado aki falla igual)
//opcPlayer = "papel";
System.out.println("IA: "+opcIA+" Tu: "+opcPlayer);
if (opcIA=="piedra"){
if (opcPlayer =="papel"){
puntosPlayer++;
System.out.println("Gana "+ nombre);
}
else if (opcPlayer == "tijera"){
puntosIA++;
System.out.println("Gana la IA!!");
}
}
else if (opcIA=="papel"){
if (opcPlayer == "piedra"){
puntosIA++;
System.out.println("Gana la IA!!");
}
else if (opcPlayer =="tijera"){
puntosPlayer++;
System.out.println("Gana "+ nombre);
}
}
else if (opcIA=="tijera"){
if (opcPlayer == "papel"){
puntosIA++;
System.out.println("Gana la IA!!");
}
else if (opcPlayer =="piedra"){
puntosPlayer++;
System.out.println("Gana "+ nombre);
}
}
if (opcIA==opcPlayer){
System.out.println("EMPATE!!");
}
}
public int getPuntosPlayer(){
return puntosPlayer;
}
public int getPuntosIA(){
return puntosIA;
}
public String getName(){
return nombre;
}
public String getopcIA(){
return opcIA;
}
public String getopcPlayer(){
return opcPlayer;
}
public int menu(){
System.out.println("Bienvenido a Piedra Papel o Tijera!!!");
System.out.println("Seleccione una opcion: 1.Jugar 2.Instrucciones 3.Salir");
InputStreamReader isr = new InputStreamReader (System.in);
BufferedReader br = new BufferedReader (isr);
try{
opcion = br.readLine();
}
catch(Exception e){
e.printStackTrace();
}
try {
opc = Integer.parseInt(opcion);
}catch(Exception e){
System.err.println("Error de conversion de datos. "+e.toString());
}
return opc;
}
public void instrucciones(){
System.out.println("Bienvenido a las instrucciones del juego. "
+ "Para jugar pulsa en jugar e introduce la palabra 'piedra' , 'papel' , 'tijera' ");
System.out.println("Piedra gana a Tijera");
System.out.println("Tijera gana a Papel");
System.out.println("Papel gana a Piedra");
}
public void pantallaJuego(int player,int IA,String nombre){
System.out.println("Marcador: "+nombre+": "+player+" IA: "+IA);
}
}
Clase el main
Código:
package paquete;
public class Ejecutable {
public static void main(String[] args) {
String nombre = "Jugador";
playerIA juego = new playerIA(nombre);
int opcion = 1;
if (opcion == 1){
juego.eleccionIA();
juego.eleccionPlayer();
juego.calculoGanador();
int pPlayer =juego.getPuntosPlayer();
int pIA = juego.getPuntosIA();
String name = juego.getName();
juego.pantallaJuego(pPlayer,pIA,name);
}
else if (opcion == 2){
juego.instrucciones();
}
else if (opcion == 3){
}
else {
}
}
}