Problema piedra papel tijeras
Publicado por Sergio (5 intervenciones) el 05/12/2018 19:24:15
/*Hola buenas, este es un ejercicio *de un juego de *piedra papel y tijera. El problema que *tengo es con *los breaks de los switch de los *metodos que me da *error, si alguien fuera tan amable de revisarmelo le */estaria muy agradecido. El contador y la funcion if que trabaja con esa variable estan por que me jan pedido que la maquina este trucada y gane cada x numeros de veces. He decidido que gane cada jugada par.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
package Ejercicios;
import java.util.Scanner;
import java.util.Random;
public class Piedra {
static final int piedra = 1;
static final int papel = 2;
static final int tijeras = 3;
public static void main(String[] args) {
int ordenador;
int usuario;
int ganador;
char continuar;
int contador;
contador = 1;
do {
Scanner s= new Scanner(System.in);
System.out.println("Introduzca una opcion numerica: Piedra = 1, Papel = 2 o Tijera = 3");
usuario = s.nextInt();
Decision(usuario);
contador ++;
ordenador = generarValor(contador,usuario);
ganador = calcularGanador(usuario,ordenador);
if ( calcularGanador(usuario,ordenador) == 1) {
System.out.println("Has ganado, enhorabuena");
}else if (calcularGanador(usuario,ordenador) == 2) {
System.out.println("Has perdido pringado");
} else if (calcularGanador(usuario,ordenador) == 0) {
System.out.println("Empate, que compenetracion");
}
s.nextLine();
System.out.println("Desea continuar? S / N");
continuar = s.next().charAt(0);
}while (continuar !='N' || continuar !='n');
}
static int calcularGanador(int jugador1, int jugador2) {
if (jugador1 == jugador2) {
return 0;
}else {
switch (jugador1) {
case 1: switch (jugador2) {
case 2: return 2;
break,
case 3: return 1;
break;
}
break;
case 2: switch (jugador2) {
case 1: return 1;
break;
case 3: return 2;
break;
}
break;
case 3: switch (jugador2) {
case 1: return 2;
break;
case 2: return 1;
break;
}
break;
}
}
}
static void Decision (int usuario) {
switch (usuario) {
case 1: System.out.println("has elegido piedra");
break;
case 2: System.out.println("has elegido papel");
break;
case 3: System.out.println("has elegido tijeras");
break;
default: System.out.println("No es una opcion valida");
break;
}
}
static int generarValor(int contador, int usuario) {
if (contador %2 == 0 ) {
switch (usuario) {
case 1: return 2;
break;
case 2: return 3;
break;
case 3: return 1;
break;
}
} else {
Random r = new Random();
return r.nextInt(3)+1;
}
}
}
Valora esta pregunta
0