- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言课程设计之智力九宫格
C语言课程设计报告
学生姓名: 徐永杰
学号: 101304229
系(院): 信息工程学院
专业: 计算机科学与技术
班级: 计科1002
设计题目: 智力九宫格
指导老师: 徐永安
二零一一年七月
设计目的…………………………………3
课程设计内容……………………………3
游戏总体设计……………………………4
游戏详细设计……………………………6
运行结果…………………………………7
设计心得…………………………………7
设计目的
在《C语言程序设计》课程学习和课程实验的基础上,以及自己的一些课外看书拓展,加上老师的课外辅导与帮助,利用win-TC编程,通过一定代码量的实际编程,巩固和加深对C语言课程的基本知识的理解和掌握掌握C语言编程和程序调试的基本技能利用C语言进行基本的软件设计提高运用C语言解决实际问题的能力
首先用win-TC绘制图形界面,并且用随机初始化将牌布局状态,然后玩家通过移动上下左右键来改变棋盘的布局,最终实现上图中的两种状态之一,即完成游戏。为了增加游戏的人机交互界面,我做出了精美的图形,并插入了按键音,即每当玩家按下一次按键,都伴随着悦耳的按键音,并且主界面的右上方还显示了玩家移动的步数,即玩家每移动一个将牌位置,步数就相应立刻加一,这样便于比较不同玩家实现游戏完成过程的效率。给聪明人实现最少步数完成而留有比较进步的余地。而且,当完成游戏时,游戏界面下方会展示提示完成的字样,即:Congratulations(祝贺)。给玩家获得成就的鼓励,带来惊喜。
游戏总体设计
进入游戏界面
Press up,down,right,left,to move.
Press Esc to quit.
Created By XuYongJie!
根据上下左右按键移动空格的位置,将将牌布局向最终状态靠近,直到与最终两种状态的其中一种相符,也可以中途按又花括号退出。
完成任务,比较最终所移步数,比较得分,退出程序。
Congratulations!
Press up,down,right,left,to move.
Press Esc to quit.
Created By XuYongJie!
游戏详细设计
游戏中用到的数据结构:
Struct state
{
y[3][3];
};
实现功能的子函数:
void initgr(void);
在TC环境下初始化图形界面。
void done_by_self(struct state *);
玩家的有关一系列操作。
通过一个while(1)执行循环,上移,下移,左移,右移。利用计数变量count执行统计步数,并且不停的显示,檫除,实现steps的一步一步显示;如果玩家想要中途退出程序,则需按下右花括号即可,或者完成任务程序也将结束。
int ok(struct state *);
判断是否为最终状态中的第一种;
若是,则返回1,否则返回0。
int ok1(struct state *);
判断是否为最终状态中的第二种;
若是,则返回1,否则返回0;
int row(struct state *);
计算出当前状态空格的行;
返回空格的行数;
int col(struct state *);
计算出当前状态空格的列数;
返回空格的列数;
struct state *up(struct state *p1);
上移操作函数;
返回上移后的状态;
struct state *down(struct state *p1);
下移操作函数;
返回下移后的状态;
struct state *left(struct state *p1);
左移操作函数;
返回左移后的状态;
struct state *right(struct state *p1);
右移操作函数;
返回右
文档评论(0)