C课程设计报告(共17页).doc
《C课程设计报告(共17页).doc》由会员分享,可在线阅读,更多相关《C课程设计报告(共17页).doc(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上赣 南 师 范 学 院 科 技 学 院 C课程设计报告教 学 系 数学与信息科学系 年 级 2015级 专 业 计算机科学与技术 学 号 姓 名 钟莉筠 任课教师 郑志明 完成日期 2016年7月6日 分数 签名 专心-专注-专业目 录一、课程设计简介 程设计中利用C语言在控制台的情况下实现俄罗斯方块游戏,俄罗斯方块的基本规则是移动、旋转和摆放游戏自动输出的各种方块,使之排列成完整的一行或多行并且消除得分。课程中就是灵活利用C语言中的知识,掌握对于结构体,数组,指针等变量的用法,以及掌握对于函数的嵌套调用,在本次课程中掌握对于编写程序的格式以及模块化,能够使得整体看上
2、去更加简洁。二、程序功能介绍(一)俄罗斯方块游戏需要解决的问题包括:按任意键开始游戏,随机产生方块并自动下移用Esc键退出游戏。 用键变换方块用键和 键左右移动方块用键使方块加速下移用空格键使方块直接下移能正确判断满行并消行、计分、定级别能正确计时设定游戏为不同级别,级别越高难度越大重点: *游戏面包的数据结构:二维数组 *7种形状方块的数据结构:结构体保存每种形状方块的坐标、颜色(二) 俄罗斯方块游戏需要设计的功能函数包括:(1) 声明俄罗斯方块的结构体(2) 函数原型的声明(3) 制作游戏窗口(4) 制作俄罗斯方块(5) 判断方块是否可以下移,左移,右移。(6) 判断是否可以消除(7) 判
3、断是否满格三、 开发环境及工具开发环境:windows7系统工具:codeblocks四、程序数据结构设计(一)从配置文件获取方块数据(二) 游戏初始化控制typedef struct TetrisManager / 这个结构体存储游戏相关数据 uint16_t pool28; /游戏池 int8_t x ;/当前X坐标,此处坐标为方块左上角坐标 int8_t y ;/当前方块Y坐标 int8_t block_type3;/当前,下个,和下下个方块类型 int8_t orientation3;/当前,下个,和下下个方块旋转状态 unsigned score;/得分 unsigned erase
4、d_count4;/消行数 unsigned erased_count_total;/消行总数 unsigned tetris_count7;/个方块数 unsigned tetris_count_total;/方块总数 bool dead; /挂 TetrisManager; void initGame(TetrisManager *manager, TetrisControl *control) CONSOLE_CURSOR_INFO cursorInfo = 1, FALSE ; / 光标信息 g_hConsoleOutput = GetStdHandle(STD_OUTPUT_HAND
5、LE); / 获取控制台输出句柄 SetConsoleCursorInfo(g_hConsoleOutput, &cursorInfo); / 设置光标隐藏 SetConsoleTitleA(俄罗斯方块); restartGame(manager, control);(三)显示游戏池边界 void GameInterface() signed char y; SetConsoleTextAttribute(hOut, 0xFF9); for (y = ROW_BEGIN; y dead) / 没挂 while (_kbhit() / 有键按下 keydownControl(manager, c
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 报告 17
限制150内