随着编程语言不断发展,图形处理能力日益增强。在学习过程中,我们采用一种基础方式绘制俄罗斯方块游戏画面,即运用C中的Graphics语句实现图形的呈现与操作。
1、 先谈谈我的想法
2、 绘制多种图形
3、 左右移动图形
4、 控制图形在设定区域内精准显示并定位停驻。
5、 用户可操控每种图形进行旋转。
6、 每行图形填满后可消除该行
7、 擦除一行后,上方所有图形整体下移。
8、 理想思路:追求卓越创新
9、 定义三个类别
10、 Huatu类用于绘制多种基础图形。
11、 变换类用于实现图形的旋转操作。
12、 §3. 判断类用于限定图形位置,当某行被完全填满时,自动消除该行并进行相应处理。
13、 主程序负责初始化,随机生成标记并绘制特定图形等操作。
14、 实际操作与理论方法存在差异。
15、 由于三个类需共享同一数组,静态数组实现未果,中间转换较繁琐且耗时较多。目前暂用单个类处理,后续再优化程序结构与规划。
16、 将旋转与判断功能均整合至画图类中,实现模块集中化管理。
17、 基本图形类型
18、 每个图形的位置由一个数组存储
19、 自行设定图形的起始位置并绘制。
20、 利用定时器实现图形移动
21、 通过定时器持续更新图形数组数值,动态调整各图形的位置。
22、 先清除当前图形,接着通过调用zhuanL(Z,T,l1)更新位置参数,最后在新坐标上重新绘制图形。
23、 清除之前绘制的图形内容。
24、 调整位置,执行函数调用操作。
25、 重新绘制图形并更新显示内容。
26、 擦拭并绘制图形
27、 确保图形准确呈现于指定位置
28、 图形停止后的后续处理任务
29、 重新生成图形,随机产生新数据
30、 重新初始化图形数组
31、 四、图形旋转
32、 二维数组图形化模拟显示效果示意图
33、 判断是否与其他图形重叠
34、 此步骤可与图形位置判断同步进行。
35、 定义数组 youtu 后,开始后续操作。
36、 只需检查youtu数组中的值是否为1,若等于1,则运行初始化程序段即可。
37、 判断整行填满后清除该行
38、 声明一个公共整型数组 youtu,用于记录是否已滑动到图片以及图片的停留状态。
39、 当图形下落并静止后,将其位置信息记录在数组中,以坐标作为下标,对应值设为1。
40、 当图形显示框一行包含21个图形时,只需检查youtu数组中该行每个元素是否均为1,若全为1则表示该行已填满。
41、 六、整体图形向下平移
评论
更多评论