171 lines
5.7 KiB
Plaintext
171 lines
5.7 KiB
Plaintext
$NetBSD: patch-ad,v 1.6 2014/02/09 16:50:45 wiedi Exp $
|
|
|
|
--- main.cpp.orig 2000-04-01 07:46:20.000000000 +0000
|
|
+++ main.cpp
|
|
@@ -3,20 +3,23 @@
|
|
|
|
/* Main functions controlling program */
|
|
|
|
-#include <iostream.h>
|
|
-#include <iomanip.h>
|
|
+#include <iostream>
|
|
+#include <iomanip>
|
|
#include <stdlib.h>
|
|
#include <string.h>
|
|
#include <math.h>
|
|
#include <stdio.h>
|
|
#include <signal.h>
|
|
-#include <fstream.h>
|
|
+#include <fstream>
|
|
|
|
#include "define.h"
|
|
|
|
+using namespace std;
|
|
+
|
|
#if UNIX
|
|
#include <sys/types.h>
|
|
#include <sys/time.h>
|
|
+ #include <unistd.h>
|
|
#else
|
|
#include <windows.h>
|
|
#include <time.h>
|
|
@@ -42,21 +45,21 @@ int omttc = 0, mttc = 0, inc = 0; float
|
|
int display_board = 0;
|
|
int analysis_mode = 0;
|
|
extern int fail; // flag for fail high/fail low from search
|
|
-extern move ponder_move;
|
|
+extern my_move ponder_move;
|
|
extern int logging;
|
|
|
|
ofstream logfile;
|
|
int MAX_LOGS = 100;
|
|
|
|
// xboard flag
|
|
-int xboard, post, ics, ALLEG = 0, hintflag = 0, count = 1;
|
|
+int xboard, post, ics, ALLEG = 0, hintflag = 0, my_count = 1;
|
|
int ponder_flag = 1, learn_bk, shout_book;
|
|
int no_book = 0; // count of moves without a book move
|
|
position reset_pos;
|
|
extern int ponder, last_ponder, learn_count, learned;
|
|
extern unsigned long TAB_SIZE, PAWN_SIZE;
|
|
|
|
-// executable directory
|
|
+// exchess opening book and search parameters directory
|
|
char exec_path[100];
|
|
|
|
// performance function
|
|
@@ -88,21 +91,12 @@ ofstream printer;
|
|
int main(int argc, char *argv[])
|
|
{
|
|
char mstring[10];
|
|
- move hint;
|
|
+ my_move hint;
|
|
xboard = 0; ponder = 0; ics = 0;
|
|
learn_count = 0; learned = 0; learn_bk = 1; shout_book = 0;
|
|
|
|
|
|
- strcpy(exec_path, argv[0]);
|
|
- // parsing exec path
|
|
- int last_slash = 0;
|
|
- for(int j = 0; j < 100; j++) {
|
|
- if(exec_path[j] == '\0') break;
|
|
- if(exec_path[j] == '\\') last_slash = j;
|
|
- if(exec_path[j] == '/') last_slash = j;
|
|
- }
|
|
-
|
|
- exec_path[last_slash+1] = '\0';
|
|
+ strcpy(exec_path, EXCHESS_DIR);
|
|
|
|
/* initializing hash tables, check tables, scoring parameters,
|
|
and the random number seed and tablebases */
|
|
@@ -117,7 +111,7 @@ int main(int argc, char *argv[])
|
|
if(li < 10) sprintf(lfile, "run_log.00%i", li);
|
|
else if(li < 100) sprintf(lfile, "run_log.0%i", li);
|
|
else sprintf(lfile, "run_log.%i", li);
|
|
- logfile.open(lfile, ios::noreplace | ios::out);
|
|
+ logfile.open(lfile, ios::out);
|
|
if(logfile) break;
|
|
}
|
|
if(!logfile) {
|
|
@@ -164,7 +158,7 @@ int main(int argc, char *argv[])
|
|
|
|
/* main loop */
|
|
|
|
- while (count > 0)
|
|
+ while (my_count > 0)
|
|
{
|
|
|
|
// find a hint move, check book first then look in pv
|
|
@@ -204,14 +198,14 @@ int main(int argc, char *argv[])
|
|
if(!game_pos.wtm) // if it is black's turn
|
|
{
|
|
if(both) p_side = 0;
|
|
- if(!xboard) cout << "Black-To-Move[" << ceil(T/2) << "]: ";
|
|
- if(logging) logfile << "Black-To-Move[" << ceil(T/2) << "]: ";
|
|
+ if(!xboard) cout << "Black-To-Move[" << ceil((double)(T/2)) << "]: ";
|
|
+ if(logging) logfile << "Black-To-Move[" << ceil((double)(T/2)) << "]: ";
|
|
}
|
|
else // or if it is white's
|
|
{
|
|
if(both) p_side = 1;
|
|
- if(!xboard) cout << "White-To-Move[" << (ceil(T/2) + 1) << "]: ";
|
|
- if(logging) logfile << "White-To-Move[" << (ceil(T/2) + 1) << "]: ";
|
|
+ if(!xboard) cout << "White-To-Move[" << (ceil((double)(T/2)) + 1) << "]: ";
|
|
+ if(logging) logfile << "White-To-Move[" << (ceil((double)(T/2)) + 1) << "]: ";
|
|
}
|
|
|
|
cout.flush();
|
|
@@ -322,12 +316,12 @@ void make_move()
|
|
if(p_side != game_pos.wtm)
|
|
{
|
|
if(game_pos.wtm) {
|
|
- cout << (ceil(T/2) + 1) << ". ";
|
|
+ cout << (ceil((double)(T/2)) + 1) << ". ";
|
|
if(xboard) cout << "... ";
|
|
- if(logging) logfile << (ceil(T/2) + 1) << ". ";
|
|
+ if(logging) logfile << (ceil((double)(T/2)) + 1) << ". ";
|
|
} else {
|
|
- cout << ceil(T/2) << ". ... ";
|
|
- if(logging) logfile << ceil(T/2) << ". ... ";
|
|
+ cout << ceil((double)(T/2)) << ". ... ";
|
|
+ if(logging) logfile << ceil((double)(T/2)) << ". ... ";
|
|
}
|
|
print_move(game_pos, best, mstring);
|
|
cout << mstring << "\n";
|
|
@@ -558,7 +552,7 @@ void drawboard()
|
|
print_move(last_pos, game_pos.last, mstring);
|
|
cout << mstring;
|
|
}
|
|
- if(j==3) cout << " fifty: " << ceil(game_pos.fifty/2);
|
|
+ if(j==3) cout << " fifty: " << ceil((double)(game_pos.fifty/2));
|
|
if(j==2) cout << " Computer time: " << int(timeleft/100) << " seconds";
|
|
}
|
|
cout << "\n +---+---+---+---+---+---+---+---+";
|
|
@@ -745,7 +739,7 @@ void parse_command()
|
|
else if(!strcmp(response, "nopost")) { post = 0; }
|
|
else if(!strcmp(response, "probe")) { cout << probe_tb(&game_pos,0) << "\n"; }
|
|
else if(!strcmp(response, "save") || !strcmp(response, "SR")) { save_game(); }
|
|
- else if(!strcmp(response, "quit")) { game_over = 1; count = 0; }
|
|
+ else if(!strcmp(response, "quit")) { game_over = 1; my_count = 0; }
|
|
else if(!strcmp(response, "performance")) { performance(); }
|
|
else if(!strcmp(response, "setboard"))
|
|
{ cin >> inboard >> ms >> castle >> ep; mttc = omttc; game_over = 0;
|
|
@@ -795,7 +789,7 @@ void performance()
|
|
// when the best move was first found and held on to.
|
|
|
|
float soltime;
|
|
-int bmcount, tsuite = 0; move bmoves[10];
|
|
+int bmcount, tsuite = 0; my_move bmoves[10];
|
|
int best_depth, best_score;
|
|
extern int stage;
|
|
unsigned long nodes, nodes1, test_time, test_time1;
|
|
@@ -1063,7 +1057,7 @@ void save_game()
|
|
for(int i = 1; i < TURN; i++)
|
|
{
|
|
print_move(game_pos, game_history[i-1], mstring);
|
|
- if (game_pos.wtm) outfile << (ceil(i/2) + 1) << ". " << mstring;
|
|
+ if (game_pos.wtm) outfile << (ceil((double)(i/2)) + 1) << ". " << mstring;
|
|
else outfile << mstring;
|
|
outfile << " ";
|
|
if(!(T%8)) outfile << "\n";
|