Skip to content

Repository files navigation

Chess Arena

Aplicación móvil multiplataforma para aprender y practicar ajedrez mediante partidas offline, inteligencia artificial, problemas tácticos y variantes jugables. Está desarrollada con React Native y TypeScript, con integraciones nativas para Android e iOS.

Estado: proyecto personal en desarrollo. Las partidas offline, los problemas y el minijuego con barreras son funcionales; autenticación, juego online y persistencia permanente siguen pendientes.

Pantalla principal de Chess Arena

Qué se puede revisar en el código

Ruta Contenido técnico
App.tsx Navegación principal, menús, estados y composición de pantallas
src/screens/ Partida clásica, problemas tácticos, minijuegos y flujos visuales
src/chess/ Lógica del bot y evaluación de posiciones
src/levels/ Carga, validación y motor de problemas de bolsillo
niveles/ Más de 400 posiciones tácticas en JSON
android/ Proyecto Android, módulo de sonido en Kotlin y recursos nativos
ios/ Proyecto iOS y configuración en Swift
tools/ Generadores y analizadores de niveles
__tests__/ Pruebas de renderizado y validación de soluciones

Funcionalidad implementada

  • Partida clásica offline contra bot con dificultad configurable por ELO.
  • Elección de piezas blancas, negras o aleatorias.
  • Reglas, movimientos legales y estados de partida mediante Chess.js.
  • Capturas, promoción, jaque, jaque mate, tablas e historial de movimientos.
  • Pistas y reconocimiento básico de aperturas.
  • Integración de Stockfish y un motor alternativo escrito en TypeScript.
  • Catálogo de más de 400 problemas tácticos con distintos tamaños y dificultades.
  • Minijuego funcional de ajedrez con barreras.
  • Animaciones, recursos visuales y sonidos nativos de movimiento, captura y jaque.
  • Herramientas para generar, medir similitud y validar niveles.
  • Pruebas automatizadas con Jest.

Tecnologías

Área Tecnología
Lenguaje principal TypeScript y TSX
Aplicación móvil React 19 y React Native 0.85
Reglas de ajedrez Chess.js
Inteligencia artificial Stockfish y motor TypeScript propio
Android Kotlin, Gradle y Hermes
iOS Swift y CocoaPods
Interfaz Animated, StyleSheet, SVG, PNG y Lucide Icons
Listas Shopify FlashList
Pruebas Jest y React Test Renderer
Datos JSON
Herramientas npm, Metro, Babel, ESLint y Prettier

Instalación

Requisitos principales:

  • Node.js 22.13 o superior.
  • Entorno de React Native configurado.
  • Android Studio/SDK para Android.
  • Xcode y CocoaPods para iOS.
npm install
npm start

En otra terminal:

npm run android

Para iOS, desde macOS:

bundle install
bundle exec pod install --project-directory=ios
npm run ios

Validación

npm test -- --runInBand
npx tsc --noEmit
npm run check:level-similarity

Durante la preparación del portafolio, TypeScript terminó sin errores y las pruebas disponibles finalizaron correctamente.

Galería

Las evidencias están en docs/screenshots. Incluyen inicio, autenticación visual, menú, partida clásica, problemas, catálogo, minijuegos y ajedrez con barreras.

Funciones pendientes

  • Autenticación real e inicio con Google.
  • Juego online entre usuarios.
  • Backend y almacenamiento permanente de progreso.
  • Estadísticas, recompensas y desafíos diarios.
  • Tienda, suscripción e invitaciones.
  • Partida rápida y variante de ajedrez explosivo.
  • Paridad de algunas funciones nativas en iOS.

Nota sobre recursos

El repositorio conserva los recursos utilizados por la aplicación, pero excluye compilaciones, APK, cachés, toolchains locales y documentos personales. Antes de distribuir comercialmente el proyecto se deben revisar las licencias de imágenes, sonidos, fuentes y dependencias.

About

Aplicación móvil de ajedrez con React Native y TypeScript, bot offline, Stockfish, 409 problemas tácticos, minijuegos y pruebas Jest.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages