Git Product home page Git Product logo

ecv_p2's Introduction

Chess Viewer

Chess Viewer es una aplicación que carga partidas de ajedrez guardadas en formato PGN, y permite reproducirlas con un visor en 3D.

PGN (Portable Game Notation) es una notación que permite guardar partidas de ajedrez y tiene todo lo necesario para generar el flujo de una partida de ajedrez, movimientos, capturas, enroques, jaques, etc.

Autores

  • Ricardo Navarro Nieto - NIA: 152887
  • Luis Prieto Fernández - NIA: 146735

Clases

El juego consta de 2 clases:

  1. ChessViewer
  2. Chess3d

Para cargar los ficheros pgn hemos utilizado una librería llamada Chess.js.

Para las animaciones de las piezas hemos utilizado una librería llamada tween.js.

ChessViewer

Está compuesta por una instancia de Chess3d y otra de Chess.js.

Esta clase genera una serie de tableros para cada turno y permite moverse entre turnos. Actua como un reproductor permitiendo pausar y reproducir las partidas, saltar turno por turno, así como da información de lo que ocurre en cada turno.

Dispone de una lista de partidas, entre las cuales se puede ir cambiando para verlas.

Puede reproducir turnos hacia atrás así como saltar entre turnos.

Chess3d

Esta clase creará un árbol de escena de Three.js con el tablero y las piezas de un ajedrez y proveerá de los métodos necesarios para que ChessViewer pueda mover las piezas a cada casilla del tablero. ChessViewer le pasará unas coordenadas de ajedrez (b1 a c3) y Chess3d las traducirá a coordenadas de mundo.

Chess3d cargará assets en obj y mtl.

La librería controla qué piezas están fuera o dentro de la escena mostrándolas u ocultándolas, de forma que se pueda ir hacia delante y hacia atrás fácilmente.

ecv_p2's People

Contributors

luisprieto avatar rcnavarro avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.