minimum uci parceing
This commit is contained in:
parent
276539181c
commit
c2d539e6a9
2 changed files with 49 additions and 0 deletions
36
main.c
Normal file
36
main.c
Normal file
|
|
@ -0,0 +1,36 @@
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
#define BUFF_SIZE 4096
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
setbuf(stdin, NULL);
|
||||||
|
setbuf(stdout, NULL);
|
||||||
|
|
||||||
|
char line[BUFF_SIZE];
|
||||||
|
char *lineRest, *token;
|
||||||
|
char ltz[] = "abcdefgh";
|
||||||
|
int cnt = 0;
|
||||||
|
while (1) {
|
||||||
|
(void)fgets(line, sizeof(line), stdin);
|
||||||
|
size_t len = strlen(line);
|
||||||
|
if (len - 1)
|
||||||
|
line[len - 1] = '\0';
|
||||||
|
token = strtok_r(line, " ", &lineRest);
|
||||||
|
if (!strcmp("uci", token)) {
|
||||||
|
printf("id name RatChess 0.0\n");
|
||||||
|
printf("id author rat<3\n\n");
|
||||||
|
printf("uciok\n");
|
||||||
|
} else if (!strcmp("quit", token)) {
|
||||||
|
return 0;
|
||||||
|
} else if (!strcmp("setoption", token)) {
|
||||||
|
} else if (!strcmp("position", token)) {
|
||||||
|
} else if (!strcmp("ucinewgame", token)) {
|
||||||
|
} else if (!strcmp("isready", token)) {
|
||||||
|
printf("readyok\n");
|
||||||
|
} else if (!strcmp("go", token)) {
|
||||||
|
printf("bestmove %c2%c4\n", ltz[cnt], ltz[cnt]);
|
||||||
|
cnt++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
13
shell.nix
Normal file
13
shell.nix
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
{pkgs ? import <nixpkgs> {}}:
|
||||||
|
with pkgs;
|
||||||
|
mkShell rec {
|
||||||
|
packages = [gdb clang-tools];
|
||||||
|
nativeBuildInputs = [
|
||||||
|
pkg-config
|
||||||
|
gcc
|
||||||
|
gnumake
|
||||||
|
];
|
||||||
|
buildInputs = [
|
||||||
|
];
|
||||||
|
LD_LIBRARY_PATH = lib.makeLibraryPath buildInputs;
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue