Entrades

S'estan mostrant les entrades amb l'etiqueta Code

37.- En passant

Imatge
Doncs com diu el títol de l'entrada s'ha de poder gestionar aquesta opció, una miradeta al codi i llestos. Pues como dice el título de la entrada se tiene que poder gestionar esta acción, un repaso al código y ya funciona. It is necessary to manage this tipical action, just taking a look to the code and now is possible.

35.- Capturing pieces: two ways

Imatge
Mentre avanço amb el projecte vaig millorant cosetes del codi. En el video es pot veure com es pot matar aixecant la peça que captura primer o bé aixecant la capturada primer sense que hi hagi cap problema. Mientras avanzo con el proyecto voy mejorando cositas del código . En el video se puede ver cómo se puede matar levantando la pieza que captura primero o bien levantando la capturada primero sin que haya ningún problema . As I progress with the project I improved things on the code. In the video you can see how you can capture by lifting the piece you capture first or by lifting the captured one first without any prob lem.

32.- Notation

Imatge
Uns quants retocs i la notació cartesiana ja funciona Unos cuantos retoques y la notación cartesiana ya funciona. A few tweaks and Cartesian notation already works

31.- Notation

Imatge
Una de les característiques que ha de tenir el taulell és una tft on es vagin escrivint les jugades, en un principi això estava pensat per poder desar les partides en la SD que les tft porten incorporades, el que ha passat és que L'arduino Micro té molt poca memòria, com que no el coneixia ni havia pensat que tingués tant poca memòria i aquesta funció no hi cap. També em faltarien pins per poder completar aquesta operació, per tant, la tft queda a nivell testimonial i no serveix per a gaire més que per fer bonic. Utilitzant una placa teensy 2.0++ que és quasi igual de gran que el Micro es podria fer però ja tinc les plaques a mig fer i ara ja és massa tard (potser en un futur). En el video es veu la primera proba d'escriptura dels moviments, hi ha alguna cosa que falla encara :(, però ja ho solucionaré. Una de las características que debe tener el tablero es una tft donde se vayan escribiendo las jugadas , en un principio esto estaba pensado para poder guardar la...

30.- Capturing pieces

Imatge
Vull que es puguin capturar les peces tant si s'aixeca primer la peça que captura com la capturada. Quiero que se puedan capturar las piezas tanto si se levanta primero la pieza que captura como la capturada. I want the pieces to be able to be captured whether the capturing piece or the captured one is lifted first.

29.- Castling

Imatge
És una de les coses a gestionar, que es puguin fer els enrocs, en el meu cas he fet servir una variable booleana que estarà a FALSE mentre no es faci l'enroc i passarà a TRUE quan es produeixi aquesta situació, no té cap mena de complicació. ...Com podeu veure al final del video, ara ve la gestió de la captura de peces.... Es una de las cosas a gestionar , que se puedan hacer los enroques , en mi caso he usado una variable booleana que estará a FALSE mientras no se haga el enroque y pasará a TRUE cuando se produzca esta situación , no tiene ningún tipo de complicación . ...Como se puede ver en el final del video, ahora toca la gestión de la captura de piezas... It is one of the things to manage, that the castings can be done, in my case I used a Boolean variable that will be to FALSE as long as the castling is not done and will pass to TRUE when this situation occurs, it does not have any of complication. ..As you can see at the end of the video, now its time...

28.- Trying to play with Arena

Imatge
Una vegada dominat el moviment lo únic que haig de fer és mirar la matriu inicial i la final i quins elements d'aquestes són els que han canviat, evidentment, si no hi ha hagut moviment senzillament segueixo escanejant el taulell i res més. Els digits de les matrius els associo amb una casella amb el format de referència dels taulells (a1,...,h8) obtenint la casella de sortida i la d'arribada. Aquestes dues caselles formaran l'ordre que enviaré pel port serie amb la llibreria Keyboard que emularà una entrada per teclat de la jugada al programa de l'ordinador. Una vez do minado el movimiento lo único que tengo que hacer es mirar la matriz inicial y la final y qué elementos de estas son los que han cambiado, evidentemente , si no ha habido movimiento sencillamente sigo escaneando el mostrador y nada más. Los digitos de las matrices los asocio con una casilla con el formato de referencia de los azulejos ( a1 , ..., h8 ) obteniendo la ...

27.- Movement detection

Imatge
Amb els imans ja escollits i les peces amb els imans incorporats puc començar a fer les probes de codi. El primer que se m'acut és intentar detectar el moviment, és a dir, quan s'activen i desactiven caselles. Això es fa al mateix algoritme de la lectura del taulell, en el moment en que es compara l'estat actual amb l'anterior. Ja soc capaç, doncs, de detectar el moviment de peces. Con los imanes ya elegidos y las piezas con los imanes incorporados puedo empezar a hacer las pruebas de código. Lo primero que se me ocurre es intentar detectar el movimiento, es decir, cuando se activan y desactivan casillas . Esto se hace en el mismo algoritmo de la lectura del tablero , en el momento en que se compara el estado actual con el anterior . With the magnets already chosen and the pieces with the built-in magnets I can start doing the code tests. The first thing that comes to mind is to try to detect movement, that is, when boxes are turned ...

16.- The code: the board scan

Es tracta d'anar recorrent cada columna d'una fila i fer totes les files (o al revés). La idea és agafar una fila, posar-la a 1 (activa) i recórrer totes les columnes d'aquesta fila per mirar quines estan actives, en les que tingui una peça a sobre, la intersecció de la fila que estic mirant amb la columna per on passa el bucle, em marcarà que està activa. Quan a cabo de recòrrer totes les 8 columnes de la fila, la poso a zero i poso a 1 la següent fila per recòrren les 8 columnes, així fins que s'acavin les files que serà quan hauré recorregut tot el taulell havent fet una lectura. Això em proporcionarà una matriu d 'uns i zeros que m'indicaran on hi ha peça i on no. És IMPORTANT comentar que el taulell només reconeix a ON HI HA PEÇA però NO QUINA PEÇA HI HA. A partir daquí la comunicació amb l'ordinador serà a través de l'enviament pel port serie de la casella de sortida i arribada en coordenades com si es fes la entrada del moviment PER TECLAT. He fet...

15.- The code: the idea

El codi gestionara la lectura del taulell (sensors reed actius) i els desarà en matrius per saber quines caselles han patit canvi. Reed actiu = 1 = casella ocupada per una peça. reed no actiu = 0 = casella buida. El código gestionara la lectura del mostrador ( sensores reed activos ) y los guardará en matrices para saber qué casillas han sufrido cambio. Reed activo = 1 = casilla ocupada por una pieza. reed no activo = 0 = casilla vacía. The code will manage the reading of the counter (active reed sensors) and store them in matrices to know which boxes have changed. Active reed = 1 = square occupied by a piece. reed inactive = 0 = empty square. La seqüència d'un moviment de peça serà la següent: e2e4                  escaneig inicial                   escaneig final 8               1 1 1 1 1 1 1 1    ...