黑白棋

C语言-黑白棋(人机对战)

徘徊边缘 提交于 2020-02-26 13:04:25
1 #include <stdio.h> 2 #include <conio.h> 3 /* 4 分析:要实现黑白棋的关键在于由计算机下棋时,智能判断最佳下棋位置。具体思路如下: 5 1.定义一个二维数组chessboard[8][8],用于保存黑白双方所下棋子的位置。如果数组元素为0,表示该单元格为落子;如果是-1,表示该单元格是黑子;如果是1,则表示该单元格是白子。 6 2.当一方下棋时,先检查是否有位置可下,如果没有就让对手下,如果有就让玩家或计算机下。 7 3. 若玩家下,需要等待玩家输入下子坐标。 8 4.若计算机下,程序需对棋盘的空位置进行判断,找出最佳的下子位置。 9 5.重复步骤2~4,直到棋盘已满或双方都不能下子时结束。 10 */ 11 12 void Output(char chessboard[][8]); //显示棋盘中的下子情况 13 int Check(char chessboard[][8],int moves[][8],char player);//检查一方是否有位置下子 14 void PlayStep(char chessboard[][8],int row,int col,char player);//在指定位置下棋 15 void AutoPlayStep(char chessboard[][8],int moves[][8],char