JQuery - Juego De piedra siempre tijera Javascript

 
Vista:
sin imagen de perfil

Juego De piedra siempre tijera Javascript

Publicado por Juan Manuel (3 intervenciones) el 02/05/2017 03:32:02
Buenas, tengo un problema... Estoy creando un juego de piedra papel o tijera en javascript, y quiero que este este programado para que cuando la maquina seleccione piedra, su eleccion despues de esta sea tijera y en caso de que no se cumpla esto siga funcionando normalmente.
Este es mi código. ¿que tendría que cambiar?

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
$(function() {
  //Indico que se active al clickear en un radiobuton
  $('input[type="radio"]').click(function(){
    //Guardo el valor de el radio button seleccionado en la variable "elemento"
    let elemento = $('input:radio[name=elemento]:checked').val();
    //Creo una nueva variable "aleatorio" que tendrá un valor entre 0 y 2
      let aleatorio=Math.floor(Math.random()*3);
      //Segun el valor de "aleatorio" le asigno una opción
       if (aleatorio == 0) elemento_contra = "piedra";
      else  if (elemento_contra="piedra")elemento_contra="tijera";
       else  if (aleatorio == 1) elemento_contra = "papel";
      else elemento_contra = "tijera";
 
      //Compruebo si ambas opciones (elemento y elemento_contra) son iguales y si esto ocurre digo que ganador es empate
 
      if (elemento == elemento_contra) ganador = "Empate";
      //Si esto no pasa y la opción de usuario es gana a la del ordenador digo que igualo ganador = gana usuario
      else if ((elemento == "piedra" && elemento_contra == "tijera") || (elemento == "papel" && elemento_contra == "piedra") || (elemento == "tijera" && elemento_contra == "papel")) {
        ganador = "Ganaste";
        //radio buttons de probabilidad
 
 
        // Por ultimo me sumo un punto
        let actual = parseInt($('.usuario').html());
        actual += parseInt(1);
        $('.usuario').html(actual);
        if ((actual%3)==0)alert("Felicitaciones Ganaste 3 partidas");
      }
      //Le sumo un punto al ordenador.
      else {
        ganador = "Perdiste";
        let actual = parseInt($('.ordenador').html());
        actual += parseInt(1);
        $('.ordenador').html(actual);
      }
      //Por ultimo agrego un texto siempre sera el mismo, y solo cambia la parte de las variables
      $('#resultado').html("Usuario juega " + elemento + " - Ordenador juega " + elemento_contra + "<p> Resultado: " + ganador);
  });
});
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 142
Plata
Ha mantenido su posición en JQuery (en relación al último mes)
Gráfica de JQuery

Juego De piedra siempre tijera Javascript

Publicado por Horroroso (65 intervenciones) el 02/05/2017 17:38:35
Mi sugerencia a lo que tienes que cambiar...

Al programador!!
jajaja es broma...

Tienes que agregar una variable que contenga el ultimo resultado, por ejemplo:
1
2
3
4
5
$(function() {
// Ultimo Resultado:
var last_elemento;
 
.... continua codigo....
Luego verificar si el ultimo resultado fue piedra. Y por ultimo guardas el ultimo resultado.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
.......
//Segun el valor de "aleatorio" le asigno una opción
       if (aleatorio == 0) elemento_contra = "piedra";
      else  if (elemento_contra="piedra")elemento_contra="tijera";
       else  if (aleatorio == 1) elemento_contra = "papel";
      else elemento_contra = "tijera";
 
       if (last_elemento == 'piedra') elemento_contra = 'tijera;
       
       last_elemento = elemento_contra;


...... continua el codigo.....


Y listo, con esto garantizas de que despues de un piedra siempre siga tijera.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Juego De piedra siempre tijera Javascript

Publicado por Juan Manuel (3 intervenciones) el 02/05/2017 19:25:55
Muchísimas gracias!!!, me anduvo... pero ahora solo elige entre piedra y tijera, nunca sale papel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 142
Plata
Ha mantenido su posición en JQuery (en relación al último mes)
Gráfica de JQuery

Juego De piedra siempre tijera Javascript

Publicado por Horroroso (65 intervenciones) el 02/05/2017 19:53:29
Hola, es que en la parte...
1
2
3
4
if (aleatorio == 0) elemento_contra = "piedra";
      else  if (elemento_contra="piedra")elemento_contra="tijera";
       else  if (aleatorio == 1) elemento_contra = "papel";
      else elemento_contra = "tijera";

no tiene por que ir es segundo else if.
debe quedar:

1
2
3
if (aleatorio == 0) elemento_contra = "piedra";
       else  if (aleatorio == 1) elemento_contra = "papel";
      else elemento_contra = "tijera";

De lo contrario favoreces solo piedra y tijera.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar