2048Qt实现

2048

这是一个基于Qt的2048版本,在此期间参考了逆天小学生的控制台版本。但是在处理合并时该博主的方法存在不足,本人对其进行了修改。同时在GitHub上看到一个很优质的2048Qt实现jvaelen/2048,也做了相关借鉴。

这个项目的UI并没有做得很精美,主要重心在交互游戏逻辑上。下面将对实现过程中一些主要的问题进行探讨。

整体结构:

  • 将整个界面抽象为一个4*4的二维矩阵,矩阵存储当前格的数字,若为空则置0。
  • 随机在空白区域产生一个随机数,有1/3的几率出现4,2/3的几率出现2.
  • 根据按键输入,读入方向键。并调用合并函数进行合并。

接受键盘输入

这里使用的是Qt的void MainWindow::keyPressEvent(QKeyEvent *event)函数。一开始很好奇传入参数event是在哪里调用的,后来发现其实这是一个监听函数,只要有输入就会创建一个QKeyEvent对象并传入相关信息。

我们可以在里面通过event->key();获得输入的按键值,并进行相关的处理操作。这个函数通常是没有返回值的。

按方向键时的问题

由于UI中有按钮,所以在按方向键时会把焦点放在了按钮上面,这时需要将按钮的属性focusPolicy设置为NoFocus。

合并时的问题

其实合并的思路写的是有点丑的

  • 4
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
要在Linux中使用Qt Creator实现2048游戏,你需要遵循以下步骤: 1. 安装Qt Creator 如果你还没有安装Qt Creator,请根据你的Linux发行版的说明进行安装。例如,如果你使用的是Ubuntu,则可以在命令行中输入以下命令来安装Qt Creator: ``` sudo apt-get install qtcreator ``` 2. 创建Qt项目 在Qt Creator中创建一个新项目,选择Qt Widgets Application并命名为2048。然后选择一个存储项目的位置并单击下一步。 3. 创建2048游戏界面 在Qt Creator中,你可以使用拖放功能来创建2048游戏的界面。选择“设计”选项卡,在左侧工具箱中选择widget,然后在右侧编辑器中绘制2048游戏的界面。 4. 实现游戏逻辑 在Qt Creator中,你可以使用C++编写游戏逻辑。打开2048项目的源代码文件,并在其中实现游戏逻辑。你需要实现游戏的移动、合并和分数计算等功能。 5. 调试和测试 在Qt Creator中,你可以使用调试器来调试你的代码。单击F5键启动调试器,然后使用游戏界面测试你的代码。 6. 编译和构建 一旦你完成了2048游戏的代码编写和调试,你可以使用Qt Creator中的构建工具来构建你的应用程序。在Qt Creator中,选择“构建”选项卡,然后单击“构建项目”按钮。 7. 运行应用程序 一旦你构建了你的应用程序,你可以在Qt Creator中直接运行它。在Qt Creator中,选择“运行”选项卡,然后单击“运行”按钮。你的2048游戏应该会在Qt Creator中启动。 这些就是在Linux中使用Qt Creator实现2048游戏的基本步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值