summaryrefslogtreecommitdiff
path: root/src/ctaklm.c
diff options
context:
space:
mode:
authortslil <tslil@posteo.de>2021-01-13 16:39:16 -0500
committertslil <tslil@posteo.de>2026-08-28 19:37:41 +0100
commit2ef0078ba2afd99c4fc2673497f3d3a39119cf5d (patch)
tree3f3c791ee9b0136270f6cae2de3d96fce18e6a5c /src/ctaklm.c
parentaff5fe7f343194366beeda700a2f4a383e40fa73 (diff)
Trying minimax
Diffstat (limited to 'src/ctaklm.c')
-rw-r--r--src/ctaklm.c23
1 files changed, 15 insertions, 8 deletions
diff --git a/src/ctaklm.c b/src/ctaklm.c
index aafc0c3..4060911 100644
--- a/src/ctaklm.c
+++ b/src/ctaklm.c
@@ -4,7 +4,7 @@
#include <linenoise.h>
#include <tak.h>
-#include <ct1975.h>
+#include <ct1986.h>
const char *blk = "\033[41m", *wht = "\033[44m";
const char *rev = "\033[7m", *und = "\033[4m", *rst = "\033[0m";
@@ -154,7 +154,7 @@ print_info(void) {
wht,white_count >> 7,rst,
blk,black_count >> 7,rst);
printf("Valuation: %s%.6f%s\n",
- blk, ct1975_evaluate_black_win(), rst);
+ blk, ct1986_evaluate_black_win(), rst);
}
char *gamelog = 0;
@@ -300,7 +300,12 @@ load_ptn(const char* fn) {
}
static void
-dot(void) { putchar('.'); }
+dot(const uint8_t depth) {
+ if (depth == 0) {
+ putchar('#');
+ fflush(stdout);
+ }
+}
int
main(int argc, char **argv) {
@@ -308,6 +313,8 @@ main(int argc, char **argv) {
(void)(argv);
new_game(5);
+ ct1986_display_progress = &dot;
+
char *line;
while((line = linenoise("ctaklm> ")) != NULL) {
if (!strncmp(line,"help",5)) {
@@ -318,7 +325,7 @@ main(int argc, char **argv) {
} else if (!strncmp(line,"info",5)) {
print_info();
} else if (!strncmp(line,"eval",5)) {
- printf("Valuation: %.6f\n", ct1975_evaluate_black_win());
+ printf("Valuation: %.6f\n", ct1986_evaluate_black_win());
} else if (!strncmp(line,"log",3)) {
puts(gamelog);
} else if (!strncmp(line,"load",4)) {
@@ -359,11 +366,11 @@ main(int argc, char **argv) {
int r = handle_turn(line);
if (r == EXIT_SUCCESS && won == 0xFF) {
fputs("Thinking [", stdout);
- ct1975_generate_ptn(&dot);
+ float minimax = ct1986_minimax(0, 2, 0);
printf("] Result: %s (%.3f)\n",
- ct1975_ptn,
- ct1975_optimal*100.0);
- handle_turn(ct1975_ptn);
+ ct1986_ptn,
+ minimax*100.0);
+ handle_turn(ct1986_ptn);
}
}