五子棋人机互弈代码 C

& /// #include #include #include #include #include #include using namespace std; enum States{ blank, black, white }; //空白,黑棋,白棋三种状态 const int N=15; //15*15棋盘,可以改 unsigned int randSeed=time(0); class myPoint { public: myPoint() { x=1; y=1; }; myPoint( int a, int b) { x=a; y=b; }; int x; int y; }; / void Output( States A[][N] ); //输出棋盘 void initiChessMarks( int A[][N] ); //初始化分数 void updateMarks( int chessMarks[][N], const States chessStates[][N] ); bool isGameOver( myPoint pt, States chessStates[][N] ); int Explain(); bool isPermit( myPoint pt, States chessStates[][N] ); bool isPlayAgain(); myPoint maxMarkPoint( int chessMarks[][N] ); myPoint input(); void output( myPoint pt ); unsigned int random(); //============================================== int main() { do { States chessStates[N][N]={blank}; //棋盘状态 int chessMarks[N][N]={0};//棋盘分数 int count=1; myPoint tempA; myPoint tempB; int choice=Explain(); if( count%2!=choice ) Output( chessStates ); initiChessMarks( chessMarks); do { if( count%2!=choice) { cout<<"请你下棋: "; tempA=input(); tempB=tempA; while( !isPermit(tempA,chessStates) ) { cout<<"你下的棋步不对"<=N || j<0 || j>=N ) return false; if( chessStates[i][j]!=blank ) return false; return true; } //--------------------------------------- bool isPlayAgain() { char input; cout<<"你想再玩一次吗? (Y/N): "; cin>>input; input=toupper( input ); while( !(input=='Y'|| input=='N') ) { cin>>input; input=toupper( input ); } cout<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值