如何使用C语言代码实现简单三子棋游戏

  • 时间:
  • 浏览:39
  • 来源:恰卡网

导读这篇文章主要介绍如何使用C语言代码实现简单三子棋游戏,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 编译软件VS2019 c语言实现三子棋运用到了二维数组的知...

这篇文章主要介绍如何使用C语言代码实现简单三子棋游戏,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

编译软件VS2019

c语言实现三子棋运用到了二维数组的知识,在编写三子棋程序时用到了多文件编译(不是必须的,但是使用多文件编译会增加代码的可读性),首先我们先建立一个头文件和两个源文件·:

test.c//主程序函数实现
game.c//主要用于自定义函数的定义
game.h//声明自定义函数

主要代码实现

test.c

调用各个功能的函数

#define_CRT_SECURE_NO_WARNINGS1
#include//#include<>:编译器直接从系统类库目录里查找头文件:
#include"game.h"//#include"":默认从项目当前目录查找头文件,所谓项目当前目录,就是项目工程文件所在的目录
voidmenu(){
printf("*********************************\n");
printf("*************1.play**********\n");
printf("*************0.exit**********\n");
printf("*********************************\n");
}
voidgame(){
//三子棋过程
charboard[row][col];//棋盘数组
//初始化棋盘--board的元素都给成空格
InitBoard(board,row,col);

//打印棋盘
DisplayBoard(board,row,col);

//下棋
charret=0;
while(1){
PlayMove(board,row,col);
DisplayBoard(board,row,col);
//判断输赢
ret=IsWin(board,row,col);
if(ret!='C'){
break;
}

ComputerMove(board,row,col);
DisplayBoard(board,row,col);
ret=IsWin(board,row,col);
if(ret!='C'){
break;
}
}
if(ret=='*')
printf("玩家赢\n");
elseif(ret=='#')
printf("电脑赢\n");
else
printf("和局\n");
DisplayBoard(board,row,col);
}
intmain(){
intinput=0;
srand((unsignedint)time(NULL));
do{
menu();
printf("请选择>");
scanf("%d",&input);
switch(input)
{
case1:
game();
break;
case0:
printf("退出游戏\n");
break;
default:
printf("选择错误\n");
break;
}

}while(input);
return0;
}

game.c

主程序当中的自定义函数的定义

#define_CRT_SECURE_NO_WARNINGS
#include"game.h"

voidInitBoard(charboard[row][col],intROW,intCOL){
for(inti=0;i\n");

intx=0;
inty=0;

while(1){
printf("请输入坐标:>");
scanf("%d%d",&x,&y);
if(x>=1&&x<=ROW&&y>=1&&y<=COL){
if(board[x-1][y-1]==''){
board[x-1][y-1]='*';
break;
}
else{
printf("坐标被占用,请重新输入\n");
}

}
else
printf("坐标非法,超出范围\n");
}

}

voidComputerMove(charboard[row][col],intROW,intCOL){
intx=0;
inty=0;
printf("电脑走:>\n");
while(1){
x=rand()%ROW;
y=rand()%COL;
if(board[x][y]==''){
board[x][y]='#';
break;
}
}
}

//判断棋盘是否已满
intfull(charboard[row][col],intROW,intCOL){
inti=0;
intj=0;
for(i=0;i

game.h

用于声明自定义函数

#pragmaonce

#include
#include
#include

#definerow3
#definecol3

//初始化棋盘
voidInitBoard(charboard[row][col],intROW,intCOL);

//打印棋盘
voidDisplayBoard(charboard[row][col],intROW,intCOL);

//玩家下棋
voidPlayMove(charboard[row][col],intROW,intCOL);

//电脑下棋
voidComputerMove(charboard[row][col],intROW,intCOL);

//判断输赢
//要返回四种不同的状态
//玩家赢-返回“*”,电脑赢返回“#”,和局返回“Q”
//继续游戏返回'C'

charIsWin(charboard[row][col],intROW,intCOL);

//判断棋盘是否已满
intfull(charboard[row][col],intROW,intCOL);

以上是“如何使用C语言代码实现简单三子棋游戏”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注恰卡网行业资讯频道!

猜你喜欢

30个上古神话传说(有哪些神话故事)

有哪些神话故事(30个上古神话传说) 神话传说和民间传说,是一个民族和国家的宝贵精神财富,有多少是你没有听说过的,又或是耳熟能详的? 1.盘古开天 传说太古时候,天地不分,整个宇

2021-08-05

布达拉宫简介(布达拉宫资料大全)

布达拉宫资料大全(布达拉宫简介) 布达拉宫坐落于西藏拉萨中心的红山之上,海拔3700余米,建筑总面积13万余平方米,主楼高115.703米,共13层,是西藏地区现存规模最大,样式最全,保存最

2021-08-05

小额投资理财项目有哪些?(小额投资理财有哪几种)

小额投资理财有哪几种?(小额投资理财项目有哪些?) 投资成为了人们比较热衷的事情,普通人也都参与进来,但是普通的人投资跟真正的投资人投资又是有很大的区别的。对于普通人而言

2021-08-05

世界上最美十座桥梁都有哪些?(世界十大最美大桥排行榜)

世界十大最美大桥排行榜(世界上最美十座桥梁都有哪些?) 桥梁是人类所建造的最古老、最壮观、最美丽的建筑工程之一。历史上著名的桥梁,都以鲜明的形象、强烈的艺术感染力,反映了

2021-08-05