Claude es un sitio web donde puedes pedir y crear con inteligencia artificial scripts.
El link de Claude es https://claude.ai
Les muestro las 2 cosas que le pedí a este sitio web por primera vez, para ver si funcionaba y cómo funcionaba.
1) Un juego RPG:
Esto fue lo primero que le pedí a Claude, es un juego RPG. Este juego lo hice porque la forma más sencilla de crear un videojuego en script era un juego RPG hecha de solo texto. Consiste en que el jugador tiene habilidades e items y debe vencer a un enemigo. Más que eso no es, porque debía ser muy sencillo para ver si funcionaba y cómo.
Este es el script de este juego RPG:
import random
class Jugador:
def __init__(self):
self.vida = 100
self.espada_usos = 10
self.items = {
"pocion_vida": 1,
"bandera_blanca": 1
}
self.cubrirse_contador = 0
self.proyectil_guardado = None
def mostrar_estado(self):
print(f"\n--- Estado del Jugador ---")
print(f"Vida: {self.vida}")
print(f"Usos de espada restantes: {self.espada_usos}")
print(f"Pociones de vida: {self.items['pocion_vida']}")
def seleccionar_accion(self):
while True:
print("\nSelecciona tu acción:")
print("1. Golpear con las manos")
print("2. Golpear con espada")
print("3. Cubrirse")
print("4. Guardar proyectil")
if self.items["pocion_vida"] > 0:
print("5. Usar poción de vida")
if self.items["bandera_blanca"] > 0:
print("6. Rendirse")
accion = input("Elige un número (1-6): ")
if accion == "1":
return "golpe_manos"
elif accion == "2" and self.espada_usos > 0:
return "golpe_espada"
elif accion == "3":
return "cubrirse"
elif accion == "4":
return "guardar_proyectil"
elif accion == "5" and self.items["pocion_vida"] > 0:
return "pocion_vida"
elif accion == "6" and self.items["bandera_blanca"] > 0:
return "rendirse"
else:
print("Acción inválida. Intenta de nuevo.")
class Enemigo:
def __init__(self):
self.vida = 100
def realizar_accion(self, jugador):
acciones = ["golpe_normal", "proyectil"]
accion = random.choice(acciones)
if accion == "golpe_normal":
daño = random.randint(10, 20)
if jugador.cubrirse_contador > 0:
daño //= 2
jugador.cubrirse_contador -= 1
jugador.vida -= daño
print(f"\nEl enemigo te golpea causando {daño} de daño!")
elif accion == "proyectil":
if jugador.proyectil_guardado is None:
daño = random.randint(15, 25)
if jugador.cubrirse_contador > 0:
daño //= 2
jugador.cubrirse_contador -= 1
jugador.vida -= daño
print(f"\nEl enemigo te lanza un proyectil causando {daño} de daño!")
else:
jugador.proyectil_guardado = None
print("\nTu proyectil guardado evita el ataque del enemigo.")
def juego_principal():
print("Misión: Conseguir un limón dorado para salvar a tu abuela\n")
jugador = Jugador()
enemigo = Enemigo()
while jugador.vida > 0 and enemigo.vida > 0:
jugador.mostrar_estado()
accion = jugador.seleccionar_accion()
if accion == "golpe_manos":
daño = random.randint(1, 5)
enemigo.vida -= daño
print(f"\nGolpeas al enemigo con las manos causando {daño} de daño.")
elif accion == "golpe_espada":
daño = random.randint(15, 25)
enemigo.vida -= daño
jugador.espada_usos -= 1
print(f"\nGolpeas al enemigo con la espada causando {daño} de daño.")
elif accion == "cubrirse":
jugador.cubrirse_contador = 2
print("\nTe cubres, preparándote para recibir menos daño.")
elif accion == "guardar_proyectil":
jugador.proyectil_guardado = True
print("\nPrepárate para guardar el próximo proyectil del enemigo.")
elif accion == "pocion_vida":
jugador.vida = 100
jugador.items["pocion_vida"] -= 1
print("\n¡Usas la poción de vida y recuperas toda tu salud!")
elif accion == "rendirse":
print("\nTe rindes. No logras completar tu misión.")
break
print(f"\nVida del enemigo: {enemigo.vida}")
if enemigo.vida <= 0:
print("\n¡Has derrotado al enemigo! Logras sacar un limón dorado del árbol.")
print("Se lo das a tu abuela como antídoto. Ella está feliz y sana. ¡Misión cumplida!")
break
enemigo.realizar_accion(jugador)
if jugador.vida <= 0:
print("\nCaes al suelo, tristemente derrotado. No lograste salvar a tu abuela.")
if __name__ == "__main__":
juego_principal()
2) Juego del reloj:
La segunda cosa que le pedí a Claude para probarlo y ver cómo funcionaba, fue un juego de reloj. Este juego de reloj muestra la hora en un reloj, y menciona a qué hora debe llegar, que esta hora que se debe llegar se llama Misión de la Hora. Las únicas alternativas del jugador es sumarle a este reloj las horas y minutos para llegar a la hora que menciona la Misión de la Hora.
Este es su script:
import React, { useState, useEffect } from 'react';
import { Clock, Star, XCircle } from 'lucide-react';
const generateRandomTime = () => {
const hours = Math.floor(Math.random() * 24);
const minutes = Math.floor(Math.random() * 60);
return { hours, minutes };
};
const formatTime = (time) => {
return `${time.hours.toString().padStart(2, '0')}:${time.minutes.toString().padStart(2, '0')}`;
};
const addTime = (baseTime, addedHours, addedMinutes) => {
let totalMinutes = baseTime.minutes + addedMinutes;
let totalHours = baseTime.hours + addedHours + Math.floor(totalMinutes / 60);
totalMinutes = totalMinutes % 60;
totalHours = totalHours % 24;
return { hours: totalHours, minutes: totalMinutes };
};
const ClockMissionGame = () => {
const [initialTime, setInitialTime] = useState(generateRandomTime());
const [missionTime, setMissionTime] = useState(generateRandomTime());
const [addedHours, setAddedHours] = useState(0);
const [addedMinutes, setAddedMinutes] = useState(0);
const [gameStatus, setGameStatus] = useState('playing');
const [score, setScore] = useState(0);
const handleSubmit = () => {
const resultTime = addTime(initialTime, addedHours, addedMinutes);
if (resultTime.hours === missionTime.hours && resultTime.minutes === missionTime.minutes) {
setGameStatus('won');
setScore(prevScore => prevScore + 100);
} else {
setGameStatus('lost');
}
};
const resetGame = () => {
setInitialTime(generateRandomTime());
setMissionTime(generateRandomTime());
setAddedHours(0);
setAddedMinutes(0);
setGameStatus('playing');
};
return (
<div className="p-6 bg-gray-100 min-h-screen flex items-center justify-center">
<div className="bg-white p-8 rounded-lg shadow-lg text-center">
<h1 className="text-2xl font-bold mb-4">Juego de Misión del Reloj</h1>
{gameStatus === 'playing' && (
<>
<div className="flex justify-center items-center space-x-4 mb-6">
<Clock size={48} className="text-blue-600" />
<span className="text-4xl font-mono">{formatTime(initialTime)}</span>
</div>
<div className="mb-4">
<h2 className="text-lg mb-2">Misión de la Hora:</h2>
<p className="text-2xl font-bold text-green-600">{formatTime(missionTime)}</p>
</div>
<div className="flex justify-center space-x-4 mb-4">
<div>
<label>Horas a sumar</label>
<input
type="number"
value={addedHours}
onChange={(e) => setAddedHours(Number(e.target.value))}
min="0"
className="w-20 p-2 border rounded"
/>
</div>
<div>
<label>Minutos a sumar</label>
<input
type="number"
value={addedMinutes}
onChange={(e) => setAddedMinutes(Number(e.target.value))}
min="0"
className="w-20 p-2 border rounded"
/>
</div>
</div>
<button
onClick={handleSubmit}
className="bg-blue-500 text-white px-4 py-2 rounded hover:bg-blue-600"
>
Verificar
</button>
</>
)}
{gameStatus === 'won' && (
<div className="text-center">
<Star size={64} className="text-yellow-500 mx-auto mb-4" />
<h2 className="text-2xl font-bold text-green-600 mb-4">¡Ganaste!</h2>
<p className="text-xl mb-4">Puntuación: {score}</p>
<button
onClick={resetGame}
className="bg-green-500 text-white px-4 py-2 rounded hover:bg-green-600"
>
Jugar de Nuevo
</button>
</div>
)}
{gameStatus === 'lost' && (
<div className="text-center">
<XCircle size={64} className="text-red-500 mx-auto mb-4" />
<h2 className="text-2xl font-bold text-red-600 mb-4">¡Perdiste!</h2>
<p className="text-xl mb-4">Puntuación: {score}</p>
<button
onClick={resetGame}
className="bg-red-500 text-white px-4 py-2 rounded hover:bg-red-600"
>
Intentar de Nuevo
</button>
</div>
)}
</div>
</div>
);
};
export default ClockMissionGame;
En caso de que estos códigos no estén bien anotados en esta publicación, les doy 2 links de estos códigos donde de seguro estarán mejor anotados:
1) El juego RPG:
https://docs.google.com/document/d/1dKkW4HkRzXK9ZqNalSJQ5Ddm0EZE9dFJOguP6dhRgtM/edit?usp=sharing
2) El juego del reloj:
https://docs.google.com/document/d/1BodCp_C0HxmbNin0vwnD3w-jVLay0A5RA9THkn4DKeM/edit?usp=sharing
No hay comentarios.:
Publicar un comentario