#include"judge.h"
using namespace std;
int main() {
while (1) {
start();
int select = choose();
cleardevice();
closegraph();
initchessboard();
point map[5][5];
int blue[7], red[7];
int side = 1, flag = 0; //side,-1蓝方,1红方
if (select == 1) {
randomize();//重设随机数种子
memset(blue, 1, sizeof(blue));
memset(red, 1, sizeof(red));
for (int a = 0; a < 5; a++) //棋盘初始化
for (int b = 0; b < 5; b++) {
map[a][b].x = b;
map[a][b].y = a;
map[a][b].num = 0;
}
man_set(map, side); //红方开局布局
Sleep(100);
side = -side; //交换双方
Sleep(100);
man_set(map, side); //蓝方开局布局
side = -side;
Sleep(500);
if (MessageBox(NULL, "请问是否需要自动骰子?", "选择", MB_YESNO | MB_SYSTEMMODAL) == IDYES)
flag = 1;
while (redwin(map) != 1 && bluewin(map) != 1) {
manplay(flag, red, blue, map, side); //进行一次下棋
side = -side; //双方交换
}
Sleep(100);//缓冲时间,用于显示棋盘
if (redwin(map))
MessageBox(NULL, "红方获胜!", "获胜", MB_OK);
if (bluewin(map))
MessageBox(NULL, "蓝方获胜!", "获胜", MB_OK);
}
if (select == 2) {
memset(blue, 1, sizeof(blue));
memset(red, 1, sizeof(red));
for (int a = 0; a < 5; a++) //棋盘初始化
for (int b = 0; b < 5; b++) {
map[a][b].x = b;
map[a][b].y = a;
map[a][b].num = 0;
}
robot_set(map);//红方开局布局
Sleep(100);
side = -side; //交换双方
Sleep(100);
man_set(map, side); //蓝方开局布局
side = -side;
Sleep(500);
if (MessageBox(NULL, "请问是否需要自动骰子?", "选择", MB_YESNO | MB_SYSTEMMODAL) == IDYES)
flag = 1;
if (MessageBox(NULL, "请问您是否选择先行?", "choose", MB_YESNO | MB_SYSTEMMODAL) == IDYES)
side = -1;
else
side = 1;
randomize();//重设随机数种子
while (redwin(map) != 1 && bluewin(map) != 1) {
if (side == -1)
manplay(flag, red, blue, map, side); //进行一次下棋
else
rotplay(flag, red, blue, map, side);
side = -side; //双方交换
Sleep(500);//缓冲时间,用于显示棋盘
}
if (redwin(map))
MessageBox(NULL, "红方获胜!", "获胜", MB_OK);
if (bluewin(map))
MessageBox(NULL, "蓝方获胜!", "获胜", MB_OK);
}
if (select == 3)
exit(0);
}
}