Un juego de Petteia moderno y elegante desarrollado con Flutter para múltiples plataformas.
- 🎮 Interfaz moderna con Material Design 3
- 📱 Multiplataforma - Android, iOS, Web y Desktop
- 💾 Guardado automático de partidas
- 🔊 Efectos de sonido y vibración
- 🎯 Múltiples niveles de dificultad
- 📊 Historial de movimientos
- 🌙 Tema oscuro/claro con modo sistema
- ⚡ Animaciones fluidas y responsivas
- Flutter 3.19+ - Framework principal
- Dart 3.0+ - Lenguaje de programación
- Provider - State management
- Shared Preferences - Persistencia local
- AudioPlayers - Efectos de sonido
- Material Design 3 - Interfaz de usuario
lib/
├── main.dart # Punto de entrada de la aplicación
├── models/ # Modelos de datos
│ ├── position.dart # Posiciones del tablero
│ ├── piece.dart # Piezas de Petteia
│ ├── move.dart # Movimientos
│ ├── game_state.dart # Estado del juego
│ └── board.dart # Tablero de Petteia
├── providers/ # State management
│ └── game_provider.dart # Provider del juego
├── screens/ # Pantallas principales
│ ├── home_screen.dart # Pantalla de inicio
│ ├── game_screen.dart # Pantalla del juego
│ ├── settings_screen.dart # Configuración
│ └── about_screen.dart # Acerca de
├── widgets/ # Widgets reutilizables
│ ├── chess_board.dart # Tablero de Petteia
│ ├── chess_piece.dart # Piezas individuales
│ ├── game_controls.dart # Controles del juego
│ └── game_status.dart # Estado del juego
└── services/ # Servicios
├── game_storage.dart # Persistencia de juegos
└── preferences_service.dart # Preferencias de usuario
-
Requisitos previos:
- Flutter SDK 3.19+
- Dart SDK 3.0+
- Android Studio o VS Code con Flutter extension
-
Clonar el proyecto:
git clone <repository-url> cd petteia_flutter
-
Instalar dependencias:
flutter pub get
-
Ejecutar la aplicación:
# Para Android flutter run # Para iOS flutter run # Para Web flutter run -d chrome # Para Desktop (Windows/Linux/Mac) flutter run -d windows # flutter run -d linux # flutter run -d macos
El proyecto está configurado para funcionar en:
- Android (API 21+)
- iOS (iOS 11+)
- Web (Chrome, Firefox, Safari, Edge)
- Windows (Windows 10+)
- Linux (Ubuntu 18.04+, CentOS 7+)
- macOS (macOS 10.14+)
El proyecto incluye configuración de análisis estático:
# Ejecutar análisis
flutter analyze
# Ejecutar tests
flutter test
# Ejecutar tests con cobertura
flutter test --coverage- Iniciar una partida: Presiona "Jugar" en la pantalla principal
- Seleccionar pieza: Toca una pieza para ver movimientos posibles
- Mover pieza: Toca el destino para completar el movimiento
- Controles: Usa los botones para guardar, cargar o reiniciar
Accede a la configuración desde el menú principal para:
- Activar/desactivar sonido y vibración
- Cambiar tema (claro, oscuro, sistema)
- Ajustar nivel de dificultad
- Configurar orientación del tablero
- Gestionar datos guardados
- Fork el proyecto
- Crea una rama para tu feature (
git checkout -b feature/nueva-funcionalidad) - Commit tus cambios (
git commit -am 'Agrega nueva funcionalidad') - Push a la rama (
git push origin feature/nueva-funcionalidad) - Abre un Pull Request
# Ejecutar todos los tests
flutter test
# Ejecutar tests específicos
flutter test test/position_test.dart
# Ejecutar tests con reporte de cobertura
flutter test --coverageEste proyecto está bajo la Licencia MIT. Ver el archivo LICENSE para más detalles.
Para soporte y preguntas:
- 📧 Email: [email protected]
- 🐛 Reportar bugs: Issues
- 📖 Documentación: Wiki
- Implementar lógica completa del Petteia
- Agregar modo multijugador local
- Implementar IA para jugar contra la máquina
- Agregar más temas y personalización
- Implementar modo de análisis de partidas
- Agregar soporte para notación PGN
- Implementar modo de entrenamiento/tutoría
Desarrollado con ❤️ usando Flutter