C语言课程设计(俄罗斯方块).docxVIP

  • 26
  • 0
  • 约8.05千字
  • 约 21页
  • 2021-09-10 发布于天津
  • 举报
实训报告 实训报告 PAGE PAGE # CHRHG5HU iHSTiTUTt: Or TECHnOLOGV 实训报告 实训名称: 院 系: 专 业: C语言课程设计(俄罗斯方块) 计算机科学与工程学院 1=1 ejai 物联网工程 班 级: 152 学号: 092615219 姓 名: 姚锋 指导教师: 靳颜清 开课时间:2015至2016学年短学期 、需求分析 1.1需求概述 1.11市场需求: 俄罗斯方块游戏是一个经典的小游戏,由于它操作简单,上到老人、下到小孩都可以玩,曾广受人们欢迎。现在游 戏之风盛行,一款款画面精美、音乐动听的大型游戏就在我们身边,但需要投 入大量的人力、物力去开发,还需要发大量 的精力去玩,而且特别容易上瘾。现在的人,也许大都不屑于玩俄罗斯方块这种“弱智”的游戏,但仔细观察,我们身边 还是有人玩这个的。俄罗斯方块 也确实是一个很不错的休闲游戏。 1-12对功能需求: 功能界面:游戏开始,音乐响起,让人感觉到是一种享受,这时,由计算机随机产生所定义的图形,记录所产生的 图形的形状的数目, 无操作时,方块竖直缓慢下落,图形在接触障碍物之前, 可以由键盘控制向左右下移动, 向下加速或翻转,可以进行暂停,当某一行被下落的方块填满后消 除并计分。 1 -2功能简介 1-21.随机产生俄罗斯方块图形 1-22.方向键和wasdrz实现下落方块的左移、右移、加速下落、变形、交换等基本操作 1.23.正确判断游戏结束 1-24 ?对游戏成绩进行记分 注:运行环境windows 7 控制台(80 * 43 ); 二、总体设计 2.1开发环境与工具 开发环境:CodeBlocks工 具:prosesson 2.2游戏总模块流程图(见图2.2 ) 图2.2游戏总模块流程图 三、详细设计 3.1 模块介绍(创建,预览下一个方块和删除方块模块) 3.11 开始动画和文字显示(见图3.11 ) 过程中会等待按键图3.11 开始动画 过程中会等待按键 在本模板下,首先在界面底部会同时出现两个简单的小人迎面相遇,接着, 触发,等待过程中Tetris字样会进行颜色变化,实现闪动效果,按任意键即可开始游戏。 3.12 随机创建方块的代码 函数名: int creat_block() 函数描述: 制作方块函数 函数功能: 实现俄罗斯方块制作方块的功能 输 入: NULL 输 出: NULL 备 注: 实现方块的制作 在本模块下,我们要完成当前方块的创建和下一个方块的提前创建与预览。 图3.12随机创建方块 3.13删除方块 函数名: int delete_block(int x,int y,int shape ,int status ) 函数描述: 在指定位置消除指定方块函数 函数功能: 实现俄罗斯方块消除方块的功能 输 入: x,y,shape,status 输 出:NULL 备 注: 实现消除方块,为下面的消行做铺垫 在本模块下/我们要根据操作者对方块发出的移动指令,对之前位置的方块做正确的删除。 ? 3.13删除方块流程图 3.14 结束界面 当操作者在按下N (n)键之后,屏幕上会出现lose字幕和一堆由1与0两个数字组 成的乱码,表明游戏已经结束,最后按任意键退出整个游戏界面。 3.2 核心代码 随机创建方块的代码 int creat_block() shape=block_ next_shape; status=block next status; block colour=block next colour; block_x=17; block_y=1; n ext_block(); block_xj(shape); } int n ext_block() { delete_block(NEXT_BLOCK_X,NEXT_BLOCK_Y ,block_ next_shape,block_ next_status); block_ next_colour=ra nd()%(0x10); block_ next_shape=ra nd()%7; block next status=ra nd()%4; if(block_ next_colour==OxOO) block next colour=OxOf; prin tf_block(NEXT_BLOCK_X5NEXT_BLOCK_Y,block_ next_shape,block_ next_status,block_ next_colour); 删除方块的代码 int delete_block(i nt xj nt y,i nt shape ,int status ) { int i,j; for(i=0;iv4;i++) { for(j=

文档评论(0)

1亿VIP精品文档

相关文档