//偷懒非常严重,只写了大概还可以细化的都被减懒了,使用类进行各种操作,接着优化小细节,贴上main!下载地址:http://download.csdn.net/detail/goodai007/3551660
#include<iostream>
#include<string>
#include<Windows.h>
#include"main.h"
#include"table.h"
#include"chink.h"
#include"move.h"
#include"public-all.h"
using namespace std;
int main()
{
//程序开始
cout<<"------------命令行贪吃蛇------------"<<endl<<endl<<endl;
//创建与显示桌子
Table table1;
ChinkCin chinkcin1;
Movexy move1;
while(flag==0)
{
//输入坐标
cout<<"红先黑后!红方标示为“o”黑方标示为“*”,输入“99”直接退出,请输入红方落棋坐标!"<<endl;
cout<<"请输入X坐标:";
cin>>xi;
//查看是不是要直接退出
if(xi==99 || yi==99)
break;
cout<<"请输入Y坐标:";
cin>>yi;
//查看是不是要直接退出
if(xi==99 || yi==99)
break;
//审查坐标输入是不是数值
if(!cin>>xi)
{
cout<<endl<<"X坐标必需是数值,请重新输入!"<<endl;
//进行清空流,好让下次输入正常
cin.clear();
cin.ignore();
continue;
}
if(!cin>>yi)
{
cout<<"Y坐标必需是数值,请重新输入!"<<endl;
//进行清空流,好让下次输入正常
cin.clear();
cin.ignore();
continue;
}
//进行清空流,好让下次输入正常
cin.clear();
cin.ignore();
//审查坐标输入
if(!chinkcin1.Chinkxy(xi,yi))
continue;
//查看坐标是否已经有棋
if(!table1.TableChink(xi,yi))
continue;
//在坐标上增加棋子
if(!move1.Movexyd(xi,yi,g))
continue;
table1.ShowTable();
//查看是不是赢了
flag = chinkcin1.ChinkWin();
if(flag==1 || flag==9)
{
break;
}else
{
//输入坐标
heifang:cout<<"红先黑后!红方标示为“o”黑方标示为“*”,输入“99”直接退出,请输入红方落棋坐标!"<<endl;
cout<<"请输入X坐标:";
cin>>xi2;
//查看是不是要直接退出
if(xi2==99 || yi2==99)
break;
cout<<"请输入Y坐标:";
cin>>yi2;
//查看是不是要直接退出
if(xi2==99 || yi2==99)
break;
//审查坐标输入是不是数值
if(!cin>>xi2)
{
cout<<endl<<"X坐标必需是数值,请重新输入!"<<endl;
//进行清空流,好让下次输入正常
cin.clear();
cin.ignore();
goto heifang;
}
if(!cin>>yi2)
{
cout<<"Y坐标必需是数值,请重新输入!"<<endl;
//进行清空流,好让下次输入正常
cin.clear();
cin.ignore();
goto heifang;
}
//进行清空流,好让下次输入正常
cin.clear();
cin.ignore();
//审查坐标输入
if(!chinkcin1.Chinkxy(xi2,yi2))
goto heifang;
//查看坐标是否已经有棋
if(!table1.TableChink(xi2,yi2))
goto heifang;
//在坐标上增加棋子
if(!move1.Movexyd(xi2,yi2,k))
goto heifang;
table1.ShowTable();
//查看是不是赢了
flag = chinkcin1.ChinkWin();
}
}
if(flag==1)
{
cout<<"红方赢标示”o“!"<<endl;
}else if(flag==9)
{
cout<<"黑方赢标示为”*“!"<<endl;
}else if(xi==99||yi==99||xi2==99||yi2==99)
{
cout<<"已经退出程序!"<<endl;
}
system("pause");
return 0;
}
使用一天时间原创的练手C/C++命令行版五子棋!
最新推荐文章于 2022-05-02 21:10:41 发布