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

    评论

报告相同问题?

悬赏问题

  • ¥15 maple软件,用solve求反函数出现rootof,怎么办?
  • ¥50 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥15 state显示变量是字符串形式,但是仍然红色,无法引用,并显示类型不匹配
  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题
  • ¥20 在虚拟机的pycharm上
  • ¥15 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波
  • ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