ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:171.51KB ,
资源ID:19547219      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/19547219.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(俄罗斯方块程序设计基础课程设计大学论文文档格式.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

俄罗斯方块程序设计基础课程设计大学论文文档格式.docx

1、3.1设计流程图 43.2函数功能图 54、运行调试与分析讨论 64.1游戏界面 65、设计体会与小结 8 摘要近年来,随着游戏产业的突飞猛进,游戏玩家的技术也是与日俱增, 当你看见游戏高手完美的表演时,你是否想过我也能达到那种水平,本程序采用全世界最金典的游戏俄罗斯方块作为背景,程序设置了键盘选择方式,游戏运行时随着等级的提高而速度加快,这需要玩家快速操作。因此,本程序主要意义是为高手玩家提供训练平台。其次也可为刚踏入游戏领域的新手们,提供一个很好的锻炼机会。本次课程设计主要解决利用C语言设计实现俄罗斯方块游戏的算 法、游戏内部功能、游戏区域的绘图的程序设计。对于每个俄罗斯方块各自的形态变化

2、改变到下一个形态利用数组来实现,在程序设计中,直接从架构的其中一个类对象中继承下来,将它完善而变成有某功能特性的物件对象。关键词: 俄罗斯方块 数组 数据结构 算法序言俄罗斯方块是一款风靡全球的电视游戏机和掌上游戏机游戏,它曾造成的 轰动与造成的经济价值可言说是游戏史上的一件大事。这款游戏最初是由苏联的游戏制作人Alex Pajitnov制作的,它看似简单但却变化无穷,令人上瘾。相信大多数用户都还记得为它痴迷得茶饭不思不想的那个俄罗斯方块时代。俄罗斯方块最早还是出现在PC机上,而我国的用户都是通过红白机了解、喜欢上它的。现在联众又将重新掀起这股让人沉迷的俄罗斯方块风潮。对于一般用户来说,它的规

3、则简单,容易上手,且游戏过程变化无穷,俄罗斯方块游戏现在基本上是每个手机必备的游戏,种类千变万化,多种多样俄罗斯方块是个老幼皆宜的小游戏,是经久不衰的一款游戏,自从它诞生 那天起就一直深受人们的喜爱。几乎每个人都玩过这个游戏,也是人们接触最多的一款游戏,它实现由四块正方形的色块组成,然后存储在一个数组的四个元素中,计算机随机产生不同七种类型的方块,根据计算机时钟控制它在一定的时间不停得产生,用户根据键盘的四个方向翻转、向左、向右和向下操作,(控制键的实现是由键盘的方向键实现)。然后程序根据这七种方块堆叠成各种不停得模型,可以吸引更多的小玩家,让人觉得更加的有趣,使人的视觉得到冲击,更加的轻松.

4、人员分工安排(1)小组负责人: 分工: 调试与检查(2)小组成员1:界面设计(3)小组成员2:方块的设计与变形1、需求分析1.1游戏方块需求 随机给出不同的形状(长条形、Z字形、反Z形、田字形、7字形、反7形、T字型)下落填充给定的区域,若填满一条便消掉,记分,当达到一定的分数时,过关.1.2游戏控制的需求游戏控制分为多个方面,包括画面绘制,控制命令的获取,控制命令的分配、控制命令的处理,方块的绘制,方块的移动,方块的旋转,方块下落和消层以及计分等。2、设计思路方块要实现变形,要能通过键盘接收变形指令(即上键),将所得信号传递给信号接收函数,再通过信号处理函数改变当前方块的ID值,最后根据新的

5、ID值画出新的图形,此时即实在了方块的变形。每个方块都要记录自己的ID、形状。形状采用4对整数坐标来表示,分别记录其4个小方块的相对位置(以方块内或旁边任一点为中心,称为参考点)。建议可以在方块类中定义一个或多个数组,将每种ID的方块的形状数据存储好(都是一些固定的数据),这样产生一个方块时只需要提供其ID即可。为了处理方块的旋转,我们不能只记录上述。7种方块,而应该把它们旋转后产生的每种形状都认为是一种不同的方块(因为它们的4对坐标都不同),然后在方块ID之间建立映射关系,即哪种ID的方块旋转后变成哪种ID的方块,只要求处理一个方向的旋转。这个映射关系也可以用c数组来实现。此外,方块还要记录

6、自己的参考点在指定的游戏区域中的位置。填充:把自己填充到指定的游戏区域中。返回填充成功或失败的信息。清除:把自己从指定的游戏区域中清除。移动:在指定的游戏区域中移动,包括向左、右、下移动,以1个单元格为单位。如果可以移动,则修改参考点的位置,并在指定的游戏区域中重新填充自己(先清除、然后修改参考点位置,再填充)。返回是否移动成功的信息。旋转:在指定的游戏区域中旋转一次,此时参考点位置不变,但要改变自己的ID,然后在指定的游戏区域中重新填充自己(先清除、然后修改参考点位置,再填充)。 资 数源 据 消息 控制信息 显 数示 据 3-1 设计思路图3、详细设计3.1设计流程图 否 是 3-1设计流

7、程图3.2函数功能图 3-2函数功能图4、运行调试与分析讨论4.1游戏界面图4-1 游戏开始界面图4-2游戏运行界面图4-3游戏结束界面5、设计体会与小结本次课程设计,用c语言实现了一个简易的俄罗斯方块游戏。了解了c语言的强大特性,游戏是在速度上的高效性,是其他编程语言无法企及的。需求分析,概要设计,详细设计在编程中的重要性是不言而喻的。正确、高效的分析、设计为后面的编程打下了坚实的基础,后面的工作就顺利成章了。当然,在需求分析、概要设计、详细设计阶段是需要通过不断的讨论、论证来对项目进行更改的代码实现阶段就是软件的具体实现,通过编码来实现需求中的功能。在代码实现阶段可能会遇到各种问题,此时有

8、可能就要对需求设计乃至需求分析进行更改。测试阶段同样重要。在本次软件设计中,在测试阶段就发现了游戏测试错误问题。后来想到了通过修改程序 for(j=0;j3;j+) if(lij=1) gotoxy(x+j,y+i); printf(%c,TUAN); else continue; void _L(int x,int y) /摸去该方块 int i,j; for(i=0;i=e) e=j; if(biaojiy+i+1x+j=1) d=1; if(y+c+1=Ymap | d=1) break; _O(x,y); while(_kbhit()=1) f=0; key=keydown(); sw

9、itch(key) case LEFT: for(i=0; for(j=0; if(oij=1) if(biaojiy+ix+j-1=1) f=1; if(x-1=0 | f=1) O(x,y); x-; O(x,y); case RIGHT: if(biaojiy+ix+j+1=1) if(x+e+1=Xmap | f=1) x+; case DOWN: _O(x,y); if(oij=1)void Z_move() /同 L_move Z(x,y); Sleep(500); _Z(x,y); while(1) Z(x,y); if(zij=1) _Z(x,y); if(zij=1) Z(x

10、,y);/此函数操作游戏进程。void youxiguocheng() int j; int queue2=0,0; Wall(); queue0=rand()%5+1;=Xmap; if(biaoji1j=1) if(biaoji1j=1) queue1=rand()%5+1; switch(queue1) case 1: L(Xmap+4,Ymap/4+5); case 2: I(Xmap+4,Ymap/4+5); case 3: O(Xmap+4,Ymap/4+5); case 4: Z(Xmap+4,Ymap/4+5); case 5: T(Xmap+4,Ymap/4+5); swit

11、ch(queue0) L_move(); xiaochu(); I_move(); O_move(); Z_move(); T_move(); queue0=queue1; _L(Xmap+4,Ymap/4+5); _I(Xmap+4,Ymap/4+5); _O(Xmap+4,Ymap/4+5); _Z(Xmap+4,Ymap/4+5); _T(Xmap+4,Ymap/4+5);/此函数用于操作初始化界面。void chushihua() int i; gotoxy(5,1);70; printf(= gotoxy(5,2);* gotoxy(31,4); printf(欢迎来到 gotoxy

12、(30,5);俄罗斯方块 gotoxy(5,7); gotoxy(5,8); gotoxy(4,10);按任Enter键开始游戏。 nn 变换,加速下移,左移,右移。 gotoxy(45,23);-七组:姜志康、王世超、李向伟 getchar(); system(CLS/此函数用于操作结束界面。void gameover()# gotoxy(30,6);# # gotoxy(30,7);# GAME OVER # gotoxy(30,8); gotoxy(30,9); gotoxy(30,11);您的得分为:%d,chenji); gotoxy(30,13);欢迎下次再来 gotoxy(30,15);请按Enter键退出!int main() HideCursor(); srand(int)time(NULL); chushihua(); youxiguocheng(); gameover();

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1