欢迎光临散文网 会员登陆 & 注册

五子棋ai一版(自制)源代码

2022-11-26 10:56 作者:一个热爱编程的小白  | 我要投稿

#include<iostream> //导入输入输出库

#include<stdlib.h> //导入系统库

#include<time.h> // 导入时间库

using namespace std; //命名空间


int jf(){ //定义函数玩家先下

cout<<"请开始游戏,输入坐标:x空格y"<<endl;

int qp[15][15];

for(int i = 0;i<15;i++){

for(int j=0;j<15;j++){

qp[i][j]=-1;

}

}//棋盘初始化

int a,b,a1,b1;

while(1){ //开始下棋

cin>>a>>b; //输入坐标

a--;

b--;

if(a<0 || a>14 || b<0||b>14){

cout<<"参数错误:您已超出棋盘范围请查阅后再输入:"<<endl;

}

else if(qp[a][b]==0 || qp[a][b] == 1){

cout<<"参数错误:该位置已有棋子"<<endl;

} //判断用户是否违规操作

else{

qp[a][b]=1;

for(int i = 0;i<15;i++){

for(int j = 0;j<15;j++){

if(qp[i][j]==-1){

cout<<".";

}

else if(qp[i][j]==0){

cout<<"x";

}

else {

cout<<"o";

}

}

cout<<endl;

}

a1=rand() % 15+1;

b1=rand() % 15+1;

a1=a1-1;

b1=b1-1;

while(qp[a1-1][b1-1] ==1 && qp[a1-1][b1-1] == 0){

a1=rand() % 15+1;

b1=rand() %15+1;

}//计算位置

qp[a1][b1]=0;

system("pause"); 

system("cls");

for(int i = 0;i<15;i++){

for(int j = 0;j<15;j++){

if(qp[i][j]==-1){

cout<<".";

}

else if(qp[i][j]==0){

cout<<"x";

}

else {

cout<<"o";

}

}

cout<<endl;

}//计算机输出坐标和棋盘

cout<<a1<<" "<<b1<<endl;

a1--;

b1--;


}

}

return 0;

}

int wjf(){// 定义函数计算机先

cout<<"请开始游戏,输入坐标:x空格y"<<endl;

int fc1,fc2;

int qp[15][15];

for(int i = 0;i<15;i++){

for(int j=0;j<15;j++){

qp[i][j]=-1;

}

}//初始化棋盘

int a,b,a1,b1;

a1=rand() % 15+1;

b1=rand() % 15+1;

while(qp[a1-1][b1-1] ==1 && qp[a1-1][b1-1] == 0){

a1=rand() % 15+1;

b1=rand() %15+1;

}//随机位置

a1=a1-1;

b1=b1-1;

qp[a1][b1]=0;

system("pause"); 

system("cls");

for(int i = 0;i<15;i++){

for(int j = 0;j<15;j++){

if(qp[i][j]==-1){

cout<<".";

}

else if(qp[i][j]==0){

cout<<"x";

}

else {

cout<<"o";

}

}

cout<<endl;

}//输出棋盘

cout<<a1+1<<" "<<b1+1<<endl;

while(1){

cin>>a>>b;

a=a-1;

b=b-1;

if(a<0 || a>14 || b<0 || b>14){

cout<<"参数错误:您已超出棋盘范围请查阅后再输入:"<<endl;

}

else if(qp[a][b]==0 || qp[a][b] == 1){

cout<<"参数错误:该位置已有棋子请查阅后再输入:"<<endl;

} //判断用户是否违规操作

else{

qp[a][b]=1;

for(int i = 0;i<15;i++){

for(int j = 0;j<15;j++){

if(qp[i][j]==-1){

cout<<".";

}

else if(qp[i][j]==0){

cout<<"x";

}

else {

cout<<"o";

}

}

cout<<endl;

}//输出棋盘

a1=rand() % 15+1;

b1=rand() % 15+1;

a1=a1-1;

b1=b1-1;

while(qp[a1-1][b1-1] ==1 || qp[a1-1][b1-1] == 0){

a1=rand() % 15+1;

b1=rand() %15+1;

}//随机位置

a1=a1-1;

b1=b1-1;

fc1=a1+1;

fc2=b1+1;

qp[a1][b1]=0;

system("pause"); 

system("cls");

for(int i = 0;i<15;i++){

for(int j = 0;j<15;j++){

if(qp[i][j]==-1){

cout<<".";

}

else if(qp[i][j]==0){

cout<<"x";

}

else {

cout<<"o";

}

}

cout<<endl;

}//输出棋盘

cout<<fc1<<" "<<fc2<<endl;

}

}

return 0;

}

int main(){

srand((unsigned int)time(NULL));

system("title 五子棋ai");

int a0;

cout<<"玩家先:输入1。计算机先:输入2"<<endl;//让用户选择模式

cin>>a0;

if(a0 == 1){

jf();

}

else{

wjf();

}




return 0;

}


五子棋ai一版(自制)源代码的评论 (共 条)

分享到微博请遵守国家法律