最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

c++五子棋课程设计报告

来源:动视网 责编:小OO 时间:2025-09-25 16:28:45
文档

c++五子棋课程设计报告

福建农林大学计算机与信息学院课程设计报告课程名称:面向对象程序设计课程设计课程设计题目:五子棋姓名:系:计算机专业:软件工程年级:学号:指导教师:职称:年月日福建农林大学计算机与信息学院计算机类课程设计报告结果评定评语:评分项目分值得分课程设计报告符合规范10分类图、用例图、系统框图合理30分主要技术线路正确30分设计报告条理清晰、重点突出20分有一定创新性、难易程度10分成绩:指导教师签字:任务下达日期:12月6日评定日期:4.4⑷类的介绍..........................
推荐度:
导读福建农林大学计算机与信息学院课程设计报告课程名称:面向对象程序设计课程设计课程设计题目:五子棋姓名:系:计算机专业:软件工程年级:学号:指导教师:职称:年月日福建农林大学计算机与信息学院计算机类课程设计报告结果评定评语:评分项目分值得分课程设计报告符合规范10分类图、用例图、系统框图合理30分主要技术线路正确30分设计报告条理清晰、重点突出20分有一定创新性、难易程度10分成绩:指导教师签字:任务下达日期:12月6日评定日期:4.4⑷类的介绍..........................
福建农林大学计算机与信息学院

课程设计报告

课程名称:面向对象程序设计课程设计
课程设计题目:五子棋
姓    名:

系:计算机
专    业:

软件工程
年    级:

学    号:

指导教师:
职    称:

年  月  日

福建农林大学计算机与信息学院计算机类

课程设计报告结果评定

评语:

评分项目分值得分
课程设计报告符合规范10分

类图、用例图、系统框图合理30分

主要技术线路正确30分

设计报告条理清晰、重点突出20分

有一定创新性、难易程度10分

成绩:
指导教师签字:任务下达日期:12 月6日

评定日期:
4.4 ⑷ 类的介绍.............................................................8

4.5 (5) 各个模块的介绍......................................................8

4.6 (6)程序运行图示........................................................14

5.总结.....................................................................16

参考文献...................................................................17

(a)1.设计目的

(1)加深我对面向对象程序基本的理解和掌握。

(2)熟练掌握基本流程图的绘制。            

(3)熟练visio的一些操作方法。

(4)能够在调试程序中快速发现并排除程序中的错误。

(5)提高面向对象程序语言解决实际中的问题的能力。

(b)2.设计要求

五子棋是玩家在游戏棋盘上逐个输入黑子或白子的坐标,因此游戏要求在DOS界面生成一个可供操作的棋盘。通过输入坐标完成对应落子情况,在输入过程中判断落子是否正确、是否有一方胜利等情况。编写代码可以在VC6.0下编译通过。游戏要能实现五子棋游戏的简单操作。程序中要体现面向对象思想。

      

(c)3.设计方案

(必须包含系统功能说明、用例图和类图)

一、用例图

落子

基于用户的用例图

步数用例图

系统用例图

1)输出棋盘界面菜单及图像2)开始进入控制3)黑白棋正确输入格式控制4)判断黑白输赢控制5)正确计数对羿步数及下一步所要走的棋盘界面

 

二、类图

(d)4.设计内容

⑴本系统的主要结构和类结构

1)五子棋功能实现的主要结构函数

void getpointxy(); //白棋出子函数

void getpointmn(); //黑棋出子函数

void showqipan(); //实现20行20列正方形界面输出

void print(); //输出下一棋盘界面及计数

bool IsxyWin(); //白棋获胜

bool IsmnWin(); //黑棋获胜

void menu();//显示开始菜单界面

(2)五子棋类的结构

class five 

{

    int x,y,m,n,num_xy,num_mn; 

