C语言对二维数组进行赋值

写了一个五子棋程序15*15的棋盘,下子是用指针输入的,如下typedefstruct//typedef的作用是在C中定义一个结构体类型{intiFlag;chariX;... 写了一个五子棋程序15*15的棋盘,下子是用指针输入的,如下
typedef struct//typedef的作用是在C中定义一个结构体类型
{
int iFlag;
char iX;int iY;
}ScmPiece;
ScmPiece *player;
printf("玩家1请下子:");
scanf("%c%d",&player->iX,&player->iY);
现在我想记录每一步的下子坐标,用一个数组char record[225][4]来记录可以吗?要怎么写,或者有什么其他的记录这两个指针坐标 的方法呢?
我的目的是写五子棋的行棋记录
展开
 我来答
zwb139615210
推荐于2016-10-10
知道答主
回答量:12
采纳率:0%
帮助的人:5.2万
展开全部
你的意思是你要分别记录玩家1 和 玩家2 的所有的走棋的坐标吗?如果是的话, 可以分别用两个指针数组来表示,不需要用到二维数组。如果是记录整张棋盘的信息, 可以用二维数组。
更多追问追答
追问
其实我的目的是做行棋记录,但不大清楚该怎么按走子顺序记录每一步下到了哪里,用二维数组又不大清楚该怎么让它等于两个指针,就是每一步的横纵坐标player->iX和player->iY
追答
按照你的思路来, ScmPiece 是玩家每一步下子信息的结构
ScmPiece *playerA[255];
ScmPiece *playerB[255];
int i = 0;
while(1)
{
printf("玩家A下子: \n")
playerA[i] = (ScmPiece *)malloc(sizeof(ScmPiece)); // 指针分配空间
scanf("%c%d", &playerA[i]->iX, &playerA[i]->iY);
printf("玩家B下子: \n")
playerA[i] = (ScmPiece *)malloc(sizeof(ScmPiece)); // 指针分配空间
scanf("%c%d", &playerB[i]->iX, &playerB[i]->iY);
i++; // 结束一轮
...
// 某种退出条件 结束游戏
}

大概就是这样吧, 可能有错误, 欢迎交流

我写过一个象棋的程序, 支持两个玩家联网对战,写得比较烂,也没心思去修改。如果需要的话可以把代码发你。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式