四连环是一个双人游戏,两位玩家轮流将自己的棋子放在一个8列6行的筒状棋盘上。玩家每次只需要指定棋盘上的列号,则棋子自动落到这一列的底部或者叠放于该列已有棋子的上面。游戏的目标是在对手之前将自己的4个相邻棋子放在一行、一列或一条斜线上。
程序扮演一位玩家,用户作为其对手。程序采用随机方式选择要放棋子的列,用户则是手工输入要放棋子的列。
假设用户输入的都是整数,当用户输入的列号不在1到8之间时,程序会提示用户,并让用户重新输入;当用户输入的列号已经放满了棋子时,程序也会提示用户,并让用户重新输入。而当程序自己在随机地选择要放棋子的列时,它会自动地忽略那些已经放满棋子的列。
由程序判断双方的胜负,分出胜负则程序结束。当出现棋盘满了而无法放棋子的时候,判为平局。
如何用C语言实现简单的四连环游戏(重力四子棋?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- henry_23 2020-05-22 03:03关注
正好老师最近要我们做了这个作业,我写了一个能够满足以上要求,并且人机模式下,程序方虽然有,但不是特别智能的一个版本。
还没有调试的很完善,可能还存在一些bug。
程序大概有如下特性:
可以自定义棋盘大小(目前仅支持通过在编译前改参数实现;使用new实现);
可以选择人机或者人人模式
可以选择先手关于程序下棋的模式大概是这样:代码会先在地图中查找有没有自己能够只下一步棋就能赢的位置;接着查找玩家有没有同样的位置,有的话会堵上;如果以上都没有,就会下载己方的棋子的上面;若找不到就会随机下棋;
这个下棋的方法有点迷惑,但或许总会比随机下棋子要好一点点;希望有网友路过能给点建议……自己做的时候还是走了不少弯路,比如可以看一看中间注释掉的近100行代码。。。。。
下载地址,超星云盘,不保证一直有效:
c4.cpp - 超星云盘
https://d0.ananas.chaoxing.com/download/6f17a4eb1fcf5ce70e1b8de52d6403ff解决 无用评论 打赏 举报
悬赏问题
- ¥15 maple软件,用solve求反函数出现rootof,怎么办?
- ¥50 汇编语言除法溢出问题
- ¥15 Visual Studio问题
- ¥15 state显示变量是字符串形式,但是仍然红色,无法引用,并显示类型不匹配
- ¥20 求一个html代码,有偿
- ¥100 关于使用MATLAB中copularnd函数的问题
- ¥20 在虚拟机的pycharm上
- ¥15 jupyterthemes 设置完毕后没有效果
- ¥15 matlab图像高斯低通滤波
- ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