五子棋人人对战_c五子棋课程设计报告

  • 格式:docx
  • 大小:255.38 KB
  • 文档页数:22

下载文档原格式

  / 22
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

VC课程设计报告

设计题目:五子棋人人对战

目录

学院:

第1章引言 (4)

第2章任务专业班级:信息与计算科学班概述...........................

2.1 问题概述:

述……学生姓名:***** 2 :

1:1

问题重

::::4

2 :1: 2 设计目

地……学生学号:12345 ::::4

2.2 需求分

析:

指导教师:### 2 :

2 :1 基本要

求 (4)

222游戏功

台匕提交时间:冃匕2013年07月02日介绍

第3章概要设计......

3:1功能成绩:设计......

3:2程序结构......

3:3基本流程...................... . (4)

第4章程序实现......................... . (4)

4:1主要变量及函数地说明......... . (4)

4:1:1主要变量.............. . (4)

理学院

4.1.2主要函数 (4)

4.2主要功能地实现 (4)

4.2.1类声明 (4)

4.2.2棋盘初始化 (4)

4.2.3开始下棋 (4)

4.2.4判断下棋合法 (4)

4.2.4判断输赢 (4)

第 5 章结果与总结 (4)

5.1 运行结果截图 (4)

5.2总结 (4)

参考文献: (4)

第1章引言

通过一学期地课程学习,对和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基本流程

判断输赢 结束游戏

根据游戏规则及其结构图,画出如下程序基本流程图:

NO

玩家X 下棋

是否赢棋

图3.3基本流程

第4章程序实现

4.1主要变量及函数地说明 4.1.1主要变量

//下棋地横坐标 int y 。 //下棋地列坐标 int cou nt 。 //下棋地个数 int a 。

//交换下棋

开始

主界面

t

显示棋盘

工 ■

玩家

C

下棋

YES

.1.

判断输入是否越界

YES

判断下棋的位置是否已有棋子

NO

NO

YES

YES

YES

是否继续 •

YES

NO

判断下棋的位置是否已有棋子

NO

—__

char board[14][14]。

//棋盘大小

int x 。 YES

结束

NO

判断输入是否越界

NO

4.1.2 主要函数 void MainForm() 。 // 显示主菜单 void

PlayEplain() 。

// 游戏说明

void PrintBoard() 。 // 打印初始棋盘

void InitialBoard() 。

// 初始化棋盘 void PlayChess() 。

// 开始下棋 wuziqi() 。

// 初始化 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() 。

是否下满 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

// 开始下棋

//初始化a 和count , a 是交换下棋,

//判断赢

//下棋地横坐标 //下棋地列坐标 // 计数判断是否满 // 判断谁落子

// 初始化棋盘,将所用地位置设置为空格

count 记录棋盘

for(i=1 。 i

i++)