IA

ACTIVIDAD 1: CANCIONES CON IA

Canción basada en "EL LOBO ESTEPARIO" de Herman Hesse

Letra:

Título: “Mitad lobo, mitad nadie”

Verso 1
Hay una guerra en mi pecho
que nadie más ve estallar.
Una parte quiere orden,
otra parte quiere aullar.

No soy uno ni soy ciento,
soy un eco sin lugar.
Me revienta lo perfecto,
pero me asusta el azar.

Verso 2
Me vendieron paraísos
con relojes y café,
pero mi alma está cansada
de fingir que esto está bien.

La cultura es una cárcel,
y la libertad, papel.
¿Quién inventó la alegría
como un deber que hay que tener?

Estribillo
Mitad lobo, mitad nadie,
no hay camino que me abrace.
Soy la risa en el abismo,
soy el miedo a ser sincero.
Y si el mundo es solo un juego,
yo nací sin tablero.

Verso 3
He leído mil respuestas
que no me quieren leer.
Y en cada fiesta me escondo
de lo que puedo entender.

He tenido pensamientos
que no caben en canción.
Y he mirado en el espejo
sin saber si soy ficción.

Estribillo
Mitad lobo, mitad nadie,
no hay camino que me abrace.
Soy la risa en el abismo,
soy el miedo a ser sincero.
Y si el mundo es solo un juego,
yo nací sin tablero.

Puente
Me dijeron: “sé tú mismo”,
pero yo no sé quién es.
Hay mil máscaras colgando
y ninguna me da sed.

La ironía es mi refugio,
la tristeza, mi ritual.
Y en el fondo de la sombra
hay un teatro sin final…

Estribillo final
Mitad lobo, mitad nadie,
una herida que no pase.
Soy un grito que se ríe
cuando todo está al revés.
Y si el alma es un espejo,
¿por qué nunca me encontré?

Canción basada en "PEDRO PÁRAMO" de Juan Rulfo

Letra:

Título: “Comala no olvida”

Verso 1
Me dijo mi madre al morir:
“ve y búscalo en Comala”.
Y fui detrás de un nombre
que era sombra entre las casas.

El polvo hablaba más que Dios,
y el viento traía lamentos.
Las voces se quedaban
pegadas al firmamento.

Verso 2
Pedro Páramo era un trueno
en un cielo reseco y cruel.
Amó solo con desprecio,
y su odio echó raíces en la piel.

Sembró promesas rotas
en la tierra de los sin voz.
Y Comala se pudrió
esperando su perdón.

Estribillo
Comala no olvida,
ni siquiera a los muertos.
Las ánimas caminan
sin rumbo, sin tiempo.
Todo está en silencio,
pero el alma grita.
Y el amor que no se da
condena toda la vida.

Verso 3
Yo no sabía si soñaba
o si ya estaba también muerto.
Escuchaba confesiones
de almas sin cuerpo.

Mi padre no era hombre,
era ausencia y era ley.
Un cacique de los ecos,
un castigo en cada grey.

Estribillo
Comala no olvida,
ni siquiera a los muertos.
Las ánimas caminan
sin rumbo, sin tiempo.
Todo está en silencio,
pero el alma grita.
Y el amor que no se da
condena toda la vida.

Puente
Y entre murmullos supe la verdad:
que se muere dos veces,
la del cuerpo y la del recordar.
Y Pedro cayó con su pueblo,
como caen los que no saben amar.



Estribillo final
Comala no olvida,
ni siquiera a los muertos.
Las ánimas caminan
sin rumbo, sin tiempo.
Todo está en silencio,
pero el alma grita.
Y el amor que no se da
condena toda la vida.

Canción del Profe Gus
Título: "El Legado de Gus"

(Intro)
¡Profesor Gus en la casa!
Desde Irapuato pa' el mundo, ¡skipping, skipping!
Colegio Irapuatense, ¡representando!

(Coro)
En el Irapuatense, hay un profe legendario,
Gorra y pants negros, él es el maestro Gus.
Entrenó en el Necaxa, tiene el flow preciso,
¡Skipping, skipping! ¡Ese es su lenguaje, campeón mundial es Pelé, no hay abuso!

