c语言游戏编程题经典100例学号
10212816207
武汉华夏理工学院
       
课程名称 C语言课程设计
    俄罗斯方块游戏的设计
课程设计任务书
设计题目俄罗斯方块的设计
要求完成的主要任务:
1. 任务描述
俄罗斯方块是一款风靡全球的掌上游戏机和PC游戏,它造成的轰动与创造的经济价值可以说
是游戏史上的一件大事。相信大多数用户都还记得为它痴迷得茶不思饭不想的那个俄罗斯方块时代。现在,要求你自己编程,使用自己亲手编写的俄罗斯方块游戏。
2.本课程涉及的知识点
  数组、结构体、绘图、时钟中断等,通过本程序的训练,进一步加深对C语言的了解,掌握游戏开发基本原理,为开发出高质量的游戏软件打下坚实基础。
  3. 要求完成的任务
  完成整个规定任务的设计及调试,且一定要画出程序流程图,最后得出正确结果,并经教师检查及答辩;
  写出规范的课程设计说明书;
  课程设计结束后交设计说明书等文档和设计内容:
  227日起,学生每天至少要到设计教室半天以上;
设计报告撰写格式要求:
设计报告的主要内容是详细写出在设计过程中所用到的主要技术或方法;
课程设计报告按国际通用格式书写,具体格式要求请见资料:“课程设计说明书的书写内容与格式”
时间安排:
第一天: 学生先在实验室集中,由指导教师介绍课程设计的目的、布置任务后选题;
第二天-第四天:学生在实验室完成设计,经教师检查并回答提问,确认设计完成;
第五天: 教师在计算机上先检查设计报告、学生修改后打印提交
字:                            20172 24
字:                    20172 24
目录
1.设计题目    2
2.开发环境    4
3.开发工具    4
4.完成时间    4
5.设计思想    4
6.设计过程及设计步骤    5
7.测试运行    7
8.评价与修订    10
8.1算法上的优点    10
8.2功能上的优点    10
8.3程序的缺点    10
9设计体会    11
10.参考文献    12

1 设计题目
俄罗斯方块设计
2 开发环境
硬件环境:微机系列,内存在1G以上,软件环境:Microsoft Windows XP
3 开发工具
TCWin-tc或者Visual C++6.0
4 完成时间
2017-2 –27----2017.3.3
5 设计思想
先设计出6大类19种状态变化的俄罗斯方块,制作游戏窗口,制作俄罗斯方块与状态判断图形是否可动,随机产生俄罗斯方块类型的序号打印俄罗斯方块清除俄罗斯方块的痕迹判断是否满行并删除满行的俄罗斯方块。
6 设计过程及设计步骤
制定游戏的边框大小,与方块的中心落下位置,按照设计思想做出来,加上难度随下落个数每次增加下落速度,不懂的程序上网搜索(这也增强了对C++的了解)
附图下一面(图1.1

              俄罗斯方块排序流程图(图1.1
         

程序源代码头文件
俄罗斯方块程序
#include <stdio.h>
#include <windows.h>
#include <conio.h>
#include <time.h>
做俄罗斯方块形状与变化用了数组(如下相应程序源代码为17种形状之一的Z字形)
case 8:        //Z字方块
  { 
    a[tetris->x][tetris->y+1]=b[1];
    a[tetris->x-2][tetris->y]=b[2];
    a[tetris->x+2][tetris->y+1]=b[3];
    break;
    }
  case 9:        //Z字顺时针转90度方块
  { 
    a[tetris->x][tetris->y-1]=b[1];
    a[tetris->x-2][tetris->y]=b[2];
    a[tetris->x-2][tetris->y+1]=b[3];
    break;
    }
  case 10:        //Z字顺时针转180度方块
  { 
    a[tetris->x][tetris->y-1]=b[1];
    a[tetris->x-2][tetris->y-1]=b[2];
    a[tetris->x+2][tetris->y]=b[3];
    break;
    }
  case 11:        //Z字顺时针转270度方块
  { 
    a[tetris->x][tetris->y+1]=b[1];
    a[tetris->x+2][tetris->y-1]=b[2];
    a[tetris->x+2][tetris->y]=b[3];
    break;}
7 测试运行
附图1.21.3
程序游戏开始图(1.2                        程序运行图(1.3
8 评价与修订
自己参考了很多先人最初做的程序,虽然许多东西不是很会,但大致看得懂,自己修改了别样的方块,但自己加不进去颜,图中那个加颜的程序命令不知道怎么运行不了,以后可以优化背景颜与方块颜。这个做出来比较卡顿,希望下次会更流畅一些。
9设计体会
总算把课程设计给完成了,这是一个坚苦而又漫长的过程,。是啊,读了那么多年的书,课程设计可是第一次。看着劳动成果,很欣慰!虽然这不是我一个人做的,是和另一个的共同努力得来的。
“这怎么可能完成的了!”4个天前我们这样说,现在我们可以说:“哈哈,完成啦”!
刚开始,可以说是没有头绪,于是就去图书馆资料,到了一些关于画图方面的,可是这点小进展远远不够,这只是一个小小的开始。下一步是上网查,到了些与我们题目相似的,那时我们每个人都很高兴,可是那还不是我们要的,于是又上网查到了些有关的函数等等,终于在我们大家的努力下,完成了这个程序。
虽然对着电脑做程序,有点累有点热,可是当看到劳动成果时,真是别有一番滋味在心头啊!世上无难事,只怕有心人,的确如此。做完这个程序最大的收获就是感受到了集体的力量,当然个人的智慧也是很重要的哦!
尽管不是自己独立完成,但仍然很高兴,因为在设计的过程中,让我了解到要设计一个大
型程序,查资料是至关重要的,在他人的基础上,再根据自己所学进行修改与调试,最后设计出自己想要的程序,这过程艰辛,但只要你持之以恒,成功指日可待。
另外平时扎实的基础也很关键,因为如果你平时学得就不怎么样,那么你面对这么一个比较有难度的程序,你可能会望而却步,看他人的程序都是个难点,更别说让你自己去设计。为了解决此。
10 参考文献
1)罗伟坚 Visual C++经典游戏程序设计》
2)刘长明 Visual C++实践与提高多媒体篇》
3)王晓峰 Visual C++实践与提高    ActiveX篇》

设计过程中现场提问(或答辩)记载:
问:这个俄罗斯方块程序运用了什么程序做出来的?
答:运用了数组、结构体、绘图、时钟等。
问:运行起来有什么毛病没?
答:有点卡顿,可能是我下落速度设定的有点过快,游戏进城过快导致卡顿。
问:如果再要你优化你的游戏你该怎么做?
答:运用system("pause");加上颜,优化后游戏设定有选择难度选项界面,游戏修改相应部分更加流畅。
指导教师评语:
成绩评定等级:
指导教师(签名):
2017  3  6

俄罗斯方块程序
#include <stdio.h>

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。