我罗斯第二次作业
我罗斯第二次作业
这个作业属于哪个课程 | 2020年面向对象程序设计 |
---|---|
这个作业要求在哪里 | 我罗斯汇报 |
作业正文 | 我罗斯第一次 |
这个作业的目标 | 1.汇报自己这个阶段的开发进度。(完成了哪几个模块) 2.讲述自己遇到的问题和尝试解决的方法和最后的结果 3.制作一篇开发日记,描述自己开发某一个模块的过程。 |
参考文献 | 新手向c++俄罗斯方块 俄罗斯方块界面怎么实现 |
小组成员 | 许哲珲031902426 |
林铭钰031902411 | |
GitHub地址 | GitHub地址 |
目前进度
- 将方块类与玩家类进行了具体的完善,对增行消行以及随机生成方块,方块的移动等做了初步完善。
- 在界面和渲染的方面还没有很好的想法,具体的绘图和渲染还有些不太清楚,是下一阶段主要的目标
- 对windows.h正在学习,用以图形绘制等。
遇到的问题
- 各种图形的初始化
- 方块要初始化为4x4的数组,但是具体初始化的位置和方式还没有清楚.
- 游戏开始界面的效果有设计但是具体转化为代码的实施还很模糊。
- 关于下落的时间间隔的计时器。
- 对于一些函数是否是友元函数,需要用到哪些类里的数据,还没有细致的整理出来。
总结来说还是对图形这方面有很多模糊点,目前正在边学习边完成。
开发日记
- 对每个类内部的成员函数和数据变量进行具体命名,梳理他们之间互相引用的参数。
- 类内部的成员函数实现方法正在逐步完善。
- 对绘制图像几个方法都浏览了一遍,正在一步步具体学习,包括渲染效果。
- 对于方块旋转,我们打算每个方块有一个中心坐标,旋转时将代表方块的数组绕中心点进行类似于转置的操作
- 玩家类的消行很简单就是将要消去的行上面图形整体下移,最后将第一行也就是最上面初始化为0
- 判断是否消行只需要判断这一行是否被填满。
- 注意一点,因为是分工合作我们开始出现了第0行在上还是在下的分歧,了解了绘图时坐标y轴是从上往下,最终统一为最上方为0行。
方块类已完成部分代码:
玩家类已完成部分代码:
理想情况下游戏界面(来自教程):