#include <stdlib.h>#include "general.h"#include "chess.h"
Functions | |
| bool | is_square_ok (File file, Rank rank) |
| int | nr (Rank rank) |
| int | nf (File file) |
| bool | is_move_from_base_line (enum PieceColor color, Rank rank) |
| bool | is_piece (struct ChessPiece pc, enum PieceColor color, enum PieceType type) |
| void | init_chess_board (ChessBoard chess_board) |
| struct ChessSquare * | get_square (ChessBoard chess_board, File file, Rank rank) |
| bool | is_square_occupied (ChessBoard chess_board, File file, Rank rank) |
| bool | add_piece (ChessBoard chess_board, File file, Rank rank, struct ChessPiece piece) |
| struct ChessPiece | get_piece (ChessBoard chess_board, File file, Rank rank) |
| void | setup_chess_board (ChessBoard chess_board) |
| bool | remove_piece (ChessBoard chess_board, File file, Rank rank) |
| bool | squares_share_file (File s1_f, Rank s1_r, File s2_f, Rank s2_r) |
| bool | squares_share_rank (File s1_f, Rank s1_r, File s2_f, Rank s2_r) |
| bool | squares_share_diagonal (File s1_f, Rank s1_r, File s2_f, Rank s2_r) |
| bool | squares_share_knights_move (File s1_f, Rank s1_r, File s2_f, Rank s2_r) |
| bool | squares_share_pawns_move (enum PieceColor color, enum MoveType move, File s1_f, Rank s1_r, File s2_f, Rank s2_r) |
| bool | squares_share_queens_move (File s1_f, Rank s1_r, File s2_f, Rank s2_r) |
| bool | squares_share_kings_move (File s1_f, Rank s1_r, File s2_f, Rank s2_r) |
| bool add_piece | ( | ChessBoard | chess_board, | |
| File | file, | |||
| Rank | rank, | |||
| struct ChessPiece | piece | |||
| ) |
Setzt eine neue Figur auf ein bestimmtes Feld auf dem Schachbrett.
| chess_board | Schachbrett. | |
| file | Spaltenbezeichner. | |
| rank | Zeilenbezeichner. | |
| piece | Die neu zu setzende Figur. |

| struct ChessPiece get_piece | ( | ChessBoard | chess_board, | |
| File | file, | |||
| Rank | rank | |||
| ) | [read] |
Liefert die Figur auf einem spezifischen Feld eines Schachbrettes
| chess_board | Schachbrett. | |
| file | Spaltenbezeichner. | |
| rank | Zeilenbezeichner. |

| struct ChessSquare* get_square | ( | ChessBoard | chess_board, | |
| File | file, | |||
| Rank | rank | |||
| ) | [read] |
Liefert einen Pointer auf ein spezifisches Feld.
| chess_board | Schachbrett. | |
| file | Spaltenbezeichner für das Feld. | |
| rank | Zeilenbezeichner für das Feld. |

| void init_chess_board | ( | ChessBoard | chess_board | ) |
Löscht alle Figuren vom Schachbrett.
| chess_board | Das zu initialisierende Schachbrett. |
| bool is_move_from_base_line | ( | enum PieceColor | color, | |
| Rank | rank | |||
| ) |
| bool is_piece | ( | struct ChessPiece | pc, | |
| enum PieceColor | color, | |||
| enum PieceType | type | |||
| ) |
Prüft, ob die übergebene Schachfigur die angegebene Farbe und den angegebenen Typ hat.
| pc | Die zu überprüfende Schachfigur. | |
| color | Die geforderte Farbe. | |
| type | Der geforderte Figurtyp. |
| bool is_square_occupied | ( | ChessBoard | chess_board, | |
| File | file, | |||
| Rank | rank | |||
| ) |
Prüft, ob ein spezifisches Feld durch eine Figur besetzt ist.
| chess_board | Schachbrett. | |
| file | Spaltenbezeichner. | |
| rank | Zeilenbezeichner. |

| int nf | ( | File | file | ) |
| int nr | ( | Rank | rank | ) |
| bool remove_piece | ( | ChessBoard | chess_board, | |
| File | file, | |||
| Rank | rank | |||
| ) |
Nimmt die Figur an der angegebenen Position vom Schachbrett.
| chess_board | Schachbrett. | |
| file | Spaltenbezeichner. | |
| rank | Zeilenbezeichner. |

| void setup_chess_board | ( | ChessBoard | chess_board | ) |
Initialisiert das Schachbrett und stellt alle Figuren auf ihre Anfangsposition.
| chess_board | Das aufzustellende Schachbrett. |

Überprüft, ob sich zwei Felder in der gleichen Diagonale befinden.
| s1_f | Spaltenbezeichner des ersten Feldes. | |
| s1_r | Zeilenbezeichner des ersten Feldes. | |
| s1_f | Spaltenbezeichner des zweiten Feldes. | |
| s1_r | Zeilenbezeichner des zweiten Feldes. |

Überprüft, ob sich zwei Felder in der gleichen Spalte befinden.
| s1_f | Spaltenbezeichner des ersten Feldes. | |
| s1_r | Zeilenbezeichner des ersten Feldes. | |
| s1_f | Spaltenbezeichner des zweiten Feldes. | |
| s1_r | Zeilenbezeichner des zweiten Feldes. |

Überprüft, ob zwei Felder einen Königzug voneinander entfernt sind.
| s1_f | Spaltenbezeichner des ersten Feldes. | |
| s1_r | Zeilenbezeichner des ersten Feldes. | |
| s1_f | Spaltenbezeichner des zweiten Feldes. | |
| s1_r | Zeilenbezeichner des zweiten Feldes. |
Überprüft, ob zwei Felder einen Springerzug voneinander entfernt sind.
| s1_f | Spaltenbezeichner des ersten Feldes. | |
| s1_r | Zeilenbezeichner des ersten Feldes. | |
| s1_f | Spaltenbezeichner des zweiten Feldes. | |
| s1_r | Zeilenbezeichner des zweiten Feldes. |

| bool squares_share_pawns_move | ( | enum PieceColor | color, | |
| enum MoveType | move, | |||
| File | s1_f, | |||
| Rank | s1_r, | |||
| File | s2_f, | |||
| Rank | s2_r | |||
| ) |
Überprüft, ob zwei Felder einen Bauernzug voneinander entfernt sind.
| color | Farbe des Bauern. | |
| move | Art des Zugs (normaler Zug oder schlagender Zug). | |
| s1_f | Spaltenbezeichner des ersten Feldes. | |
| s1_r | Zeilenbezeichner des ersten Feldes. | |
| s1_f | Spaltenbezeichner des zweiten Feldes. | |
| s1_r | Zeilenbezeichner des zweiten Feldes. |

Überprüft, ob zwei Felder einen Damenzug voneinander entfernt sind.
| s1_f | Spaltenbezeichner des ersten Feldes. | |
| s1_r | Zeilenbezeichner des ersten Feldes. | |
| s1_f | Spaltenbezeichner des zweiten Feldes. | |
| s1_r | Zeilenbezeichner des zweiten Feldes. |

Überprüft, ob sich zwei Felder in der gleichen Zeile befinden.
| s1_f | Spaltenbezeichner des ersten Feldes. | |
| s1_r | Zeilenbezeichner des ersten Feldes. | |
| s1_f | Spaltenbezeichner des zweiten Feldes. | |
| s1_r | Zeilenbezeichner des zweiten Feldes. |

1.7.0