bits y piezasrompecabezas en línea

En el ajedrez por computadora los programadores deben de escoger una estructura de datos para representar las posiciones del ajedrez . Muchas estructuras de datos existen, llamadas colectivamente como representación del tablero. Los programas de ajedrez frecuentemente usan más de una representación del tablero por razones de eficiencia. Una completa descripción de una posición de ajedrez , debería de contener los siguientes elementos: El lugar de cada pieza en el tablero El jugador que tiene el turno de mover El estado de la regla de los 50 movimientos El estado del enroque de ambos jugadores Si es posible que una pieza pueda capturar al paso, y de cual pieza se trata.La representación del tablero típicamente no incluye la regla de empate de los 3 movimientos repetidos. Para determinar esta regla, se necesita mantener un historial completo del juego , y por lo tanto, esto se almacena en una estructura de datos diferente. Algunos de los primeros programas de computadoras de la historia debían trabajar con muy poca memoria , por lo tanto, alojar las 64 casillas del tablero en memoria representaba mucho. Entonces, estos programas almacenaban una lista de los lugares de cada una de las 16 piezas de ambos jugadores. En vez de buscar en cada una de las 64 casillas del tablero para encontrar las piezas, la lista de piezas daba acceso instantáneo a las piezas. Una de las formas más simples de representar un tablero es crear un arreglo de tamaño 8x8 (o de forma equivalente un arreglo unidimensional de 64 elementos). A cada elemento del arreglo correspondería la pieza que contiene la casilla, o en dado caso, si la casilla está vacía.