1、 C+语言程序设计语言程序设计 课程设计报告课程设计报告 课 程: C+语言程序设计 题 目: 五子棋 年 级: 专 业: 学 号: 姓 名: 指导教师: 【摘要】 五子棋是我国古代的、传统的黑白棋种之一。五子棋不仅能增强思维能力,提高 智力,而且富含哲理,有助于修身养性。本游戏是以 C+语言作为开发工具,运 行环境 Visual C+ 6.0,通过构造函数绘制棋谱,以及落子函数、判断函数,实 现双人对弈的功能。 【关键词】五子棋、游戏、人人对战、C+ 【引言】 五子棋是起源于中国古代的传统黑白棋种之一。现代五子棋日文称之为“連 珠” ,英译为“Renju” ,英文称之为“Gobang”或“F
2、IR” (Five in a Row 的 缩写) ,亦有“连五子” 、 “五子连” 、 “串珠” 、 “五目” 、 “五目碰” 、 “五格”等多 种称谓。 五子棋不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。 五子棋既有现代休闲的明显特征“短、平、快” ,又有古典哲学的高深学问“阴 阳易理” ;它既有简单易学的特性,为人民群众所喜闻乐见,又有深奥的技巧和 高水平的国际性比赛;它的棋文化源渊流长,具有东方的神秘和西方的直观;既 有“场”的概念,亦有“点”的连接。它是中西文化的交流点,是古今哲理的结 晶。 本游戏是以 C+语言作为开发工具,运行环境 Visual C+ 6.0,通过构
3、造函 数绘制棋谱,以及落子函数、判断函数,实现双人对弈的功能。 【设计思路】 第一步:绘制棋谱 第二步:对战双方落子 第三步:判断是否有五子连珠 第四步:重复第一、二、三步直至出现五子连珠 【设计过程】 通过构造函数实现棋盘,编写落子函数实现玩家落子,通过判断函数判断是 否有五子连珠的结果。 【设计结果】 图1-1 初始画面 图1-2 双方落子 图1-3 白棋胜出 【设计总结】 本五子棋游戏是一种简单的小程序,没有图形界面以及复杂的人机、网络对 战,但即便如此我们也可以在娱乐中感受到 C+编程的奇妙之处。 附录: #include #include using namespace std; c
4、lass MyGobang public: MyGobang(); void printBoard(); void getPointXY(); void getPointMN(); bool isFirstWin(); bool isSecondWin(); private: int x,y,m,n,num_xy,num_mn; char board2020; ; MyGobang:MyGobang()/构造函数实现棋谱 num_xy=0; num_mn=0; for(int i=0;ixy; coutxy; coutxy; coutxy; cout=0i-,j+) if(boardji=o)
5、 num4+; else break; /这里是判断右斜下0连续数 for(i=x,j=y-2;i=0i+,j-) if(boardji=o) num4+; else break; if(num1=5|num2=5|num3=5|num4=5) return 1; / 这里总结 X,Y ,左斜,右斜 的0连续数,有等于五的就直接返回 1 否则返回 0 else return 0; void MyGobang:getPointMN()/第二人落子函数 coutmn; coutmn; coutmn; coutmn; cout=0i-,j+) if(boardji=x) num4+; else break; for(i=m,j=n-2;i=0i+,j-) if(boardji=x) num4+; else break; if(num1=5|num2=5|num3=5|num4=5) return 1; else return 0; int main() cout“*五子棋*“endl; MyGobang gobang; gobang.printBoard ();/申明 MYGobang 类的一个对象 for(int i=0;i+) gobang.getPointXY();/调用这个函数 gobang.printBoard ();/调用绘制棋盘 if