Código de JavaScript - Adivinar un numero aleatorio

Imágen de perfil
Val: 606
Bronce
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Adivinar un numero aleatoriográfica de visualizaciones


JavaScript

Publicado el 28 de Enero del 2021 por Info (100 códigos)
1.414 visualizaciones desde el 28 de Enero del 2021
Es un simple juego de adivinar un numero, donde el ordenador guarda en un array 5 numeros y el usuario tiene que adivinarlos en el mismo orden.
Para cada vez que te equivocas, se te muestra en el listado de "pulsaciones erroneas"

adivinar-combinacion-javascript

1

Publicado el 28 de Enero del 2021gráfica de visualizaciones de la versión: 1
1.415 visualizaciones desde el 28 de Enero del 2021
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

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
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <style>
    input {padding:20px}
    .ok {color:green; font-weight: bold;}
    .ko {color:red; font-weight: bold;}
    </style>
</head>
 
<body>
 
    <h1>Adivinar combinación de 5 digitos</h1>
 
    <input type="button" value="1">
    <input type="button" value="2">
    <input type="button" value="3">
    <input type="button" value="4">
    <input type="button" value="5">
 
    <h2>Pulsación actual</h2>
    <div id="pulsacion"></div>
 
    <h2>Pulsaciones erroneas</h2>
    <div id="pulsaciones"></div>
</body>
</html>
 
<script>
// Funcion para crear un array de 5 valores aleatorios entre 1 y 5
const createNewNumbers = () => [...new Array(5)].map(_ => Math.floor(Math.random() * 5) + 1);
 
let combinacion=createNewNumbers();
console.log(combinacion);
 
// Creamos el evento "click" para cada boton
document.querySelectorAll("input[type=button]").forEach(el => el.addEventListener("click", pulsacion));
 
// Funcion para eliminar el evento "click" de los botones y deshabilitarlos
// Esta función se ejecuta una vez encontrados los 5 numeros
const removeEvent = () => document.querySelectorAll("input[type=button]").forEach(el => {
    el.removeEventListener("click", pulsacion)
    el.disabled=true;
});
 
// Establecemos la variable que contendra los numeros introducidos por el usuario
let numeros=[];
 
// Funcion que se ejecuta en cada pulsacion de los botones
function pulsacion(e) {
 
    // Añadimos el nuevo numero al array de "numeros"
    numeros.push(parseInt(this.value));
 
    if (arraySame(combinacion.slice(0, numeros.length), numeros)==false) {
        numeros=error(numeros, "ko");
    }
    if (combinacion.length == numeros.length) {
        numeros=error(numeros, "ok");
        removeEvent()
    }
    mostrarNumeros(numeros);
}
 
/**
 * Funcion que muestra los numeros
 *
 * @param array arr - Recibe el array de numeros a mostrar
 */
const mostrarNumeros = arr => {
    document.getElementById("pulsacion").innerText=arr.join(", ");
}
 
/**
 * Funcion que compara dos arrays
 *
 * @param array arr1
 * @param array arr2
 *
 * @return boolean
 */
const arraySame = (arr1, arr2) => {
    return arr1.every((value, index) => value === arr2[index]);
}
 
/**
 * Funcion que es llamada cuando se instroduce un valor que no es correcto
 *
 * @param array  arr       - array con los valores
 * @param string styleName - Nombre del estilo a mostrar [ok|ko]
 */
const error = (arr, styleName) => {
    const div=document.createElement("div");
    div.innerText=arr.join(", ");
    div.classList.add(styleName);
    document.getElementById("pulsaciones").appendChild(div);
    return [];
}
</script>



Comentarios sobre la versión: 1 (0)


No hay comentarios
 

Comentar la versión: 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s6848