结对实验报告
实验名称:五子棋
第1章:需求分析
1.五子棋需求分析和流程设计
本程序设计为人与人对弈,一方执黑棋,一方执白棋,轮流走棋,每方都试图在游戏结束前让自己的棋子五子相连,首先实现五子相连的一方获胜。程序执行过程中,要求棋盘、棋子时时可见,游戏界面有提示信息轮到何方下棋,人可以通过按键盘按键移动光标,再点击enter键摆放棋子,并且每落一子都有系统声音,创新之处是可以提供悔棋功能。
2程序流程设计
根据程序需求分析结果,可以得出程序的总体结构图如图1,程序总体流程图如图2。
第2章:概要设计
2.1 各类头文件和全局变量
#include <stdio.h>
#include<windows.h>
#include <stdlib.h>
#include<conio.h> //使用getch()函数
int startchoice; //
int winner; //
int player; //
Q[200][200]= {0}; //Q数组记录旗子
char button; //读入键盘输入的指令,如→
2.2 画面显示模块
画面显示模块由欢迎界面,游戏棋盘界面,确认是否退出对话框界面,以及感谢使用界面组成。
画面显示模块函数如下:
void Welcome() //欢迎界面
void Draw() //绘画游戏棋盘界面
void Clean() //清除—→运动的轨迹
void menu_choose(char press) //选择是否退出游戏对话框
void PutDown() //显示落子函数
void goto_xy(int x, int y) //光标移动函数
3 用户界面:
4
4.结对分工:
我负责的是系统分析与设计,与代码书写与调试,结对同学负责的概要设计与界面设计
5.讨论与心得:
通过对各子程序的设计与优化,本程序完成了五子棋软件的主体的设计与制作,基本达到了使用五子棋软件的核心要求。然而程序还有一些不足之处,首先,程序的界面过于简陋,其次,判断胜后没有显示连成一线的棋子是哪些,用户使用不便。最后就是程序法实现人机对战,缺乏可玩性。