Skip to content

allfre2/nino

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nino (Chess Engine)

Nino was my first 'serious' programming project. I started to write it in my second year of university because I love chess ever since I was a kid, I had learned C and I wanted to challenge myself.

Found it laying around and decided to dust it off and post it.

It partially implements the CECP protocol so it has been tested with XBoard, WinBoard and Arena on Windows.

Build

Just use make under linux/windows or use the compile.bat script.

$ cd src
$ make

Usage

= or set Sets the board to the initial state

/ or boardinfo prints the current state of the board and other information

xxxx An algebraic notation chess move (a-h)(1-8)(a-h)(1-8). It just makes that move on the board

; n , play n or search n starts the chess engine to find a move using a max ply of n

\ n or think n start the chess engine to run for n seconds reaching the maximum ply posible. If no n is supplied default time to think is 5 seconds.

- or undo Undo the last move

fen Prints the fen notation string for the position

clear clears the terminal

debug Turn debug mode on

perft n to run a performance test with a n ply depth

epdtest file Read file (an epd file) and does a performance with the test file supplied

exit, bye or quit to exit the program

eval Evaluates position and outputs the result

h or hash Outputs the hash for the position

see sq Evaluates SEE for the sq (0-63) Square

, or moves Show all available moves

< or captures Generates and outputs all captures

attacked Prints a Board with all atacked squares

+escape Generates and outputs moves that escape from check

order Orders available moves (according to some heuristic I can't remember) and outputs them

Things I learned and implemented

Screenshots

Linux terminal mode

Screenshot

Executing on Arena for windows

Screenshot

License

yes