连子游戏设计报告书
2009年12月
目录页
目录
6.4对于《高级语言程序设计Ⅲ》与《高级语言程序设计课程设计》两门课程的意见与建议 15
需求分析
功能与数据需求
.1.1题目要求的功能
1. 游戏画面分为ABC三部分,分别代表菜单,棋盘和记分牌。
2. 进入游戏后玩家建立/读取存档,选择难度,开始游戏。
3. 在B区画棋盘,玩家与计算机交替部子(棋子颜色不同)。
4. 玩家通过上下左右移动键盘光标回车键下棋(鼠标亦可)。
5. 棋盘竖直放立,因此棋子会在该列由上往下落。
6. 游戏的任意一方横向,纵向或者斜向棋子连成4子即为胜利,于是本局游戏结束并积1分。若棋盘布满未分胜负,本局结束,双方各记一分。
7. 在存档中存储玩家胜负信息及游戏棋盘。
8. 游戏中途按Esc退出游戏。
9. 游戏设有排行榜,玩家可以看到自己的胜负,排名,胜率。
10. 玩家保存后将棋局录入存档。
11. A区是菜单栏,设:Level,New,Load/Save,Rank,Help。
12. B区是玩家栏,显示当前玩家与电脑的比分。玩家每次输赢均录入存档。
扩展功能
1. 设计游戏封面。
2. 调整坐标设计游戏友好UI。
3. 插入游戏声音。
4. 设计下棋动画,使画面更为流畅酷炫。
5. 在退出时候再次请求用户确认以防误操作。
6. 完善AI。
界面需求
开发环境与运行需求
硬件:Duo CORE2 T6500 ,4G Ram ,320G HDD ,nVidia 105M Video Clip.
软件:Windows Vista 的安全模式 在EVGA(640*480)的显示模式下运行 Turbo C++ IDE 3.0.
概要设计
主要数据结构
1.结构体:
Typedef struct{
Player P1;
Player P2;
board[2][8][9];
}Info;
typedef struct {
char name[8];
int score;
}Player;
其中 Info用来储存每个玩家的游戏数据,其中,巧妙地使用一个三维数组来实现两个棋盘的读取。
2. 整形数据
int imax,jmax,level,i;
其中,imax jmax用来定义棋盘边界,level定义本局游戏级数(有1,2)来选择棋盘。i是下子的位置(即棋盘的横坐标)。
程序总体结构
judge()判断 |
judge()判断 |
各模块函数说明
/*===========================函数声明=========================*/