Ejercicio tirada de dados

<!DOCTYPE html>
<html>

<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>Document</title>
	<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
</head>

<body>
	<div class="container ">
		<h2>Tirada de dados</h2>

		<button type="button" onclick="tirar()" class="btn btn-primary">Tira el dado</button>
		<h1 id="dado"></h1>
		<h2 id="mensaje"></h2>
		<h2 id="repetido"></h2>
		<script src="js/test.js"></script>
		</form>
	</div>
</body>

</html>
// En esta variable guardamos la tirada anterior del dado
// Para saber si se ha repetido necesitamos saber cual es el anterior
let anterior = 0

// Función hacemos lo típico de funciones de enlace:
// Obtenemos valores (en este caso no recuperamos ningún valor del HTML)
// LLamamos a las funciones que hacen los cálculos
// Mostramos resultados en la web
function tirar () {
  // LLamamos a la función tirar dado
  const resultado = tiradaDado()
  // Mostramos el resultado de la tirada
  document.getElementById('dado').innerHTML = resultado
  // Mostramos los mensajes típicos del parchís
  document.getElementById('mensaje').innerHTML = getMensaje(resultado)
  // Comprobamos si se ha repetido
  document.getElementById('repetido').innerHTML = repetido(resultado)
  anterior = resultado
}

// Comprobamos si el resultado actual coincide con el anterior
// Si es así, devolvemos el mensaje de que ha vuelto a salir
function repetido (dado) {
  if (dado == anterior) {
    return 'Ha vuelto a salir el ' + dado
  } else {
    return ''
  }
}

// Según el parchís con un 5 sales de casa y con un 6 vuelves a tirar
// Comprobamos el valor y devolvemos el mensaje correspondiente
function getMensaje (dado) {
  if (dado == 5) {
    return 'Sales de casa'
  } else if (dado == 6) {
    return 'Tiras otra vez'
  } else {
    return ''
  }
}

// Usamos la fórmula de w3schools para obtener un número aleatorio entre 1 y 6
function tiradaDado () {
  return Math.floor((Math.random() * 6) + 1)
}

Publicado por

Avatar del usuario

Juan Pablo Fuentes

Formador de programación y bases de datos