Crea tu propio juego de adivinanzas de tu muerte: HTML, CSS y JavaScript

1. Planificación del juego:

2. Configuración del entorno:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="style.css">
    <title>Dark Expiry Game</title>
</head>
<body>
    <div class="container">
        <h1>¿CUANDO VAS A MORIR?</h1>
        <p>Ingresa tu fecha de nacimiento para revelar tu misteriosa fecha de muerte...</p>
        <label for="dob">Fecha de nacimiento:</label>
        <input type="date" id="dob">
        <button onclick="calculateExpiry()">¿cuando voy a morir?</button>
        <p id="result"></p>
    </div>

    <script src="script.js"></script>
</body>
</html>

3. Estilización con CSS:

body {
    background-color: #111;
    color: #fff;
    font-family: 'Arial', sans-serif;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    margin: 0;
}

.container {
    text-align: center;
    padding: 20px;
    background-color: #333;
    border-radius: 10px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
}

label {
    display: block;
    margin-bottom: 10px;
}

input {
    padding: 8px;
    margin-bottom: 20px;
}

button {
    background-color: #800000;
    color: #fff;
    border: none;
    padding: 10px 20px;
    font-size: 16px;
    cursor: pointer;
}

button:hover {
    background-color: #a00000;
}

#result {
    margin-top: 20px;
    font-size: 18px;
}

4. Implementación de la lógica del juego con JavaScript:

function calculateExpiry() {
    const dobInput = document.getElementById('dob');
    const resultElement = document.getElementById('result');

    if (!dobInput.value) {
        resultElement.innerText = 'Por favor, ingrese su fecha de nacimiento.';
        return;
    }

    const dob = new Date(dobInput.value);
    const currentYear = new Date().getFullYear();
    const expirationYear = getRandomInt(currentYear + 5, 2100);

    const months = [
        'Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio',
        'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'
    ];

    const monthIndex = getRandomInt(0, 11);
    const expirationMonth = months[monthIndex];

    const expirationDay = getRandomInt(1, 28); // Asumiendo 28 días en cada mes para simplificar

    const expirationDate = new Date(expirationYear, monthIndex, expirationDay);

    const causesOfDeath = [
        'Accidentes de tráfico.',
        'Enfermedades terminales.',
        'Suicidio.',
        'Homicidio.',
        'Sobredosis de drogas.',
        'Complicaciones durante el parto.',
        'Desastres naturales como terremotos, huracanes o tsunamis.',
        'Guerras y conflictos armados.',
        'Accidentes industriales, como explosiones en fábricas o plantas químicas.',
        'Envenenamiento por productos químicos o alimentos contaminados.',
        'Incendios en hogares o edificios.',
        'Ahogamiento en agua o líquidos.',
        'Asfixia por objetos extraños o alimentos.',
        'Ataques de animales salvajes.',
        'Accidentes en deportes extremos.',
        'Electrocutamiento por contacto con cables eléctricos.',
        'Complicaciones médicas durante cirugías.',
        'Condiciones ambientales extremas, como hipotermia o golpes de calor.',
        'Caídas desde alturas significativas.',
        'Enfermedades infecciosas graves, como el ébola o la influenza pandémica.'
    ];

    const causeOfDeath = causesOfDeath[getRandomInt(0, causesOfDeath.length - 1)];

    resultElement.innerText = `Tu misteriosa fecha de caducidad es: ${expirationDay} de ${expirationMonth}, ${expirationYear}. \nCausa de muerte: ${causeOfDeath}`;
}

function getRandomInt(min, max) {
    return Math.floor(Math.random() * (max - min + 1)) + min;
}

5. Optimización y prueba:

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio