Skip to content

ernestoruiz89/tic-tac-toe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎮 Tic Tac Toe Multijugador

Un juego clásico reinventado con tecnología en tiempo real

Node.js Socket.io Express License: MIT

Juega Tic Tac Toe con tus amigos en tiempo real, sin importar dónde estén.


✨ Características

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

🚀 Inicio Rápido

Prerrequisitos

  • Node.js (v18 o superior)
  • npm o yarn

Instalación

# 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

🎮 ¡A Jugar!

  1. Abre tu navegador en http://localhost:3000
  2. Haz clic en "Crear Sala" para generar un código
  3. Comparte el código con tu amigo
  4. Tu amigo ingresa el código y hace clic en "Unirse a Sala"
  5. ¡Que comience la partida! 🎉

🏗️ Arquitectura

┌─────────────────────────────────────────────────────────────┐
│                        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                              │   │
│  └──────────────────────────────────────────────────────┘   │
└─────────────────────────────────────────────────────────────┘

📁 Estructura del Proyecto

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

🔧 Scripts Disponibles

Comando Descripción
npm start Inicia el servidor en modo producción
npm run dev Inicia con nodemon (desarrollo)

🌐 Jugar en Red Local

Para jugar con amigos en la misma red:

  1. Encuentra tu IP local:

    # Windows
    ipconfig
    
    # Mac/Linux
    ifconfig
  2. Inicia el servidor normalmente con npm start

  3. Tus amigos pueden conectarse usando:

    http://TU_IP_LOCAL:3000
    

🛠️ Tecnologías

Frontend Backend Comunicación
HTML5 Node.js Socket.io
CSS3 Express WebSockets
JavaScript - -

🤝 Contribuir

¡Las contribuciones son bienvenidas!

  1. Haz un Fork del proyecto
  2. Crea tu rama de feature (git checkout -b feature/NuevaCaracteristica)
  3. Commit tus cambios (git commit -m 'Añadir nueva característica')
  4. Push a la rama (git push origin feature/NuevaCaracteristica)
  5. Abre un Pull Request

📝 Licencia

Distribuido bajo la Licencia MIT. Ver LICENSE para más información.


Hecho con ❤️ y JavaScript

¿Te gustó el proyecto? ¡Dale una ⭐!

About

Multiplayer Tic Tac Toe Game

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors