- 23
- 0
- 约1.2万字
- 约 15页
- 2016-06-10 发布于湖北
- 举报
OpenGL实现俄罗斯方块
设计思路
本程序采用以C++为基础并利用OpenGl库函数的方式实现俄罗斯方块程序,实现俄罗斯方块中正方形,T形,L形,反L形,直线型,Z字形,反Z字形七种形状的变换操作,七种形状的坐标被存储在一个三维数组中,每次随机选择一个形状生成并下落,在下落过程中监听键盘事件。
详细设计说明
本程序中主要的函数及其作用说明如下:
down:定时下落函数,由glutTimerFunc(1000,down,1);函数设置每隔1000毫秒即调用一次该函数,在函数中将方块的所有纵坐标减一个单位。
key: 键盘事件监听函数,当键盘上有按键被触发的时候即调用该函数,函数内部支持w,a,s,d四个键的响应,依次代表方向键上,左,右,下,其中w键是用来控制图形变换的,每次按w键时,图形在现有基础上顺时针变换一次。
CheckConflict:冲突检测函数,检测方块下一次将要移动的位置是否会碰到已有的方块或者左右两边的墙壁。
CheckDelete:每一次方块落到底部之后,调用该函数检查是否有满行,如果有则调用Delete函数删除该行。
myDisplay1:作图函数。
Change:变换函数,主要是通过计算变换后的图形与之前图形的坐标关系来实现。
源代码
#includeGL/glut.h
#includestdlib.h
#includeiostream
#incl
原创力文档

文档评论(0)