    char qipan[20][20]; //定义20行20列的数组

public: 

five(int X = 0,int Y =0,int M = 0,int N = 0,int Num_xy = 0,int Num_mn = 0) //构造函数初始化

{

    x = X; 

      y = Y; 

    m = M; 

    n = N; 

    num_xy = Num_xy; 

    num_mn = Num_mn; 

for(int i = 0 ; i < 20 ; i ++) //输出20行20列的棋盘界面

    { 

        for(int j = 0 ;j < 20 ; j ++) 

            qipan[i][j] = '.'; 

    } 

⑶ 系统工作流程介绍。

⑷ 类的介绍:

该类完成了对输入棋子坐标的初始化,通过for循环实现了一个20行20列的坐标,在公有成员中定义了相应的功能函数

void getpointxy(); //白棋出子及计数

void getpointmn(); //黑棋出子及计数

void showqipan(); //实现20行20列正方形界面输出

void print(); //输出下一棋盘界面

bool IsxyWin(); //白棋获胜

bool IsmnWin(); //黑棋获胜

void menu();//显示开始菜单界面

(5)各个模块的介绍:

1)类的实现:包括对数据成员的赋值和成员函数的初始化还有通过for循环实现对20行20列坐标的定义:源代码如下

class five 

{

    int x,y,m,n,num_xy,num_mn; 

    char qipan[20][20]; //定义20行20列的数组

public: 

five(int X = 0,int Y =0,int M = 0,int N = 0,int Num_xy = 0,int Num_mn = 0) //构造函数初始化

{    x = X; 

  y = Y; 

    m = M; 

    n = N; 

    num_xy = Num_xy; 

    num_mn = Num_mn; 

for(int i = 0 ; i < 20 ; i ++) //输出20行20列的棋盘界面

{ for(int j = 0 ;j < 20 ; j ++) qipan[i][j] = '.'; }

void getpointxy(); //白棋出子及计数

void getpointmn(); //黑棋出子及计数

void showqipan(); //实现20行20列正方形界面输出

void print(); //输出下一棋盘界面

bool IsxyWin(); //白棋获胜

bool IsmnWin(); //黑棋获胜

void menu();//显示开始菜单界面

};

2)白棋和黑棋落子情况的判断的实现,源代码如下:

void five::getpointxy() //判断白棋出子情况及对其计数

{      std::cout<<"请分别输入第"< std::cin >> y >> x;

if (!(1<=x&&x<=20&&1<=y&&y<=20))

{ std::cout << "输入错误,请重新输入:"<        getpointxy(); 

    } 

    else if(qipan[y-1][x-1] != '.' ) 

{ std::cout << "请所下的位置已经有棋子,请重新输入:" <        getpointxy(); 

    } 

else if(num_xy+num_mn >= 400)

{ std::cout << "棋盘已满,平局!" << endl;

        exit(0); 

    } 

    else 

    {   qipan[y-1][x-1] = 'O'; 

        num_xy++; 

    }

}  

void five::getpointmn() //判断黑棋出子情况及对其计数

{     std::cout<<"请分别输入第"< std::cin >> n >> m;

if (!(1<=m&&m<=20&&1<=n&&n<=20))

{ std::cout << "输入错误,请重新输入:"<        getpointmn(); 

    } 

    else if(qipan[n-1][m-1]!='.') 

{ std::cout << "请所下的位置已经有棋子,请重新输入:" <        getpointmn(); 

    } 

else if(num_xy+num_mn >= 400)

{ std::cout << "棋盘已满,平局!" << endl;

        exit(0); 

    } 

    else 

    {   qipan[n-1][m-1] = '*'; 

        num_mn++; 

    } 

}

3)菜单界面模块

void five::menu()//进入菜单界面

{    char *q=new char[9];

cin>>q;

    if(strcmp(q,"c"))

        five::showqipan();

}

4)输出模块

void five::showqipan() //输出20行20列的坐标数值

