summeryao00 2019-06-04 14:16 采纳率: 0%
浏览 1589

如何用C语言实现简单的四连环游戏(重力四子棋?

  1. 四连环是一个双人游戏,两位玩家轮流将自己的棋子放在一个8列6行的筒状棋盘上。玩家每次只需要指定棋盘上的列号,则棋子自动落到这一列的底部或者叠放于该列已有棋子的上面。游戏的目标是在对手之前将自己的4个相邻棋子放在一行、一列或一条斜线上。

  2. 程序扮演一位玩家,用户作为其对手。程序采用随机方式选择要放棋子的列,用户则是手工输入要放棋子的列。

  3. 假设用户输入的都是整数,当用户输入的列号不在1到8之间时,程序会提示用户,并让用户重新输入;当用户输入的列号已经放满了棋子时,程序也会提示用户,并让用户重新输入。而当程序自己在随机地选择要放棋子的列时,它会自动地忽略那些已经放满棋子的列。

  4. 由程序判断双方的胜负,分出胜负则程序结束。当出现棋盘满了而无法放棋子的时候,判为平局。

  • 写回答

1条回答 默认 最新

  • henry_23 2020-05-22 03:03
    关注

    正好老师最近要我们做了这个作业,我写了一个能够满足以上要求,并且人机模式下,程序方虽然有,但不是特别智能的一个版本。
    还没有调试的很完善,可能还存在一些bug。
    程序大概有如下特性:
    可以自定义棋盘大小(目前仅支持通过在编译前改参数实现;使用new实现);
    可以选择人机或者人人模式
    可以选择先手

    关于程序下棋的模式大概是这样:代码会先在地图中查找有没有自己能够只下一步棋就能赢的位置;接着查找玩家有没有同样的位置,有的话会堵上;如果以上都没有,就会下载己方的棋子的上面;若找不到就会随机下棋;
    这个下棋的方法有点迷惑,但或许总会比随机下棋子要好一点点;希望有网友路过能给点建议……

    自己做的时候还是走了不少弯路,比如可以看一看中间注释掉的近100行代码。。。。。
    下载地址,超星云盘,不保证一直有效:
    c4.cpp - 超星云盘
    https://d0.ananas.chaoxing.com/download/6f17a4eb1fcf5ce70e1b8de52d6403ff

    评论

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!