c语言课程设计(俄罗斯方块)

c语言课程设计(俄罗斯方块)

ID:27993386

大小:561.68 KB

页数:16页

时间:2018-12-07

c语言课程设计(俄罗斯方块)_第1页
c语言课程设计(俄罗斯方块)_第2页
c语言课程设计(俄罗斯方块)_第3页
c语言课程设计(俄罗斯方块)_第4页
c语言课程设计(俄罗斯方块)_第5页
资源描述:

《c语言课程设计(俄罗斯方块)》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、CHHHuaHUiOSTiTUTEOFTECHnOLOuV实训名称:c语言课程设计(俄罗斯方块)院系:计算机科学与工程学院专业:物联网工程班级.•152学号:092615219姓名:姚逢指导教师:靳颜清开课时间:2015至2016学年短学期一、需求分析1.1需求概述1.11市场需求:俄罗斯方块游戏是一个经典的小游戏,由于它操作简单,上到老人、下到小孩都可以玩,曾广受人们欢迎。现在游戏之风盛行,一款款画面精美、音乐动听的大型游戏就在我们身边,但耑要投入大量的人力、物力去开发,还需要发大量的精力去玩,而且特别容易上瘾。现在的人,也许大都不屑于玩俄

2、罗斯方块这种“弱智”的游戏,但仔细观察,我们身边还是有人玩这个的。俄罗斯方块也确实是一个很不错的休闲游戏。1.12对功能需求:功能界面:游戏开始,音乐响起,让人感觉到是一种享受,这时,巾计算机随机产生所定义的图形,记录所产生的图形的形状的数n,无操作时,方块竖直缓慢下落,图形在接触障碍物之前,可以巾键盘控制向左右下移动,14下加速或翻转,可以进行暂停,当某一行被下落的方块填满后消除并计分。1.2功能简介1.21.随机产生俄罗斯方块图形1.22.方向键和wasdrz实现下落方块的左移、右移、加速下落、变形、交换等基本操作1.23.正确判断游戏结

3、束1.24.对游戏成绩进行记分注:运行环境windows7控制台(80*43);二、总体设计2.1开发环境与工具幵发环境:CodeBlocks工具:prosesson2.2游戏总模块流程图(见图2.2〉很放动画M-打印游戏泪关界面(游戏池,泪关文字说明)交洽当前图形

4、绘图(形状,敝,皰色)右纽左键Wwt

5、落地

6、哲换^MC4Rr消行得分♦I旅雖TO1滴空泪关致据W-YyI娜古輒码赚甲•)图2.2游戏总模块流程图三、详细设计3.1模块介绍(创建,预览下一个方块和删除方块模块〉3.11开始动画和文字显示(见图3.11〉图3.11开始动画在本模板下,

7、首先在界而底部会同时出现两个简单的小人迎而相遇,接着,过程中会等待按键触发,等待过程中Tetris字样会进行颜色变化,实现闪动效果,按任意键即可开始游戏。3.12随机创建方块的代码函数名:intcreatblock()函数描述:制作方块函数函数功能:实现俄罗斯方块制作方块的功能输A:NULL输出:NULL备注:实现方块的制作图3.12随机创建方块3.13删除方块函数名:intdeleteblock(intx,inty,intshape,intstatus)函数描述:在指定位置消除指定方块函数函数功能:实现俄罗斯方块消除方块的功能输入:x,y,

8、shape,status输出:NULL备注:实现消除方块,为下面的消行做铺垫在本模块下,我们要根据操作者对方块发出的移动指令,对之前位置的方块做正确的删除。sy两个繙环娜,jf=0蒗盖宰色空格〔雖^束)图3.13删除方块流程图3.14结束界面当操作者在按下N(n)键之后,屏幕上会出现lose字幕和一堆由1与0两个数字组成的乱码,表明游戏已经结束,最后按任意键退出整个游戏界面。3.2核心代码3.21随机创建方块的代码intcreat一block(){shape=block_next_shape;status=block_next_status;

9、blockcolour=blocknextcolour;block_x=17;block_y=l;next_block();block_xj(shape);}intnext_block(){delete_block(NEXT_BLOCK_X,NEXT_BLOCK_Y,block_next_$hape,block_next_status);block_next_colour=rand()%(Ox10);block_next_shape=rand()%7;block_next_status=rand()%4;if(block_next_colou

10、r==0x00){block_next_colour=0x0f;}printf_block(NEXT_BLOCK_X,NEXT_BLOCK_Y,block_next_shape,block_next_status,block_next_colour);}3.22删除方块的代码intdelete_block(intx,inty,intshape,intstatus){inti,j;for(i=0;i<4;i++){for(j=0;j<4;j++){cursor(j+x,i+y);if(blocks[shape][status][i][j]==1

11、){SetConsoleTextAttribute(handle,0x00);printf(,");}3.23开始动画以及开始文字intdh(){intkl=0,k

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。