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);
右移操作函数;
返回右
如果觉得《c语言程序设计九宫格 C语言课程设计之智力九宫格.doc》对你有帮助,请点赞、收藏,并留下你的观点哦!