当前位置:
文档之家› (整理)五子棋人人对战c五子棋课程设计报告
(整理)五子棋人人对战c五子棋课程设计报告
第
5.1
1..启动画面
图5-1启动画面
2.游戏说明
图5.2游戏说明
3.退出游戏
图5.3退出游戏
4进入游戏
图5-4进入游戏
5.输入越界
图5-5输入超出范围
6。已有棋子
图5-6已有棋子
7.游戏进行
图5-7游戏进行
8.判断输赢
图5-8判断输赢
5.2
编辑小游戏这在以前我都以为是遥不可及,但现在通过这次五子棋的设计我明白了,并不是如此,通过课程设计,我们对《C++程序设计》这门课程有了更深一步的了解。它是计算机程序设计的重要技术。同时也使我知道,要学好这门课程,仅学习书本上的知识是不够的,还要有较强的实践能力。因为我们学习知识就是为了实践。而只有多实践,多编写程序,才能更好的理解与掌握书本上的东西。另外,在课程设计期间,让自己的思维变得活跃,也会看懂,学明白程序问题,总之,受益匪浅。
该设计通过对“五子棋人人对战”游戏的编写对所学知识复习巩固。程序设计过程中,先对问题进行了全面分析,将“五子棋人人对战”划分成几个子问题后,逐步细化,最终归结成一个个函数的实现。
第
2.1
2.1.1
设计一个五子棋,能实现人人对战。(棋盘大小为13X13)
2.1.2
独立地利用所学的C++程序设计和Visaul C++6.0编程环境编写程序。
cin>>y;
system("cls");
if((x>0&&x<=MAX)&&(y>0&&y<=MAX))
{
if(board[x][y]==' ')
{
board[x][y]='X';
PrintBoard();
count++;
}
else
{
system("cls");
cout<<"玩家●输入错误,此位置已经有棋子了,请重新输入"<<endl;
图3.3基本流程
第
4.1
4.1.1
char board[14][14]; //棋盘大小
int x; //下棋的横坐标
int y; //下棋的列坐标
int count; //下棋的个数
int a; //交换下棋
4.1.2
void MainForm();
//显示主菜单
void PlayEplain();
参考文献:
C++程序设计(第8版)(美)Walter Savitch清华大学出版社
附录:
#include<iostream>
#include <iomanip> //setw(3)
using namespace std;
const int MAX=13;
class wuziqi
{
public:
void MainForm(); //显示主菜单
break;
};
if(count==MAX*MAX) //判断是否下满
{
cout<<"平局!"<<endl;
break;
}
a=1;
}
//玩家●输入和玩家○输入一样
else if(a==1)
{
cout<<"请玩家●输入下棋位置!"<<endl;
cout<<"请输入行坐标:";
cin>>x;
cout<<"请输入列坐标:";
wuziqi::wuziqi():a(0) //将a初始化为0
{
}
//////////////////////////////////////////////////////
void wuziqi::PlayChess()
{
count=0;
for(;;) //交换下棋
{
//玩家○输入
if(a==0) //先下棋
void PlayEplain(); //游戏说明
void PrintBoard(); //打印初始棋盘
void InitialBoard(); //初始化棋盘
void PlayChess(); //开始下棋
wuziqi(); //初始化a和count,a是交换下棋,count记录棋盘是否下满
private:
}
else
cout<<"○";
}
else if(board[i][j]=='X')
if(j==1)
{
cout<<setw(20)<<i<<"●";
}
else
cout<<"●";
else
{
if((i==1)&&(j==1))
{
cout<<setw(20)<<"1"<<"┏";
}
else if((i==MAX)&&(j==1))
{
cout<<setw(20)<<i<<"┠";
}
else if((i==MAX)&&((j>1)&&(j<MAX)))
{
cout<<"┷";
}
else if((j==MAX)&&((i>1)&&(i<MAX)))
{
cout<<"┨";}
else
{
cout<<"┼";
}
}
}
cout<<endl;
}
}
VC课程设计报告
学院:
理学院
专业班级:
信息与计算科学班
学生姓名:
*****
学生学号:
12345
指导教师:
###
提交时间:
2013年07月02日
成绩:
设计题目:五子棋人人对战
第1章
通过一学期的课程学习,对<C++程序设计>和Visual2010 C++编程环境有了一定程度的了解。根据课程要求,利用两周时间对所学知识加以巩固学习,用c++编译小游戏,初步了解程序设计与软件实现的思想。
///////////////////////最开始时的棋盘///////////////////
/*void wuziqi::PrintBoard()
{
cout<<endl;
cout<<"*-*-*-*-*-*-*-*-*-*-*-*-*-*五子棋棋盘*-*-*-*-*-*-*-*-*-*-*-*-*"<<endl;
};
if(count==MAX*MAX)
{
cout<<"平局!"<<endl;
break;
}
a=0;
}
}
}
////////////////////////////////////////////////////////////////////////////////////
void wuziqi::InitialBoard()//初始化棋盘,将所用的位置设置为“”
(1)启动程序,出现主界面。
(2)显示棋盘。
(3)选择开始游戏。
(4)有一方开始下棋,并判断下棋是否合理。
(5)判断输赢。
(6)有另一方开始下棋,并判断下棋是否合理。
(7)判断输赢。
(8)选择是否继续。
(9)游戏结束后,退出游戏。
3.2
程序的结构如下图所示:
图3.2程序结构
3.3
根据游戏规则及其结构图,画出如下程序基本流程图:
continue;返回去继续输入。
}
}
如果输入是否越界
{
cout<<"输入位置超出范围,请重新输入!"<<endl;
PrintBoard();打印棋盘
返回重新输入
}
4.2.5
int CheckWin(int x,int y);//判断赢棋
当一方有五个棋子连成线时赢,用-1和1判断输赢,当棋盘满是为平局。
2.2
2.2.1
明确五子棋游戏的游戏规则,编写程序实现其功能。
2.2.2
为了更好地实现游戏,首先必须明确“五子棋”的游戏规则。大体的规则可描述如下:
(1)进入主界面后,选择开始游戏。
(2)开始游戏后,一方开始下棋。
(3)再由另一方下棋
(4)判断输赢。
(5)玩家选择结束游戏时,结束游戏。
第
3.1
程序主要实现的功能如下所述:
int i,j;
cout<<" ";
for(i=1;i<=MAX;i++)
{
cout<<setw(2)<<i;
}
cout<<endl;
for( i=1;i<MAX+1;i++)
{
for( j=1;j<MAX+1;j++)