(Verso 1)
Con su gorra hacia atrás y los pants sudados,
"Secretario" le grita a Chava, el estudiante aplicado.
"¿Dónde estaráaaaa Migueeeel?" Su voz retumba en el viento,
Si no corre 20 vueltas, ¡el castigo es lento!
Álvaro es "John", pa’ él un nombre nuevo,
Y Mario de Jesús… ¡Sagrado Corazón, qué juego!

(Coro)
En el Irapuatense, hay un profe legendario,
Gorra y pants negros, él es el maestro Gus.
Entrenó en el Necaxa, tiene el flow preciso,
¡Skipping, skipping! ¡Ese es su lenguaje, campeón mundial es Pelé, no hay abuso!

(Verso 2)
"¡Caperuzas ahora, que el sudor es gloria!"
Flexiona como CBum, ¡esa es su historia!
Ronnie Coleman lo vio y le dijo: "You’re the best",
Pero Gus solo ríe: "Aquí no hay descanso, ¡a darle al pecho!"
Messi y CR7 le deben los trofeos,
Pero él señala al cielo: "Pelé es el dueño de los sueños".

(Puente)
Los rumores son fuego: "¡Gus entrenó a los cracks!",
Pero él no se jacta, solo pide 100 abdominales.
"El fútbol es poesía, el gym es dedicación,
¡Pero Pelé es el GOAT, la pura definición!"

(Coro)
En el Irapuatense, hay un profe legendario,
Gorra y pants negros, él es el maestro Gus.
Entrenó en el Necaxa, tiene el flow preciso,
¡Skipping, skipping! ¡Ese es su lenguaje, campeón mundial es Pelé, no hay abuso!

(Outro)
¡Irapuato! Guanajuato, aquí nace la leyenda,
Gus, el profe que convierte flacos en leyendas.
Con gorra y pants, ¡siempre en modo guerrero!
¡Skipping, skipping! Gus… el profe del mundo entero.

(Final)
¡Y dale skipping, que la clase no termina!
¡Pelé es el rey, y Gus… la máquina divina!

ACTIVIDAD 2: GATO(3 EN RAYA) EN JAVASCRIPT

Código:
<html lang="es">
<head>
  <meta charset="UTF-8">
  <title>3 en Raya</title>
  <style>
    body {
      font-family: Arial, sans-serif;
      display: flex;
      flex-direction: column;
      align-items: center;
      margin-top: 50px;
      background-color: #f0f0f0;
    }
    h1 {
      margin-bottom: 20px;
    }
    .board {
      display: grid;
      grid-template-columns: repeat(3, 100px);
      grid-gap: 5px;
    }
    .cell {
      width: 100px;
      height: 100px;
      background-color: white;
      border: 2px solid #333;
      display: flex;
      justify-content: center;
      align-items: center;
      font-size: 36px;
      cursor: pointer;
    }
    .cell:hover {
      background-color: #eee;
    }
    #status {
      margin-top: 20px;
      font-size: 18px;
    }
    #reset {
      margin-top: 10px;
      padding: 8px 16px;
      font-size: 16px;
    }
  </style>
