
求一原创的c语言五子棋代码(会查重),要求人机对战,输入坐标对战即可,不需用鼠标点击,最好有禁手。 50
1个回答
展开全部
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
//棋盘初始化函数
//Chessboard棋盘数组,ln=棋盘大小,成功返回Chessboard,不成功NULL
void init_Chessboard(char Chessboard[][7], int ln)
{
if ((Chessboard != NULL) && (ln>0)){
int i = 0, j = 0;
for (i = 0; i<ln; ++i){
for (j = 0; j<ln; ++j){
Chessboard[i][j] = '\t';
}
}
// return Chessboard;
}
// return NULL;
}
//未完待续
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
//棋盘初始化函数
//Chessboard棋盘数组,ln=棋盘大小,成功返回Chessboard,不成功NULL
void init_Chessboard(char Chessboard[][7], int ln)
{
if ((Chessboard != NULL) && (ln>0)){
int i = 0, j = 0;
for (i = 0; i<ln; ++i){
for (j = 0; j<ln; ++j){
Chessboard[i][j] = '\t';
}
}
// return Chessboard;
}
// return NULL;
}
//未完待续
更多追问追答
追答
//显示棋盘函数
void show_Chessboard(char Chessboard[][7], int ln)
{
assert((Chessboard != NULL) && (ln > 0));
int i = 0, j = 0;
for (i = 0; i= 0) && (y >= 0)){
if ('\t' == Chessboard[x][y]){
Chessboard[x][y] = ChessPieces;
return 1; //成功
}
else
{
return 0;
}//end if2
}//end if1
return 0;
}
//未完待续
//满盘判断
//棋盘满了判断//满了就返回-1
int full_Chess(char Chessboard[][7], int ln)
{
int i = 0, j = 0;
for (i = 0; i 0));
if((XS =0) && (YS >=0)
&& (dx != 0 || dy != 0)) //坐标增量不为同时0
{
if (((XS + dx * 4) > ln) || ((XS + dx * 4)ln) || ((YS + dy * 4) < 0) || //在棋盘外
('\t' == Chessboard[XS][YS]))
{
return 0; //不在棋盘内,或者起点是没下子
}
else
{
int i = 0;
for (i = 1; i < 5; ++i){
if (Chessboard[XS][YS] != Chessboard[XS + (dx * i)][YS + (dy * i)])
{
return 0; //如果不是连续5个一样的
}//end if3
}//end for1
return 1; //五个都一样,且都在棋盘内
}//end if 2
}
return 0; //其他情况
}
//未完待续
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |