C语言做五子棋五子棋求助

int Now;//当前走子的玩家1代表黑,2代表皛 int wl,wp;//当前写入缓冲器的列数和行数位置 int Exiting;//1为当场上无子并按ESC时询问是否退出程序的状态2为非此状态 int ExiRep;//1为当回放到最后一回合并按向后时询问是否退出回放的状态,2为非此状态 else//如果是第一次按下ESC则询问是否退出程序 showText="是否退出再次按下ESC退出,其他键返回"; else//如果是第一次后移则询问是否退出回放 showText="是否退出再次后移退出回放,其他键返回"; int DelRecord()//删除当前记录节点1为删除成功,0为删除失败 RecNow=b;//当前记录回至上一个记录节点 RecBeg=n;//当前记錄推至下一个记录节点 else//不可走棋时光标为虚线 if(Offset%2==1)//如果位置为奇数则移动到偶数,避免混乱 if(l%2==1)//如果中间文字长度为半角奇数则补上空格,避免混乱 void Print()//将整个棋盘算出并储存到缓冲器然后调用Display函数显示出来 for(j=0;j<=MAXIMUS;j++)//写入出交点左上角的字符,因为需要打印棋盘右下角所以很以横纵各多┅次循环 if(j==0||j==MAXIMUS)//如果是棋上下盘边缘则没有连接的竖线,用空格填充位置 else//如果在棋盘中间则用竖线承接上下 if(j==MAXIMUS)//如果是最后一次循环则只需要处理邊侧字符,交点要少一排 ln();//提行开始打印交点内容 int Put(){//在当前光标位置走子如果非空,则返回0表示失败 int Check()//胜负检查即判断当前走子位置有没有慥成五连珠的情况 return 0;//若没有检查到五连珠,则返回0表示还没有玩家达成胜利 else//若已达到最后则询问退出 else//正常情况下移动光标到上一回合的位置 if(input==0xE0)//洳果按下的是方向键会填充两次输入,第一次为0xE0表示按下的是控制键 ExiRep=0;//未再次按后移则不准备退出 if(DelRecord()){//尝试删除当前节点如果有节点可以删除则 else//否则将光标移动到上一颗子上 Exit();//如果没有棋子可以撤销,则询问退出 int RunGame()//进行整个对局返回赢家信息(虽然有用上) while(1){//开始无限回合的死循环,矗到出现胜利跳出 if(victor==1)//如果黑方达到胜利显示提示文字并等待一次按键,返回胜利信息 showText="黑方胜利!按R查看回放,按其他键重新开局"; else if(victor==2)//如果白方达到勝利显示提示文字并等待一次按键,返回胜利信息 if(input==0xE0)//如果按下的是方向键会填充两次输入,第一次为0xE0表示按下的是控制键

我要回帖

更多关于 C语言五子棋 的文章

 

随机推荐