Un juego de palabras, deducción y estrategia basado en el juego de mesa original.
- Acerca del Juego
- Características
- Tecnologías
- Instalación
- Desarrollo Local
- Cómo Jugar
- Estructura del Proyecto
- Roadmap
- Contribuir
- Licencia
A Little Wordy es una adaptación digital del popular juego de mesa de palabras y deducción. El objetivo es descifrar la palabra secreta de tu oponente usando pistas estratégicamente, mientras gestionas tus Berry Tokens (fichas de puntos).
- 🔤 Creación de Palabras: Forma una palabra secreta con tus 11 fichas (5 vocales, 6 consonantes)
- 🔄 Intercambio: Intercambias tus fichas con el oponente
- 🃏 Pistas: Usa 16 cartas diferentes (8 Vanilla, 8 Spicy) para obtener información
- 🍓 Berry Tokens: Cada pista cuesta tokens que van al oponente
- 🏆 Victoria: Adivina la palabra teniendo MÁS tokens que tu rival
- ✅ 16 Cartas Completas: Todas las pistas del juego original implementadas
- ✅ Sistema de Fichas Reveladas: Tracking visual de letras descubiertas
- ✅ Fichas Deshabilitadas: Sistema de "volteo" para Yakky Doodle y Scrooge McDuck
- ✅ Validación de Palabras: Diccionario de ~3000+ palabras en español
- ✅ Escenario 2: Lógica correcta cuando adivinas con menos tokens
- ✅ Bot Oponente: IA básica para jugar en solitario
- ✅ Interfaz Responsive: Adaptada para móvil, tablet y escritorio
- ✅ Sistema de Cambios: 2 swaps permitidos durante la creación de palabra
- ✅ Historial de Juego: Registro de todas las acciones tomadas
- ✅ Adaptación al Español: Distribución de letras basada en Scrabble español
- 🚧 Multijugador Real: Backend con Socket.io + MongoDB Atlas
- 🚧 IA Mejorada: Bot que usa información revelada estratégicamente
- 🚧 Tutorial Interactivo: Guía paso a paso para nuevos jugadores
- 🚧 Sistema de Salas: Crear y unirse a partidas con amigos
- 🚧 Estadísticas: Tracking de victorias, palabras usadas, etc.
- React 19 - Biblioteca UI
- TypeScript - Tipado estático
- Vite - Build tool ultrarrápido
- Tailwind CSS - Estilos utility-first
- Lucide React - Iconos modernos
- Node.js + Express - Servidor API
- Socket.io - Comunicación en tiempo real
- MongoDB Atlas - Base de datos en la nube
- Mongoose - ODM para MongoDB
- Netlify - Frontend hosting
- Render - Backend hosting
- Node.js >= 18.0.0
- npm >= 9.0.0
- Clonar el repositorio
git clone https://github.com/tu-usuario/aLittleWordy.git
cd aLittleWordy- Instalar dependencias
npm install- Ejecutar en desarrollo
npm run dev- Abrir en el navegador
http://localhost:3000
# Desarrollo con hot-reload
npm run dev
# Build para producción
npm run build
# Preview del build de producción
npm run preview
# Linter (si configurado)
npm run lintCrea un archivo .env.local en la raíz:
# Para multijugador (próximamente)
VITE_API_URL=http://localhost:5000
VITE_SOCKET_URL=http://localhost:5000- Recibes 11 fichas aleatorias (5 vocales + 6 consonantes)
- Crea una palabra secreta (1-11 letras)
- Puedes cambiar hasta 2 fichas antes de confirmar
- ¡Las fichas se intercambian con el oponente!
En tu turno puedes:
- Elige una de las 8 cartas disponibles
- Tu oponente gana tokens (coste de la carta)
- Obtienes información sobre su palabra
Cartas Vanilla (Fáciles):
- 🐦 Woody Woodpecker (4 tokens): Primera letra
- 🐤 Calimero (1 token): Longitud relativa
- 🐧 Chilly Willy (3 tokens): Longitud exacta
- 🐦 Woodstock (1 token): Última letra
- 🦜 José Carioca (2 tokens): Verificar si letra existe
- 🦆 Yakky Doodle (4 tokens): Eliminar letras incorrectas
Cartas Spicy (Avanzadas):
- 🦅 Foghorn Leghorn (1 token): Revelar una vocal
- 🐦 Beaky Buzzard (2 tokens): Número de vocales
- 🦆 Daffy Duck (3 tokens): Número de consonantes
- 🦅 Henery Hawk (3 tokens): Letra + su posición
- 🦜 Zazu (1 token): Intercambio mutuo
- 🐦 Heckle & Jeckle (2 tokens): Contar letra duplicada
- 🐦 Scuttle (1 token): Letra compartida
- 💰 Scrooge McDuck (dinámico): Como Yakky pero coste variable
- 🦜 Iago (5 tokens): Rima con la palabra
- 🐦 Flit (1 token): Verificar letra rara (Z,J,Q,X,K)
- Forma la palabra con tus fichas
- Si aciertas:
- ✅ Tienes MÁS tokens → ¡GANAS!
- ❌ Tienes MENOS tokens → Escenario 2 (esperas ganar tokens)
- Si fallas:
- Oponente gana 2 tokens
Si adivinas correctamente pero tienes menos tokens:
- Dejas de jugar
- Tu oponente sigue usando pistas (tú ganas sus costes)
- Cuando superas sus tokens → ¡GANAS!
- Si él adivina tu palabra antes → PIERDES
aLittleWordy/
├── components/ # Componentes React reutilizables
│ ├── Button.tsx
│ ├── Card.tsx
│ ├── EventModal.tsx
│ ├── ManualModal.tsx
│ └── Tile.tsx
├── services/ # Lógica de negocio
│ ├── gameLogic.ts # Generación de fichas, barajado
│ └── dictionary.ts # Validación de palabras
├── docs/ # Documentación
│ └── 📖 Manual de Reglas.md
├── App.tsx # Componente principal
├── types.ts # Definiciones de tipos TypeScript
├── constants.ts # Cartas, palabras del bot, pools
├── index.tsx # Punto de entrada
├── TODO.md # Tareas pendientes
└── README.md # Este archivo
- Implementación completa de 16 cartas
- Sistema de fichas reveladas/deshabilitadas
- Validación de palabras español
- Bot oponente básico
- Escenario 2 correctamente implementado
- Backend con Node.js + Express
- MongoDB Atlas para persistencia
- Socket.io para tiempo real
- Sistema de salas con códigos
- Chat en partida
- IA del bot mejorada (3 niveles)
- Sistema de cuentas de usuario
- Estadísticas y rankings
- Tutorial interactivo
- Torneos y modo competitivo
- Temas visuales personalizables
- Modo espectador
- Replay de partidas
- Logros y badges
- Idiomas adicionales (inglés, catalán)
¡Las contribuciones son bienvenidas! Por favor:
- Fork el proyecto
- Crea una branch para tu feature (
git checkout -b feature/AmazingFeature) - Commit tus cambios (
git commit -m 'Add: AmazingFeature') - Push a la branch (
git push origin feature/AmazingFeature) - Abre un Pull Request
- Sigue el estilo de código existente
- Escribe mensajes de commit descriptivos
- Agrega tests si es posible
- Actualiza la documentación cuando sea necesario
Este proyecto es una implementación digital no oficial del juego de mesa "A Little Wordy" desarrollado por Exploding Kittens.
- Juego Original: A Little Wordy por Exploding Kittens
- Iconos: Lucide Icons
- Fuentes: System fonts
- Desarrollador: Fabrizio
¿Preguntas, sugerencias o bugs?
- 🐛 Reportar un bug
- 💡 Sugerir una feature
- 📧 Email: tu-email@ejemplo.com
¿Te gusta el proyecto? ¡Dale una ⭐️!
Hecho con ❤️ y ☕