资源描述:
《c++俄罗斯方块程序实习报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、青岛理工大学程序实习报告学 号:姓 名:专 业:班 级:指导教师:通信与电子工程学院2013年7月5日第17页共17页青岛理工大学项目实习过程程序实习报告总分指导教师签字分数实习报告一窗口程序基本练习一.实习时间:6月25日地点:207机房二.实习过程:1.了解Windows窗口程序的基本情况。我们这里的Windows窗口的建立需要在VC++的环境里实现,因此就需要VisualC++Windows程序的两种方式去得到我们需要的新建的windows窗口。:2.窗口程序运行的过程如下:得到应用程序的句柄à注册窗口类(RegisterClassEx)à建立窗口(CreateWindowE
2、x)à显示窗口(ShowWindows)à刷新窗口客户区(UpdateWindow)à进入无限的消息获取和处理的循环(GetMessageDispatchMessage)。3调试运行。调试的结果是出现一个windows的窗口。三.实习结果:通过学习老师给的这个程序代码,知道了在建立一个窗口的时候所必需的一些程序代码。刚开始的时候得到的运行结果是一个和其他同学一样的窗口,在分析了这些代码的意义之后,经过自己的改编,可以得到一个自己需要的长度高度的窗口。这为接下来的实验打下了基础。实习报告二消息驱动程序练习一.实习时间:6月26日。地点:207机房。二.实习过程:1.在实习一的基础上,学习绘制
3、一些简单的图形。第17页共17页青岛理工大学1.调试老师给的程序代码,并学习代码。在了解的基础上,改变所给的方块的大小形状颜色位置等。2.因为最终的任务是编写俄罗斯方块的程序,因此就在老师所给的这些方块的基础上经过自己的研究,绘制了俄罗斯方块游戏中的七种不同的形状。将以下的程序进行改编voidRect(COLORREFcrColor){inti,j;for(i=0;i<20;i++)for(j=0;j<20;j++)SetPixel(hdc,X*20+j,Y*20+i,crColor);改编的程序如下voidRect(COLORREFcrColor){inti,j;for(i=0;i<20
4、;i++)for(j=0;j<20;j++)SetPixel(hdc,X*20+j,Y*20+i,crColor);for(i=21;i<41;i++)for(j=0;j<20;j++)SetPixel(hdc,X*20+j,Y*20+i,crColor);for(i=42;i<62;i++)for(j=0;j<20;j++)SetPixel(hdc,X*20+j,Y*20+i,crColor);for(i=63;i<83;i++)for(j=0;j<20;j++)SetPixel(hdc,X*20+j,Y*20+i,crColor);}得到的是俄罗斯方块中的四个一排的图形。第17页共17
5、页青岛理工大学以此类推,可以得到其他的图形。一.实习结果:对实习一的窗口程序更加熟练的掌握。同时掌握了消息驱动程序的基本结构。并且等够运用SetPixel(hdc,x,y,crColor)TextOut(hdc,x,y,Str,StrLen)ReleaseDC(hwnd,hdc)等函数。改变方块的颜色大小位置。方块的下移是是用背景颜色白色覆盖了原来的,通过控制键盘,方快到达的新的位置显示的还是原来的颜色。在用改变颜色的函数RGB(x,y,z)时,我发现可以打开画图程序,通过选取自己喜欢的颜色对应的三个数字来改变我们所绘制的图形颜色。在这个过程中我明白了一些函数的用处,最重要的是我明白了不断
6、探求新事物的重要性以及它带来的快乐。实习报告三俄罗斯方块一.实习时间:6月26日—7月5日地点:207机房二.实习过程:1.试图运用在之前两个实习中学会的窗口建立和图形绘制来编写俄罗斯方块的程序。并且在2实验的中绘制了俄罗斯方块的七种图形。2.在编写的过程中发现遇到困难,从网上查询了一些优秀的作品,起初在编译的过程中,发现有34个错误。运用自己所学习的c语言的知识,修改了这个程序代码,使得程序能够运行。3.这个程序原来的背景色是黑色,又有格子线,我发现方块在下落的时候会有移动过的轨迹。猜想是两种颜色叠加出现了新的颜色,因此我就将背景颜色改变为白色,这样网格线也不能显示,看上去整齐一些,并且
7、也没有下落的痕迹,这样方块就像是真的是在“下落”。4.这个程序中的方块下落的速度非常快,影响游戏的进行。在查阅了资料以及跟同学谈论之后找到了控制方块下落速度的函数SetTimer(hwnd,4,300,NULL);通过改变第三个数的大小来改变方块自动下落的速度。5.第17页共17页青岛理工大学这个程序存原来在游戏的进行中,没有分数等级的变化。在通过查阅资料和老师的讲解后,我明白了TextOut()函数中若是输出字符或者是