VC课程设计报告学院:理学院专业班级:信息与计算科学班学生姓名:*****学生学号:12345指导教师:###提交时间:2013年07 月02 日成绩:设计题目:五子棋人人对战目录第1章引言 .................................................................................................................................................第2章任务概述 .........................................................................................................................................2.1问题概述 .........................................................................................................................................2.1.1问题重述 ..............................................................................................................................2.1.2设计目的 ..............................................................................................................................2.2需求分析 .........................................................................................................................................2.2.1基本要求 ..............................................................................................................................2.2.2游戏功能介绍 ......................................................................................................................第3章概要设计 .........................................................................................................................................3.1功能设计 .........................................................................................................................................3.2程序结构 .........................................................................................................................................3.3基本流程 .........................................................................................................................................第4章程序实现 .........................................................................................................................................4.1主要变量及函数的说明 .................................................................................................................4.1.1主要变量 ..............................................................................................................................4.1.2主要函数 ..............................................................................................................................4.2主要功能的实现 .............................................................................................................................4.2.1类声明 ..................................................................................................................................4.2.2棋盘初始化 ..........................................................................................................................4.2.3开始下棋 ..............................................................................................................................4.2.4判断下棋合法 ......................................................................................................................4.2.4判断输赢 ..............................................................................................................................第5章结果与总结 .....................................................................................................................................5.1 运行结果截图 ................................................................................................................................5.2总结 .................................................................................................................................................参考文献: ...................................................................................................................................................第1章引言通过一学期的课程学习,对<C++程序设计>和Visual2010 C++编程环境有了一定程度的了解。
根据课程要求,利用两周时间对所学知识加以巩固学习,用c++编译小游戏,初步了解程序设计与软件实现的思想。
该设计通过对“五子棋人人对战”游戏的编写对所学知识复习巩固。
程序设计过程中,先对问题进行了全面分析,将“五子棋人人对战”划分成几个子问题后,逐步细化,最终归结成一个个函数的实现。
第2章任务概述2.1问题概述2.1.1问题重述设计一个五子棋,能实现人人对战。
(棋盘大小为13X13)2.1.2设计目的独立地利用所学的C++程序设计和Visaul C++6.0编程环境编写程序。
2.2需求分析2.2.1基本要求明确五子棋游戏的游戏规则,编写程序实现其功能。
2.2.2游戏功能介绍为了更好地实现游戏,首先必须明确“五子棋”的游戏规则。
大体的规则可描述如下:(1)进入主界面后,选择开始游戏。
(2)开始游戏后,一方开始下棋。
(3)再由另一方下棋(4)判断输赢。
(5)玩家选择结束游戏时,结束游戏。
第3章概要设计3.1功能设计程序主要实现的功能如下所述:(1)启动程序,出现主界面。
(2)显示棋盘。
(3)选择开始游戏。
(4)有一方开始下棋,并判断下棋是否合理。
(5)判断输赢。
(6)有另一方开始下棋,并判断下棋是否合理。
(7)判断输赢。
(8)选择是否继续。
(9)游戏结束后,退出游戏。
3.2程序结构程序的结构如下图所示:图3.2程序结构3.3基本流程根据游戏规则及其结构图,画出如下程序基本流程图:图3.3基本流程第4章程序实现4.1主要变量及函数的说明4.1.1主要变量char board[14][14]; 棋盘大小int x; 下棋的横坐标int y; 下棋的列坐标int count; 下棋的个数int a; 交换下棋4.1.2主要函数void MainForm();显示主菜单void PlayEplain();游戏说明void PrintBoard();打印初始棋盘void InitialBoard();初始化棋盘void PlayChess();开始下棋wuziqi();初始化a和count,a是交换下棋,count记录棋盘是否下满int CheckWin(int x,int y); 判断赢棋4.2主要功能的实现4.2.1 类声明class wuziqi{public:void MainForm(); 显示主菜单void PlayEplain(); 游戏说明void PrintBoard(); 打印初始棋盘void InitialBoard(); 初始化棋盘void PlayChess(); 开始下棋wuziqi(); 初始化a和count,a是交换下棋,count记录棋盘是否下满private:int CheckWin(int x,int y); 判断赢棋char board[13][13];int x; 下棋的横坐标int y; 下棋的列坐标int count; 计数判断是否满int a; 判断谁落子};4.2.2棋盘初始化Void wuziqi::InitialBoard() 初始化棋盘,将所用的位置设置为空格for(i=1;i<MXA;i++){for(i=1;i<MXA;i++){将所有下棋的格线设为空格}}Void wuziqi::PrintBoard() 打印棋盘利用制表符打印棋盘(┏┳┓┣╋┫┛┻┗)4.2.3开始下棋void PlayChess(); 开始下棋由a 的值决定下棋方If(a==0)一方下棋Else另一方下棋用坐标决定下棋位置4.2.4判断下棋合法如果输入是否越界{如果board[x][y]==' 空格'就可以下棋{board[x][y] 设为○}如果board[x][y]是否已经有棋子{输出"输入错误,此位置已经有棋子了,请重新输入!"<<endl;continue;返回去继续输入。