C++语言程序设计
课程设计报告
课 程: C++语言程序设计 题 目: 五子棋 年 级: 专 业: 学 号: 姓 名: 指导教师:
江苏师范大学数学与统计学院
【摘要】
五子棋是我国古代的、传统的黑白棋种之一。五子棋不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。本游戏是以C++语言作为开发工具,运行环境Visual C++ 6.0,通过构造函数绘制棋谱,以及落子函数、判断函数,实现双人对弈的功能。
【关键词】五子棋、游戏、人人对战、C++
【引言】
五子棋是起源于中国古代的传统黑白棋种之一。现代五子棋日文称之为“連珠”,英译为“Renju”,英文称之为“Gobang”或“FIR”(Five in a Row的缩写),亦有“连五子”、“五子连”、“串珠”、“五目”、“五目碰”、“五格”等多种称谓。
五子棋不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。五子棋既有现代休闲的明显特征“短、平、快”,又有古典哲学的高深学问“阴阳易理”;它既有简单易学的特性,为人民群众所喜闻乐见,又有深奥的技巧和高水平的国际性比赛;它的棋文化源渊流长,具有东方的神秘和西方的直观;既有“场”的概念,亦有“点”的连接。它是中西文化的交流点,是古今哲理的结晶。
本游戏是以C++语言作为开发工具,运行环境Visual C++ 6.0,通过构造函数绘制棋谱,以及落子函数、判断函数,实现双人对弈的功能。
【设计思路】
第一步:绘制棋谱
第二步:对战双方落子
第三步:判断是否有五子连珠
第四步:重复第一、二、三步直至出现五子连珠
【设计过程】
通过构造函数实现棋盘,编写落子函数实现玩家落子,通过判断函数判断是否有五子连珠的结果。
【设计结果】
图1-1 初始画面
图1-2 双方落子
图1-3 白棋胜出
【设计总结】
本五子棋游戏是一种简单的小程序,没有图形界面以及复杂的人机、网络对战,但即便如此我们也可以在娱乐中感受到C++编程的奇妙之处。
附录:
#include
public: MyGobang(); void printBoard(); void getPointXY(); void getPointMN(); bool isFirstWin(); bool isSecondWin();
private: int x,y,m,n,num_xy,num_mn; char board[20][20]; };
MyGobang::MyGobang()//构造函数实现棋谱 {
num_xy=0; num_mn=0;
for(int i=0;i<20;i++)
for(int j=0;j<20;j++)
board[i][j]='.'; }
void MyGobang::printBoard()//刷新棋谱 {
for(int i=0;i<=20;i++) {
if(i<10) cout<
cout< for(int j=1;j<=20;j++) { if(j<10) { cout< for(int k=0;k<20;k++) cout< { cout< for(int k=0;k<20;k++) cout< } } void MyGobang::getPointXY()//第一人落子函数 { cout<<\请输入第\步白旗X,Y的坐标(x,y在1和20之间):\ cin>>x>>y; cout< while(x<1||x>20||y<1||y>20) { cout<<\出界,请重新输入:\ cin>>x>>y; cout< while(board[y-1][x-1]!='.') { cout<<\该位置已被占,重新输入:\ cin>>x>>y; cout<