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

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

实训报告

实训名称:C语言课程设计(俄罗斯方块)院系:计算机科学与工程学院

专业:物联网工程

班级:152

学号:092615219

姓名:姚锋

指导教师:靳颜清

开课时间:2015 至2016 学年短学期

一、需求分析

1.1 需求概述

1.11市场需求:

俄罗斯方块游戏是一个经典的小游戏,由于它操作简单,上到老人、下到小孩都可以玩,曾广受人们欢迎。现在游戏之风盛行,一款款画面精美、音乐动听的大型游戏就在我们身边,但需要投入大量的人力、物力去开发,还需要发大量的精力去玩,而且特别容易上瘾。现在的人,也许大都不屑于玩俄罗斯方块这种“弱智”的游戏,但仔细观察,我们身边还是有人玩这个的。俄罗斯方块也确实是一个很不错的休闲游戏。

1.12 对功能需求:

功能界面:游戏开始,音乐响起,让人感觉到是一种享受,这时,由计算机随机产生所定义的图形,记录所产生的图形的形状的数目,无操作时,方块竖直缓慢下落,图形在接触障碍物之前,可以由键盘控制向左右下移动,向下加速或翻转,可以进行暂停,当某一行被下落的方块填满后消除并计分。

1.2 功能简介

1.21.随机产生俄罗斯方块图形

1.2

2.方向键和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 核心代码

3.21 随机创建方块的代码

3.22 删除方块的代码

3.23 开始动画以及开始文字

3.24 游戏结束

四、运行结果

运行结果(一)

运行结果(二)

运行结果(三)

运行结果(四)

五、总结

在编这项项目的过程中,我发现了很多问题,课堂上学得那些知识并不牢固,一实践和检验的时候往往会出现这样和那样的错误,所以要想真正掌握这门知识,光靠记忆和在深入理解也是远远不够的,必须上机多敲键盘,多打代码,遇到错误,要冷静的分析和修改,但经常很多问题不是我们个人能解决的,有时我们只是局限于一角,忽略其他的方块隐藏的潜在简单的错误,可能一个局外人一眼就可以发现了,有时可能我们是真的停留在程序表面,所以运用经常出错,因此必须把知识和实践相结合,凭一己之力不能解决的事千千万,我们要与他人团结合作,发挥团队的强大性。

相关文档
最新文档