小学期第一周大作业报告
一、UI 设计
首先用 QtDesigner 设计出交互界面,程序主窗口 MainWindow 是继承自 Ui
的子类,menuBar,toolBar,以及下方的七个 QPushButton 均来自 Ui 类。在
MainWindow 类中另外定义了一个 QLabel 对象用于显示游戏路程与游戏得分。
MainWindow 类还有一个成员 gameWidget,是 paintWidget 类的实例化。其中
paintWidget 是继承自 QWidget 的子类。该类重写 paintEvent 函数用来画出地图
上的边界,蛇身,果实等元素。游戏的主要逻辑都是在 paintWidget 这个类中实现
(范围是图中黑色框部分)。
二、游戏逻辑
将地图上每一个点看作一个 Node 结构体,结构体中对应记录了每一个节点
的横、纵坐标,以及节点类型(0=empty, 1=border, 2=snake, 3=food)。gameWidget
评论0