Biblioteca de prompts
Pulsaciones Cósmicas
Biblioteca de prompts
- Biblioteca
- Pulsaciones Cósmicas
- Clarividente corporativo
- Asistente de sitios web
- Experto en fórmulas de Excel
- Programador de scripts de Google Apps
- Depurador de Python
- Consultor de viajes en el tiempo
- Compañero de narración
- Cita tus fuentes
- Hechicero SQL
- Intérprete de sueños
- Juegos de palabras
- Creador culinario
- Poeta de palabras combinadas
- Hal el ayudante humorístico
- Leyenda LaTeX
- Colorizador de estados de ánimo
- Git gud
- Experto en símiles
- Navegador de dilemas éticos
- Escriba de reuniones
- Iluminador de modismos
- Consultor de código
- Fabricador de funciones
- Creador de neologismos
- Conversor CSV
- Codificador de emojis
- Pulidor de prosa
- Ponderador de perspectivas
- Generador de trivia
- Mentor de mindfulness
- Simplificador de segundo grado
- Innovador de fitness en VR
- Purificador de IIP
- Maestro de memorandos
- Entrenador profesional
- Gurú de la calificación
- Trabalenguas
- Creador de preguntas para entrevistas
- Genio gramatical
- Adivina adivinanza
- Clarificador de código
- Antropólogo alienígena
- Organizador de datos
- Constructor de marca
- Estimador de eficiencia
- Clasificador de reseñas
- Decodificador de instrucciones
- Musa motivacional
- Extractor de correos electrónicos
- Moderador experto
- Planificador de lecciones
- Sabio socrático
- Alquimista de aliteraciones
- Asesor de moda futurista
- Superpoderes políglotas
- Experto en nombres de productos
- Reflexiones filosóficas
- Hechicero de hojas de cálculo
- Simulador de escenarios de ciencia ficción
- Editor adaptativo
- Transmisiones de Babel
- Detector del tono de tweets
- Analizador de códigos de aeropuerto
Biblioteca de prompts
Pulsaciones Cósmicas
Genera un juego interactivo de mecanografía rápida en un solo archivo HTML, con jugabilidad de desplazamiento lateral y estilo Tailwind CSS.
¡Copia este prompt en nuestra Consola de desarrollador para probarlo tú mismo!
Contenido | |
---|---|
Usuario | Escríbeme una aplicación web completa en un solo archivo HTML. La aplicación debe contener un juego simple de desplazamiento lateral donde uso WASD para moverme. Al moverse por el mundo, ocasionalmente el personaje/sprite encontrará palabras. Cuando se encuentra una palabra, el jugador debe escribir correctamente la palabra lo más rápido posible. Cuanto más rápido se escriba correctamente la palabra, más puntos obtiene el jugador. Deberíamos tener un contador en la esquina superior derecha para llevar la cuenta de los puntos. Las palabras deben ser aleatorias y muy variables para mantener el juego interesante. Debes hacer que el sitio web sea muy estético y usar Tailwind. |
Ejemplo de Salida
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<script src="https://cdn.tailwindcss.com"></script>
<title>Side-Scrolling Typing Game</title>
</head>
<body class="bg-gray-900 text-white">
<div class="fixed top-4 right-4 text-2xl">
Score: <span id="score">0</span>
</div>
<div id="game" class="h-screen w-screen overflow-hidden relative">
<div
id="player"
class="absolute bottom-10 left-10 w-8 h-8 bg-blue-500"
></div>
</div>
<div
id="word-input"
class="fixed top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2 bg-white text-black p-4 rounded hidden"
>
<input
type="text"
id="typed-word"
class="border border-gray-300 rounded px-2 py-1 mb-2 w-full"
/>
<button id="submit-word" class="bg-blue-500 text-white px-4 py-2 rounded">
Submit
</button>
</div>
<script>
const words = [
'ability',
'able',
'about',
'above',
'accept',
'according',
'account',
'across',
'action',
'activity',
'actually',
'address',
'administration',
'admit',
'adult',
'affect',
'after',
'again',
'against',
'agency',
'agent',
'ago',
'agree',
'agreement',
'ahead',
'air',
'all',
'allow',
'almost',
'alone',
'along',
'already',
'also',
'although',
'always',
'American',
'among',
'amount',
'analysis',
'and',
'animal',
'another',
'answer',
'any',
'anyone',
'anything',
'appear',
'apply',
'approach',
'area',
'argue',
'arm',
'around',
'arrive',
'art',
'article',
'artist',
'as',
'ask',
'assume',
'at',
'attack',
'attention',
'attorney',
'audience',
'author',
'authority',
'available',
'avoid',
'away',
'baby',
'back',
'bad',
'bag',
'ball',
'bank',
'bar',
'base',
'be',
'beat',
'beautiful',
'because',
'become',
'bed',
'before',
'begin',
'behavior',
'behind',
'believe',
'benefit',
'best',
'better',
'between',
'beyond',
'big',
'bill',
'billion',
'bit',
'black',
'blood',
'blue',
'board',
'body',
'book',
'born',
'both',
'box',
'boy',
'break',
'bring',
'brother',
'budget',
'build',
'building',
'business',
'but',
'buy',
'by',
'call',
'camera',
'campaign',
];
let score = 0;
let currentWord;
let startTime;
const game = document.getElementById('game');
const player = document.getElementById('player');
const wordInput = document.getElementById('word-input');
const typedWord = document.getElementById('typed-word');
const submitWord = document.getElementById('submit-word');
const scoreDisplay = document.getElementById('score');
let playerX = 10;
let playerY = game.offsetHeight - 50;
const speed = 5;
function placeWord() {
const word = document.createElement('div');
word.textContent = words[Math.floor(Math.random() * words.length)];
word.className = 'absolute text-2xl';
word.style.left = `${game.offsetWidth + 10}px`;
word.style.top = `${Math.random() * (game.offsetHeight - 50)}px`;
game.appendChild(word);
return word;
}
function checkCollision(word) {
const playerRect = player.getBoundingClientRect();
const wordRect = word.getBoundingClientRect();
return !(
playerRect.right < wordRect.left ||
playerRect.left > wordRect.right ||
playerRect.bottom < wordRect.top ||
playerRect.top > wordRect.bottom
);
}
function startInput(word) {
currentWord = word.textContent;
wordInput.style.display = 'block';
typedWord.value = '';
typedWord.focus();
startTime = Date.now();
}
function endInput() {
wordInput.style.display = 'none';
const endTime = Date.now();
const elapsedTime = endTime - startTime;
const timeBonus = Math.max(2000 - elapsedTime, 0);
score += Math.round(1000 + timeBonus);
scoreDisplay.textContent = score;
}
function checkInput() {
if (typedWord.value === currentWord) {
endInput();
}
}
function gameLoop() {
playerY = Math.max(
0,
Math.min(playerY, game.offsetHeight - player.offsetHeight)
);
playerX = Math.max(
0,
Math.min(playerX, game.offsetWidth - player.offsetWidth)
);
player.style.top = `${playerY}px`;
player.style.left = `${playerX}px`;
const words = Array.from(
document.querySelectorAll('#game > div:not(#player)')
);
words.forEach((word) => {
const currentLeft = parseInt(word.style.left);
word.style.left = `${currentLeft - speed}px`;
if (checkCollision(word)) {
startInput(word);
}
if (currentLeft < -word.offsetWidth) {
word.remove();
}
});
if (Math.random() < 0.01) {
placeWord();
}
requestAnimationFrame(gameLoop);
}
document.addEventListener('keydown', (e) => {
if (e.key === 'w') playerY -= speed;
if (e.key === 'a') playerX -= speed;
if (e.key === 's') playerY += speed;
if (e.key === 'd') playerX += speed;
});
typedWord.addEventListener('input', checkInput);
submitWord.addEventListener('click', checkInput);
gameLoop();
</script>
</body>
</html>
Solicitud de API
Was this page helpful?
On this page