{     int p=0,q=0; 

for(int i = 0 ; i <= 20 ; i++)

{ if(p<10)

        {     std::cout << p <<' '; } 

        else 

            std::cout << p ; 

        p++; 

    } 

cout << endl;

for(i = 0 ; i < 20 ; i++)

{ if(i>=0)

        {  q++; 

            if(q<10) std::cout << q <<' '; 

            else  std::cout << q; 

        } 

        for(int j = 0 ; j < 20 ; j ++) std::cout << qipan[i][j]<<' ' ; 

        std::cout << endl; 

    } 

void five::print() 

{     int p=0,q=0; 

for(int i = 0 ; i <= 20 ; i++)

{ if(p<10)

        { std::cout << p <<' '; } 

        else std::cout << p ; 

        p++; 

    } 

std::cout << endl;

for(i = 0 ; i < 20 ; i++)

{ if(i>=0)

        { q++; 

            if(q<10) std::cout << q <<' '; 

            else  std::cout << q; 

        } 

        for(int j = 0 ; j < 20 ; j ++) 

        { std::cout << qipan[i][j]<<' ' ; } 

        std::cout << endl; 

    } 

}

5)黑白棋输赢的判断,其源代码如下:

bool five::IsxyWin()//白棋获胜实现函数

{     int num1=1,num2=1,num3=1,num4=1; 

for(int i = x ; i < x+5&& x+5<20 ; i ++)

    { if(qipan[y-1][i] != 'O') break; 

        if(qipan[y-1][i] == 'O') num1++; 

    } 

for(i = x-2; i >= 0 ; i --)

    { if(qipan[y-1][i] != 'O') break; 

      if(qipan[y-1][i] == 'O') num1++; 

    } 

for( i = y ; i < y+5 ; i ++)

    {     if(qipan[i][x-1] != 'O') break; 

        if(qipan[i][x-1] == 'O') num2++; 

    } 

for(i = y-2; i >= 0 ; i --)

    {   if(qipan[i][x-1] != 'O') break; 

        if(qipan[i][x-1] == 'O') num2++; 

    } 

for(i = 0 ; i < 5 && x+i<20 && y+i<20; i++ )

    {   if(qipan[y+i][x+i] != 'O') break; 

        if(qipan[y+i][x+i] =='O') num3++; 

    } 

for(i = 0 ; x - i -2>=0 && y-i-2>=0 && i < 5;i++ )

    {   if(qipan[y-i-2][x-i-2] != 'O') break; 

        if(qipan[y-i-2][x-i-2] == 'O') num3++; 

    } 

for(i = 0 ; x + i < 20 && y - i - 2 >= 0 && i < 5;i ++)

    {   if(qipan[y-i-2][x+i] != 'O') break; 

        if(qipan[y-i-2][x+i] == 'O') num4++; 

    } 

for(i = 0 ; y + i < 20 && x - i - 2 >= 0 && i < 5;i ++)

    {   if(qipan[y+i][x-i-2] != 'O') break; 

        if(qipan[y+i][x-i-2] == 'O') num4++; 

    } 

if(num1>=5||num2>=5||num3>=5||num4>=5)return 1;

    else  return 0; 

黑棋获胜情况与白棋类似

6)主函数模块

void main() 

{ std::cout<<"*************欢迎使用*^_^*`~******************"< std::cout<<"______________________________________________"< std::cout<<"|╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋|"< std::cout<<"|╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋|"< std::cout<<"|╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋|"< std::cout<<"|╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋|"< std::cout<<"|╋╋╋╋●╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋|"< std::cout<<"|╋╋╋╋╋╋○╋╋╋╋╋○╋╋╋╋╋╋╋╋╋|"< std::cout<<"|╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋|"< std::cout<<"|╋╋╋╋╋╋╋╋●╋╋╋╋╋╋╋╋╋╋╋╋╋|"< std::cout<<"|╋╋╋╋●╋╋╋╋╋●○╋╋╋╋╋╋╋╋╋╋|"< std::cout<<"|╋╋╋╋╋╋╋╋○○╋○╋╋╋╋╋╋╋╋╋╋|"< std::cout<<"|╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋|"< std::cout<<"|╋╋╋╋╋╋●╋╋╋╋●╋╋╋╋╋╋╋╋╋╋|"< std::cout<<"|╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋|"< std::cout<<"|╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋|"< std::cout<<"|╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋|"< std::cout<<"|╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋|"< std::cout<<"|╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋|"< std::cout<<"|---------------------------------------------"<    std::cout<<"进入按任意键";    

    five a; //定义一个类的对象

    int temp; 

    a.menu();

std::cout << "这是本游戏的棋盘,请按坐标输入棋子:" << endl;

    a.showqipan(); //通过对象调用功能函数

std::cout << "确认请按1,退出请按其他键:";

std::cin >> temp;

    if(temp !=1) //游戏开始及退出控制

        exit(1); 

    if(temp == 1) 

    {     std::cout << "游戏开始:" << endl; 

        for(int i = 0 ; ; i ++) 

        {   

            a.getpointxy(); 

            a.print();

            if(a.IsxyWin()) 

            { 

                std::cout << "白棋胜!" << endl; 

                break; 

            } 

            a.getpointmn(); 

            a.print();

            if(a.IsmnWin()) 

            { 

                std::cout << "黑棋胜!" << endl; 

                break; 

            }

        }

    }

    std::cout << "游戏结束\\n";     

}