</head>
<body>
  <h1>3 en Raya</h1>
  <div class="board" id="board"></div>
  <div id="status">Turno de: X</div>
  <button id="reset">Reiniciar</button>

  <script>
    const board = document.getElementById('board');
    const status = document.getElementById('status');
    const reset = document.getElementById('reset');

    let currentPlayer = 'X';
    let cells = Array(9).fill(null);
    let gameActive = true;

    const winPatterns = [
      [0,1,2], [3,4,5], [6,7,8], // filas
      [0,3,6], [1,4,7], [2,5,8], // columnas
      [0,4,8], [2,4,6]           // diagonales
    ];

    function createBoard() {
      board.innerHTML = '';
      cells.forEach((cell, i) => {
        const cellDiv = document.createElement('div');
        cellDiv.classList.add('cell');
        cellDiv.dataset.index = i;
        cellDiv.textContent = cell;
        cellDiv.addEventListener('click', handleClick);
        board.appendChild(cellDiv);
      });
    }

    function handleClick(e) {
      const index = e.target.dataset.index;
      if (cells[index] || !gameActive) return;

      cells[index] = currentPlayer;
      createBoard();
      checkWinner();
      if (gameActive) {
        currentPlayer = currentPlayer === 'X' ? 'O' : 'X';
        status.textContent = `Turno de: ${currentPlayer}`;
      }
    }

    function checkWinner() {
      for (let pattern of winPatterns) {
        const [a, b, c] = pattern;
        if (cells[a] && cells[a] === cells[b] && cells[a] === cells[c]) {
          status.textContent = `¡Ganó ${cells[a]}!`;
          gameActive = false;
          return;
        }
      }
      if (!cells.includes(null)) {
        status.textContent = '¡Empate!';
        gameActive = false;
      }
    }

    reset.addEventListener('click', () => {
      cells = Array(9).fill(null);
      currentPlayer = 'X';
      gameActive = true;
      status.textContent = `Turno de: ${currentPlayer}`;
      createBoard();
    });

    createBoard();
  </script>
</body>
</html>


ACTIVIDAD 3: GATO(3 EN RAYA) EN C++

Código:
#include <iostream>
using namespace std;

char tablero[3][3] = {
    {'1', '2', '3'},
    {'4', '5', '6'},
    {'7', '8', '9'}
};

char jugadorActual = 'X';

void mostrarTablero() {
    cout << "\n";
    for (int i = 0; i < 3; i++) {
        cout << " " << tablero[i][0] << " | " << tablero[i][1] << " | " << tablero[i][2] << "\n";
        if (i < 2) cout << "---|---|---\n";
    }
    cout << "\n";
}

bool colocarMarca(int casilla) {
    int fila = (casilla - 1) / 3;
    int columna = (casilla - 1) % 3;
    if (tablero[fila][columna] != 'X' && tablero[fila][columna] != 'O') {
        tablero[fila][columna] = jugadorActual;
        return true;
    }
    return false;
}

bool verificarGanador() {
    // Filas y columnas
    for (int i = 0; i < 3; i++) {
        if (tablero[i][0] == jugadorActual && tablero[i][1] == jugadorActual && tablero[i][2] == jugadorActual) return true;
        if (tablero[0][i] == jugadorActual && tablero[1][i] == jugadorActual && tablero[2][i] == jugadorActual) return true;
    }
    // Diagonales
    if (tablero[0][0] == jugadorActual && tablero[1][1] == jugadorActual && tablero[2][2] == jugadorActual) return true;
    if (tablero[0][2] == jugadorActual && tablero[1][1] == jugadorActual && tablero[2][0] == jugadorActual) return true;
    return false;
}

bool tableroLleno() {
    for (int i = 0; i < 3; i++)
        for (int j = 0; j < 3; j++)
            if (tablero[i][j] != 'X' && tablero[i][j] != 'O') return false;
    return true;
}

void cambiarJugador() {
    jugadorActual = (jugadorActual == 'X') ? 'O' : 'X';
}

int main() {
    int casilla;
    bool juegoActivo = true;

    cout << "=== JUEGO DE 3 EN RAYA ===\n";

    while (juegoActivo) {
        mostrarTablero();
        cout << "Turno del jugador " << jugadorActual << ". Ingresa una casilla (1-9): ";
        cin >> casilla;

        if (casilla < 1 || casilla > 9 || !colocarMarca(casilla)) {
            cout << "Movimiento inválido. Intenta de nuevo.\n";
            continue;
        }

        if (verificarGanador()) {
            mostrarTablero();
            cout << "¡Jugador " << jugadorActual << " gana!\n";
            juegoActivo = false;
        } else if (tableroLleno()) {
            mostrarTablero();
            cout << "¡Empate!\n";
            juegoActivo = false;
        } else {
            cambiarJugador();
        }
    }

    return 0;
}






0 comments:

Publicar un comentario