Juega Tic Tac Toe con tus amigos en tiempo real, sin importar dónde estén.
| Característica | Descripción |
|---|---|
| 🏠 Salas Privadas | Crea salas con códigos únicos de 6 caracteres |
| ⚡ Tiempo Real | Movimientos instantáneos sincronizados con Socket.io |
| 🔒 Validación Segura | El servidor valida todos los movimientos |
| 🔄 Turnos Alternados | El jugador inicial alterna en cada partida |
| 📊 Marcador | Seguimiento de victorias y empates |
| 🎨 Diseño Premium | Interfaz glassmorphism con animaciones suaves |
| 📱 Responsive | Funciona en escritorio y dispositivos móviles |
- Node.js (v18 o superior)
- npm o yarn
# 1. Clonar el repositorio
git clone https://github.com/tu-usuario/tic-tac-toe.git
# 2. Entrar al directorio
cd tic-tac-toe
# 3. Instalar dependencias
npm install
# 4. Iniciar el servidor
npm start- Abre tu navegador en
http://localhost:3000 - Haz clic en "Crear Sala" para generar un código
- Comparte el código con tu amigo
- Tu amigo ingresa el código y hace clic en "Unirse a Sala"
- ¡Que comience la partida! 🎉
┌─────────────────────────────────────────────────────────────┐
│ CLIENTE │
│ ┌─────────────┐ ┌──────────────┐ ┌─────────────────────┐ │
│ │ index.html │──│ game.js │──│ multiplayer.js │ │
│ │ (Vista) │ │ (UI Lógica) │ │ (Socket.io Client) │ │
│ └─────────────┘ └──────────────┘ └──────────┬──────────┘ │
└────────────────────────────────────────────────┼────────────┘
│ WebSocket
┌────────────────────────────────────────────────┼────────────┐
│ SERVIDOR │ │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ server.js │ │
│ │ • Gestión de salas (Map) │ │
│ │ • Validación de movimientos │ │
│ │ • Detección de ganador/empate │ │
│ │ • Broadcast de eventos │ │
│ └──────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
tic-tac-toe/
├── 📄 index.html # Estructura HTML (lobby + tablero)
├── 🎨 style.css # Estilos glassmorphism y animaciones
├── 🎮 game.js # Conexión UI ↔ lógica del juego
├── 🔌 multiplayer.js # Cliente Socket.io y estado del juego
├── 🖥️ server.js # Servidor Express + Socket.io
├── 📦 package.json # Dependencias y scripts
└── 📖 README.md # Documentación
| Comando | Descripción |
|---|---|
npm start |
Inicia el servidor en modo producción |
npm run dev |
Inicia con nodemon (desarrollo) |
Para jugar con amigos en la misma red:
-
Encuentra tu IP local:
# Windows ipconfig # Mac/Linux ifconfig
-
Inicia el servidor normalmente con
npm start -
Tus amigos pueden conectarse usando:
http://TU_IP_LOCAL:3000
| Frontend | Backend | Comunicación |
|---|---|---|
| HTML5 | Node.js | Socket.io |
| CSS3 | Express | WebSockets |
| JavaScript | - | - |
¡Las contribuciones son bienvenidas!
- Haz un Fork del proyecto
- Crea tu rama de feature (
git checkout -b feature/NuevaCaracteristica) - Commit tus cambios (
git commit -m 'Añadir nueva característica') - Push a la rama (
git push origin feature/NuevaCaracteristica) - Abre un Pull Request
Distribuido bajo la Licencia MIT. Ver LICENSE para más información.
Hecho con ❤️ y JavaScript
¿Te gustó el proyecto? ¡Dale una ⭐!