Let's say I have two programs which play chess: chess_1 and chess_2. They keep track of the board themselves, and take as input opposing moves, and then output their moves. For example, if I wanted to play against chess_1, I would do the following:
I would start the program (assuming I am white)
$ ./chess_1 # program starts and hangs for input
<my move> # my input
<the bot's move> # bot output
<my next move> # my input
.... < etc. > .....
And the bot would keep track of the game board. My question is, how can I make chess_1 play against chess_2?