(6)程序运行图示:

进入游戏界面

棋盘界面

通过输入横纵坐标完成落子

下在同一个地方的情况

获胜情况

5.总结

1)通过此次课程设计,让我产生对益智游戏编程的兴趣,尤其是当我真正把那程序运行出来时,那种兴奋劲,无法比拟。

2)在这次课设的过程中当然也让我学到了很多东西,让我学到了很多课外的相关C++高层次的东西,当然其中也复习到了C++知识,尤其是通过类的运用,更让我体会面向对象在编程的过程中的作用。

3 )由于能力所限,所以该五子棋个相关功能还比较少,代码还过于冗长,我相信接下去只要我继续努力,一定可以克服次问题。

参考文献

[1] 廉师友编著,C++面向对象程序设计简明教程,西安电子科技大学出版社,1998

[2] 李师贤等编著,面向对象程序设计基础,高等教育出版社,1998

[3] 谭浩强编著,C++程序设计,清华大学出版社,2004

附加源代码

#include

using namespace std;

class five 

{

    int x,y,m,n,num_xy,num_mn; 

    char qipan[20][20]; //定义20行20列的数组

public: 

five(int X = 0,int Y =0,int M = 0,int N = 0,int Num_xy = 0,int Num_mn = 0) //构造函数初始化

{    x = X; 

      y = Y; 

    m = M; 

    n = N; 

    num_xy = Num_xy; 

    num_mn = Num_mn; 

for(int i = 0 ; i < 20 ; i ++) //输出20行20列的棋盘界面

{ for(int j = 0 ;j < 20 ; j ++) qipan[i][j] = '.'; }

void getpointxy(); //白棋出子及计数

void getpointmn(); //黑棋出子及计数

void showqipan(); //实现20行20列正方形界面输出

void print(); //输出下一棋盘界面

bool IsxyWin(); //白棋获胜

bool IsmnWin(); //黑棋获胜

void menu();//显示开始菜单界面

}; 

void five::getpointxy() //判断白棋出子情况及对其计数

{      std::cout<<"请分别输入第"< std::cin >> y >> x;

if (!(1<=x&&x<=20&&1<=y&&y<=20))

{ std::cout << "输入错误,请重新输入:"<        getpointxy(); 

    } 

    else if(qipan[y-1][x-1] != '.' ) 

{ std::cout << "请所下的位置已经有棋子,请重新输入:" <        getpointxy(); 

    } 

else if(num_xy+num_mn >= 400)

{ std::cout << "棋盘已满,平局!" << endl;

        exit(0); 

    } 

    else 

    {   qipan[y-1][x-1] = 'O'; 

        num_xy++; 

    }

void five::getpointmn() //判断黑棋出子情况及对其计数

{     std::cout<<"请分别输入第"< std::cin >> n >> m;

if (!(1<=m&&m<=20&&1<=n&&n<=20))

{ std::cout << "输入错误,请重新输入:"<        getpointmn(); 

    } 

    else if(qipan[n-1][m-1]!='.') 

{ std::cout << "请所下的位置已经有棋子,请重新输入:" <        getpointmn(); 

    } 

else if(num_xy+num_mn >= 400)

{ std::cout << "棋盘已满,平局!" << endl;

        exit(0); 

    } 

    else 

    {   qipan[n-1][m-1] = '*'; 

        num_mn++; 

    } 

void five::menu()//进入菜单界面

{    char *q=new char[9];

cin>>q;

    if(strcmp(q,"c"))

        five::showqipan();

}

void five::showqipan() //输出20行20列的坐标数值

{     int p=0,q=0; 

for(int i = 0 ; i <= 20 ; i++)

{ if(p<10)

        {     std::cout << p <<' '; } 

        else 

            std::cout << p ; 

        p++; 

    } 

cout << endl;

for(i = 0 ; i < 20 ; i++)

{ if(i>=0)

        {  q++; 

            if(q<10) std::cout << q <<' '; 

            else  std::cout << q; 

        } 

        for(int j = 0 ; j < 20 ; j ++) std::cout << qipan[i][j]<<' ' ; 

        std::cout << endl; 

    } 

void five::print() 

{     int p=0,q=0; 

for(int i = 0 ; i <= 20 ; i++)

{ if(p<10)

        { std::cout << p <<' '; } 

        else std::cout << p ; 

        p++; 

    } 

std::cout << endl;

for(i = 0 ; i < 20 ; i++)

{ if(i>=0)

        { q++; 

            if(q<10) std::cout << q <<' '; 

            else  std::cout << q; 

        } 

        for(int j = 0 ; j < 20 ; j ++) 

        { std::cout << qipan[i][j]<<' ' ; } 

        std::cout << endl; 

    } 

bool five::IsxyWin()//白棋获胜实现函数

{     int num1=1,num2=1,num3=1,num4=1; 

for(int i = x ; i < x+5&& x+5<20 ; i ++)

    { if(qipan[y-1][i] != 'O') break; 

        if(qipan[y-1][i] == 'O') num1++; 

    } 

for(i = x-2; i >= 0 ; i --)

    { if(qipan[y-1][i] != 'O') break; 

      if(qipan[y-1][i] == 'O') num1++; 

    } 

for( i = y ; i < y+5 ; i ++)

    {     if(qipan[i][x-1] != 'O') break; 

        if(qipan[i][x-1] == 'O') num2++; 

    } 

for(i = y-2; i >= 0 ; i --)

    {   if(qipan[i][x-1] != 'O') break; 

        if(qipan[i][x-1] == 'O') num2++; 

    } 

for(i = 0 ; i < 5 && x+i<20 && y+i<20; i++ )

    {   if(qipan[y+i][x+i] != 'O') break; 

        if(qipan[y+i][x+i] =='O') num3++; 

    } 

for(i = 0 ; x - i -2>=0 && y-i-2>=0 && i < 5;i++ )

    {   if(qipan[y-i-2][x-i-2] != 'O') break; 

        if(qipan[y-i-2][x-i-2] == 'O') num3++; 

    } 

for(i = 0 ; x + i < 20 && y - i - 2 >= 0 && i < 5;i ++)

    {   if(qipan[y-i-2][x+i] != 'O') break; 

        if(qipan[y-i-2][x+i] == 'O') num4++; 

    } 

for(i = 0 ; y + i < 20 && x - i - 2 >= 0 && i < 5;i ++)

    {   if(qipan[y+i][x-i-2] != 'O') break; 

        if(qipan[y+i][x-i-2] == 'O') num4++; 

    } 

if(num1>=5||num2>=5||num3>=5||num4>=5) return 1;

    else  return 0; 

bool five::IsmnWin() //黑棋获胜实现函数

{     int num1=1,num2=1,num3=1,num4=1; 

for(int i = m ; i < m+5&& m+5<20 ; i ++)

    {   if(qipan[n-1][i] != '*') break; 

        if(qipan[n-1][i] == '*') num1++; 

    } 

for(i = m-2; i >= 0 ; i --)

    {   if(qipan[n-1][i] != '*') break; 

        if(qipan[n-1][i] == '*') num1++; 

    } 

for( i = n ; i < n+5 ; i ++)

    {   if(qipan[i][m-1] != '*') break; 

        if(qipan[i][m-1] == '*') num2++; 

    } 

for(i = n-2; i >= 0 ; i --)

    {   if(qipan[i][m-1] != '*') break; 

        if(qipan[i][m-1] == '*') num2++; 

    } 

for(i = 0 ; i < 5 && m+i<20 && n+i<20; i++ )

    {   if(qipan[n+i][m+i] != '*') break; 

        if(qipan[n+i][m+i] =='*') num3++; 

    } 

for(i = 0 ; m - i -2>=0 && n-i-2>=0 && i < 5;i++ )

    {   if(qipan[n-i-2][m-i-2] != '*') break; 

        if(qipan[n-i-2][m-i-2] == '*') num3++; 

    } 

for(i = 0 ; m + i < 20 && n - i - 2 >= 0 && i < 5;i ++)

    {   if(qipan[n-i-2][m+i] != '*') break; 

        if(qipan[n-i-2][m+i] == '*') num4++; 

    } 

for(i = 0 ; n + i < 20 && m - i - 2 >= 0 && i < 5;i ++)

    {   if(qipan[n+i][m-i-2] != '*') break; 

        if(qipan[n+i][m-i-2] == '*') num4++; 

    } 

if(num1>=5||num2>=5||num3>=5||num4>=5) return 1;

    else  return 0; 

void main() 

{ std::cout<<"*************欢迎使用*^_^*`~******************"< std::cout<<"______________________________________________"< std::cout<<"|╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋|"< std::cout<<"|╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋|"< std::cout<<"|╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋|"< std::cout<<"|╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋|"< std::cout<<"|╋╋╋╋●╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋|"< std::cout<<"|╋╋╋╋╋╋○╋╋╋╋╋○╋╋╋╋╋╋╋╋╋|"< std::cout<<"|╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋|"< std::cout<<"|╋╋╋╋╋╋╋╋●╋╋╋╋╋╋╋╋╋╋╋╋╋|"< std::cout<<"|╋╋╋╋●╋╋╋╋╋●○╋╋╋╋╋╋╋╋╋╋|"< std::cout<<"|╋╋╋╋╋╋╋╋○○╋○╋╋╋╋╋╋╋╋╋╋|"< std::cout<<"|╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋|"< std::cout<<"|╋╋╋╋╋╋●╋╋╋╋●╋╋╋╋╋╋╋╋╋╋|"< std::cout<<"|╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋|"< std::cout<<"|╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋|"< std::cout<<"|╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋|"< std::cout<<"|╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋|"< std::cout<<"|╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋|"< std::cout<<"|---------------------------------------------"<    std::cout<<"进入按任意键";    

    five a; //定义一个类的对象

    int temp; 

    a.menu();

std::cout << "这是本游戏的棋盘,请按坐标输入棋子:" << endl;

    a.showqipan(); //通过对象调用功能函数

std::cout << "确认请按1,退出请按其他键:";

std::cin >> temp;

    if(temp !=1) //游戏开始及退出控制

        exit(1); 

    if(temp == 1) 

    {     std::cout << "游戏开始:" << endl; 

        for(int i = 0 ; ; i ++) 

        {   

            a.getpointxy(); 

            a.print();

            if(a.IsxyWin()) 

            { 

                std::cout << "白棋胜!" << endl; 

                break; 

            } 

            a.getpointmn(); 

            a.print();

            if(a.IsmnWin()) 

            { 

                std::cout << "黑棋胜!" << endl; 

                break; 

            }

        }

    }

    std::cout << "游戏结束\\n";     

}

文档

c++五子棋课程设计报告

福建农林大学计算机与信息学院课程设计报告课程名称:面向对象程序设计课程设计课程设计题目:五子棋姓名:系:计算机专业:软件工程年级:学号:指导教师:职称:年月日福建农林大学计算机与信息学院计算机类课程设计报告结果评定评语:评分项目分值得分课程设计报告符合规范10分类图、用例图、系统框图合理30分主要技术线路正确30分设计报告条理清晰、重点突出20分有一定创新性、难易程度10分成绩:指导教师签字:任务下达日期:12月6日评定日期:4.4⑷类的介绍..........................
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top