欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    俄罗斯方块设计.doc

    • 资源ID:63856273       资源大小:112.50KB        全文页数:6页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    俄罗斯方块设计.doc

    软件编程实习课程报告俄罗斯方块专 业:电子信息科学与技术班 级: 学 号: 0307 姓 名: long 指导老师: wang 实验时间:2011 一、 需求分析功能 简介 顺时针旋转顺时针旋转转块逆时针旋转逆时针旋转转块绘制转块指定画板上绘制转块擦除矩形指定画板上擦除矩形右移动右移动转块左移动左移动转块下移动下移动转块丢下转块在画板上丢下转块自定义转块样式自已定义转块样式设置游戏按钮自定义设置游戏按钮保存游戏基本信息保存游戏基本信息到XML文档 等级 达到一定分数速度变快1、运行环境需求:WIN95WIN98WinMeWIN2000WINXPWINNT2、硬件需求:(1)处理器型号:奔腾III及同等型号以上处理器及内存容量:512MB以上内存(2)外存容量:5G以上硬盘空间(3)联机或脱机:脱机;(4)媒体及其存储格式:XML文档;(5)输入输出设备的型号和数量:鼠标、彩色显示器。二、主要算法思想俄罗斯方块游戏程序的界面设计图如下图所示: 图1俄罗斯方块的主要流程图如下:图2三、游戏的结构分析 俄罗斯方块游戏中,游戏界面区中不断有各种形状的方块从上向下落,在遇到下面已经 固定的方块或者界面区域的底部而不能再下落时,则被固定在所在位置,并且游戏将预览的 方块在游戏区域从上继续下落,而且产生一个新的预览方块;当方块堆积的超过游戏界面区 域时(或者游戏者积分超过一定值时),游戏结束。在固定方块时,需要判断是否有全都是方 块的行,如果有,则消去该行,并根据预定的规则增加游戏者获得的分数,并修改游戏的级 别(即游戏的速度)。 游戏的控制,也即当前正在下落的方块的左右移动和变形操作,由按键控制,根据相应 的按键调用相应的函数过程。当方块左右移动遇到游戏界面中已经固定的方块时,它就被阻 挡而不能移动,或者当方块已经到了游戏区域的两侧边界时,也不能移动。对于变形操作, 我们用下落方块的变形后的方块跟游戏区域中已经固定的方块比较,如果变形后没有覆盖已 经固定的方块,则下落方块可以变形,否则,它就受到了一定固定的方块的阻挡而不能变形。四、主要功能的实现1、_fastcall TForm1:TForm1(TComponent* Owner)功能:定义俄罗斯方块显示的区域。2、void _fastcall TForm1:SpeedButton1Click(TObject *Sender)功能:按开始按钮执行后面的程序。3、void _fastcall TForm1:Timer1Timer(TObject *Sender)功能:开启定时器,规定向下移动的时间,方块的下落就是要靠定时器事件来触发的。4、void _fastcall TForm1:SpeedButton2Click(TObject *Sender)功能:暂停5、void _fastcall TForm1:DrawBlock(int X,int Y,TColor mColor)功能:画预览区域和游戏区域的方块6、void _fastcall TForm1:DrawSmallBlock(int X, int Y,TColor mColor)功能:让预览区域显示小的图形7、void _fastcall TForm1:ClearSmallBlock(int X, int Y)功能:清除预览窗口子函数8、void _fastcall TForm1:WriteNext()功能:调用下一个图形子函数9、void _fastcall TForm1:ReadStyle()功能:从图形数组里面调用不同图形子函数10、void _fastcall TForm1:ScanLine()功能:扫描和检测,当方块左右移动遇到游戏界面中已经固定的方块时,它就被阻 挡而不能移动,或者当方块已经到了游戏区域的两侧边界时,也不能移动。11、void _fastcall TForm1:MoveDown()功能:游戏区的方块向下移动12、void _fastcall TForm1:WriteObject()功能:写方块13、void _fastcall TForm1:ClearBlock(int X,int Y)功能:清除方块14、void _fastcall TForm1:MoveLeft()功能:游戏区的方块向左移动15、void _fastcall TForm1:MoveUp()功能:游戏区的方块变形16、void _fastcall TForm1:MoveRight()功能:游戏区的方块向右移动17、void _fastcall TForm1:FormKeyDown(TObject *Sender, WORD &Key, TShiftState Shift)功能:键盘控制五、详细设计与调试1. 界面设计俄罗斯方块游戏程序的界面设计图如图3 所示,关键的组件是四个 Panel,两个大的 Panel 为双人游戏时的两个游戏玩家的游戏区域,它们的 Name 分别为 Panel1 和 Panel2,两 个小的 Panel 为绘制预览方块的区域,其 Name 属性分别为 Panel3 和 Panel4。 窗体中加入一系列的 StaticText 组件,用于显示得分、消去的函数、游戏级别以及游戏的控制按键等。之所以使用 StaticText 而不用 Label 是因为对于 StaticText 可以设置更多的属 性,如边框、底色等,可以美化界面。需要注意的是,所有 StaticText 的 AutoSize 属性都应 该设为 false,以便其 Caption 属性改变时,不影响界面的格局。 添加两个定时器组件,Timer1 和 Timer2,它们分别用于两个游戏玩家的游戏控制。方块 的下落就是要靠定时器事件来触发的,而对定时器的 Interval 属性的设置可以更改游戏的速 度。添加主菜单,菜单项“游戏”用于游戏的开始、暂停和退出操作;菜单项“Multiplayers” 用于选择单人游戏模式还是双人对战模式;菜单项“设置”用于游戏的配置操作;“帮助”用 于打开程序的帮助文件。图32. 游戏的结构分析俄罗斯方块游戏中,游戏界面区中不断有各种形状的方块从上向下落,在遇到下面已经 固定的方块或者界面区域的底部而不能再下落时,则被固定在所在位置,并且游戏将预览的 方块在游戏区域从上继续下落,而且产生一个新的预览方块;当方块堆积的超过游戏界面区 域时(或者游戏者积分超过一定值时),游戏结束。在固定方块时,需要判断是否有全都是方 块的行,如果有,则消去该行,并根据预定的规则增加游戏者获得的分数,并修改游戏的级 别(即游戏的速度)。3. 键盘、定时器和菜单的控制在程序中,我们定义两个游戏,即两个 TetrisGame 的实例,然后根据用户选择的是单玩 家模式还是对战模式来调整窗口的显示,完成对游戏的控制。 在头文件中定义如下: public: / User declarations TetrisGameGame1,Game2; intMode; /游戏模式,1 表示 single,2 表示对战 键盘、菜单和定时器等对游戏的控制,也就是根据 Mode 对 Game1 和 Game2 的控制。五、设计心得 俄罗斯方块,一个很简单的游戏,平时只知道玩,却从来没思考过它的设计过程。通过本次的亲身设计,才体验到,一个简单程序的设计,包含的工作太多太多,而且遇到的问题也很多。再通过老师的指导和组内同学的合作讨论,最终将程序调试出来。 从整个设计过程中,我体验到做学问的仔细与严谨,以及通过C+builder平台,我掌握了许多设计软件的相关知识。此外,在与组员的合作交流中,体会到团队意识的重要性。相信在以后的学习中,不断地加强自己的动手能力,努力提高知识的运用能力。

    注意事项

    本文(俄罗斯方块设计.doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开