From 6d56c38e8bcb9041335b03f27c192c24dfaedb1c Mon Sep 17 00:00:00 2001
From: AlexeyAB <alexeyab84@gmail.com>
Date: Wed, 28 Mar 2018 23:39:28 +0000
Subject: [PATCH] Merge branch 'master' of github.com:AlexeyAB/darknet

---
 src/go.c |   50 ++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 36 insertions(+), 14 deletions(-)

diff --git a/src/go.c b/src/go.c
index 7883ed5..223d136 100644
--- a/src/go.c
+++ b/src/go.c
@@ -10,7 +10,8 @@
 
 int inverted = 1;
 int noi = 1;
-static const int nind = 5;
+//static const int nind = 5;
+#define nind 5
 
 typedef struct {
     char **data;
@@ -116,7 +117,6 @@
 
 void train_go(char *cfgfile, char *weightfile)
 {
-    data_seed = time(0);
     srand(time(0));
     float avg_loss = -1;
     char *base = basecfg(cfgfile);
@@ -132,7 +132,7 @@
     char buff[256];
     float *board = calloc(19*19*net.batch, sizeof(float));
     float *move = calloc(19*19*net.batch, sizeof(float));
-    moves m = load_go_moves("/home/pjreddie/go.train");
+    moves m = load_go_moves("/home/pjreddie/backup/go.train");
     //moves m = load_go_moves("games.txt");
 
     int N = m.n;
@@ -217,7 +217,7 @@
     }
     fprintf(stream, "\n");
     for(j = 0; j < 19; ++j){
-        fprintf(stream, "%2d ", (inverted) ? 19-j : j+1);
+        fprintf(stream, "%2d", (inverted) ? 19-j : j+1);
         for(i = 0; i < 19; ++i){
             int index = j*19 + i;
             if(indexes){
@@ -225,17 +225,26 @@
                 for(n = 0; n < nind; ++n){
                     if(index == indexes[n]){
                         found = 1;
+                        /*
                         if(n == 0) fprintf(stream, "\uff11");
                         else if(n == 1) fprintf(stream, "\uff12");
                         else if(n == 2) fprintf(stream, "\uff13");
                         else if(n == 3) fprintf(stream, "\uff14");
                         else if(n == 4) fprintf(stream, "\uff15");
+                        */
+                        if(n == 0) fprintf(stream, " 1");
+                        else if(n == 1) fprintf(stream, " 2");
+                        else if(n == 2) fprintf(stream, " 3");
+                        else if(n == 3) fprintf(stream, " 4");
+                        else if(n == 4) fprintf(stream, " 5");
                     }
                 }
                 if(found) continue;
             }
-            if(board[index]*-swap > 0) fprintf(stream, "\u25C9 ");
-            else if(board[index]*-swap < 0) fprintf(stream, "\u25EF ");
+            //if(board[index]*-swap > 0) fprintf(stream, "\u25C9 ");
+            //else if(board[index]*-swap < 0) fprintf(stream, "\u25EF ");
+            if(board[index]*-swap > 0) fprintf(stream, " O");
+            else if(board[index]*-swap < 0) fprintf(stream, " X");
             else fprintf(stream, "  ");
         }
         fprintf(stream, "\n");
@@ -392,7 +401,6 @@
 
 void valid_go(char *cfgfile, char *weightfile, int multi)
 {
-    data_seed = time(0);
     srand(time(0));
     char *base = basecfg(cfgfile);
     printf("%s\n", base);
@@ -568,8 +576,12 @@
                     }
                 }
                 fprintf(f, "final_status_list dead\n");
-                fclose(f);
-                FILE *p = popen("./gnugo --mode gtp < game.txt", "r");
+                fclose(f);                
+#ifdef _WIN32
+				FILE *p = _popen("./gnugo --mode gtp < game.txt", "r");
+#else
+				FILE *p = popen("./gnugo --mode gtp < game.txt", "r");
+#endif
                 for(i = 0; i < count; ++i){
                     free(fgetl(p));
                     free(fgetl(p));
@@ -640,8 +652,10 @@
             col = index % 19;
             printf("%d: %c %d, %.2f%%\n", i+1, col + 'A' + 1*(col > 7 && noi), (inverted)?19 - row : row+1, move[index]*100);
         }
-        if(color == 1) printf("\u25EF Enter move: ");
-        else printf("\u25C9 Enter move: ");
+        //if(color == 1) printf("\u25EF Enter move: ");
+        //else printf("\u25C9 Enter move: ");
+        if(color == 1) printf("X Enter move: ");
+        else printf("O Enter move: ");
 
         char c;
         char *line = fgetl(stdin);
@@ -703,8 +717,12 @@
         }
     }
     fprintf(f, "final_score\n");
-    fclose(f);
-    FILE *p = popen("./gnugo --mode gtp < game.txt", "r");
+    fclose(f);  
+#ifdef _WIN32
+	FILE *p = _popen("./gnugo --mode gtp < game.txt", "r");
+#else
+	FILE *p = popen("./gnugo --mode gtp < game.txt", "r");
+#endif
     for(i = 0; i < count; ++i){
         free(fgetl(p));
         free(fgetl(p));
@@ -719,7 +737,11 @@
         if (n == 2) break;
     }
     if(player == 'W') score = -score;
-    pclose(p);
+#ifdef _WIN32
+	_pclose(p);
+#else
+	pclose(p);
+#endif
     return score;
 }
 

--
Gitblit v1.10.0