# 🎮 FULL DOMINOES v4.0 - MOBILE + IA + OAUTH

## ✅ MEJORAS v4.0

### 1️⃣ BACKGROUNDS MOBILE - FIXED ✅
- ✅ Ahora funciona en mobile 100%
- ✅ CSS variables en lugar de style directo
- ✅ sessionStorage + localStorage
- ✅ Fuerza repaint en mobile
- ✅ Persiste al recargar

**Archivo**: `assets/js/mesas-config.js` (ACTUALIZADO)

### 2️⃣ IA PARA BOTS - OLLAMA ✅
- ✅ Análisis inteligente de juego
- ✅ Calcula mejores movimientos
- ✅ Detecta estrategias del rival
- ✅ 3 niveles: facil, normal, dificil
- ✅ Learning system (aprende de partidas)

**Archivos**:
- `assets/js/bot-ia.js` (NUEVO)
- `api/bot_move.php` (NUEVO)

**Modelos Ollama soportados**:
```
qwen2.5:7b    (Mejor análisis)
qwen2.5:3b    (Balance)
qwen2.5:1.5b  (Rápido - RECOMENDADO)
qwen2.5:0.5b  (Ultra rápido)
```

### 3️⃣ OAUTH - GOOGLE + FACEBOOK ✅
- ✅ Login con Google OAuth 2.0
- ✅ Login con Facebook OAuth 2.0
- ✅ CSRF protection (state verification)
- ✅ PKCE flow (seguridad)
- ✅ Auto-crea usuario en BD

**Archivos**:
- `assets/js/oauth-config.js` (NUEVO)
- `callback_google.php` (NUEVO)
- `callback_facebook.php` (NUEVO)

---

## 🎯 LO QUE FUNCIONA

✅ Fichas 3D profesionales  
✅ APIs de Torneos  
✅ 4 Mesas dinámicas con backgrounds  
✅ **Backgrounds en MOBILE** (FIXED)  
✅ **IA inteligente para bots**  
✅ **Login Google + Facebook**  
✅ Mobile-first design  
✅ Production ready  

---

## 🚀 SETUP RÁPIDO (15 MINUTOS)

### 1. Variables de Entorno
Crear `.env`:
```bash
GOOGLE_CLIENT_ID=YOUR_ID.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=YOUR_SECRET
FACEBOOK_APP_ID=YOUR_ID
FACEBOOK_APP_SECRET=YOUR_SECRET
OLLAMA_HOST=http://localhost:11434
OLLAMA_MODEL=qwen2.5:1.5b
```

### 2. Google OAuth
- Ir a: https://console.cloud.google.com/
- Crear OAuth 2.0 ID
- Authorized redirect URIs:
  - `http://localhost/callback_google.php`
  - `https://tudominio.com/callback_google.php`

### 3. Facebook OAuth
- Ir a: https://developers.facebook.com/
- Crear App
- Agregar "Facebook Login"
- OAuth Redirect URIs:
  - `http://localhost/callback_facebook.php`
  - `https://tudominio.com/callback_facebook.php`

### 4. Migración BD
```sql
ALTER TABLE usuarios ADD COLUMN google_id VARCHAR(255) UNIQUE NULL;
ALTER TABLE usuarios ADD COLUMN facebook_id VARCHAR(255) UNIQUE NULL;
ALTER TABLE usuarios ADD COLUMN ultimo_login DATETIME NULL;

CREATE TABLE login_auditoria (
  id INT PRIMARY KEY AUTO_INCREMENT,
  usuario_id INT NOT NULL,
  metodo VARCHAR(50),
  ip VARCHAR(45),
  user_agent TEXT,
  fecha TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  FOREIGN KEY (usuario_id) REFERENCES usuarios(id) ON DELETE CASCADE
);
```

### 5. Testing
- Tienda: Comprar mesa → Entra a sala → ✅ Background cambia
- IA: Jugar vs bot → ✅ Bot toma decisiones inteligentes
- OAuth: Click Google/Facebook → ✅ Crea sesión

---

## 📱 MOBILE PRIORITY

- Web = Admin + Pruebas
- Mobile = Juego real
- Optimizado para landscape (720×360)
- Responsive breakpoints incluidos
- Performance optimizado (sesiones rápidas)

---

## 🤖 USO DE IA

```javascript
// Crear bot
const bot = new BotIA('normal');  // facil|normal|dificil

// Obtener movimiento
const movimiento = await bot.obtenerMejorMovimiento(
  estadoJuego,
  fichasDisponibles
);

// Registrar resultado (learning)
bot.registrarPartida({
  gane: true,
  puntosMios: 50,
  puntosRival: 30,
  movimientos: [...],
  estrategiaRival: 'defensivo'
});

// Ver stats
console.log(bot.estadisticas);
// {ganadas: 15, perdidas: 5, tasaVictoria: 0.75}
```

---

## 🔐 SEGURIDAD

✅ CSRF protection (state verification)  
✅ PKCE flow (Google)  
✅ Prepared statements (SQL injection)  
✅ SSL/HTTPS (producción)  
✅ Password hashing (bcrypt)  
✅ Auditoría de login  

---

## 📊 STATUS

| Feature | Status | Mobile | Desktop |
|---------|--------|--------|---------|
| Fichas 3D | ✅ | ✅ | ✅ |
| Mesas Dinámicas | ✅ | ✅ | ✅ |
| Backgrounds | ✅ FIXED | ✅ | ✅ |
| IA Bots | ✅ | ✅ | ✅ |
| OAuth Google | ✅ | ✅ | ✅ |
| OAuth Facebook | ✅ | ✅ | ✅ |
| Torneos | ✅ | ✅ | ✅ |

---

## 📁 ARCHIVOS

### NUEVOS
```
assets/js/bot-ia.js          ← Sistema IA
assets/js/oauth-config.js    ← OAuth setup
api/bot_move.php             ← Ollama endpoint
callback_google.php          ← Google callback
callback_facebook.php        ← Facebook callback
.env                         ← Variables (NO incluir en git)
```

### ACTUALIZADOS
```
assets/js/mesas-config.js    ← FIXED mobile
assets/js/sala.js            ← Inicializa mesa
tienda-carrusel.js           ← Llama cambiarMesa()
```

---

## 🎁 EXTRAS

- Learning system para bots (guardar partidas, analizar)
- Diferentes niveles de dificultad
- Análisis de estrategia del rival
- Auditoría de logins OAuth
- Cache de decisiones IA
- Mobile-first responsive design

---

**Versión**: 4.0  
**Fecha**: 22 Julio 2026  
**Status**: ✅ PRODUCTION READY  
**Mobile**: ✅ 100% FUNCIONAL  
**IA**: ✅ INTEGRADA  
**OAuth**: ✅ IMPLEMENTADO  

¡A JUGAR! 🎮
