如何用C语言数组实现三子棋
发表于:2025-01-29 作者:千家信息网编辑
千家信息网最后更新 2025年01月29日,本文小编为大家详细介绍"如何用C语言数组实现三子棋",内容详细,步骤清晰,细节处理妥当,希望这篇"如何用C语言数组实现三子棋"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。三
千家信息网最后更新 2025年01月29日如何用C语言数组实现三子棋
本文小编为大家详细介绍"如何用C语言数组实现三子棋",内容详细,步骤清晰,细节处理妥当,希望这篇"如何用C语言数组实现三子棋"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
三子棋:(拆分部分如下)
test.c 测试游戏逻辑
game.h关于游戏相关的函数声明,符号声明 头文件的包含
game.c游戏相关函数的实现
游戏进行的过程:(4种)
1.玩家获胜--*(游戏结束)
2.电脑获胜--#(游戏结束)
3.平局--Q(游戏结束)
4.游戏继续--C
IsWin函数 用来判断游戏的状态
game.c
#include"game.h"#include//初始化棋盘的函数 void InitBoard(char board[ROW][COL],int row,int col){ int i=0; int j=0; for(i=0;i \n"); 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"); } }} void ComputerMove(char board[ROW][COL],int row,int col){ printf("电脑走:>\n"); while(1) { int x=rand()%row; int y=rand()%col; //判断占用 if(board[x][y]==' ') { board[x][y]='#'; break; }}IsFull(char board[ROW][COL],int row,int col){ int i=0; int j=0; for(i=0;i
|
game.h
//头文件的包含 #include#include #include //符号的定义 #define ROW 3#define COL 3 //函数的声明//初始化棋盘 void InitBoard(char board[ROW][COL],int row,int col); //打印棋盘void DisplayBoard(char board[ROW][COL],int row,int col); //玩家下棋 void PlayerMove(char board[ROW][COL],int row,int col); //电脑下棋void ComputerMove(char board[ROW][COL],int row,int col); //判断游戏是否出现输赢 char IsWin(char board[ROW][COL],int row,int col); test.c
#include"game.h"//引用头文件 void menu(){ printf("*************************\n"); printf("***** 1.play ******\n"); printf("***** 0.exit ******\n"); printf("*************************\n");}void game(){ //存储数据,二维数组 char board[ROW][COL]; //初始化棋盘,初始化空格 InitBoard(board,ROW,COL); //打印棋盘--本质为打印数组内容 DisplayBoard(board,ROW,COL); char ret=0;//接受游戏状态 while(1) { //玩家下棋 PlayerMove(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"); } else if(ret=='#') { printf("电脑获胜\n"); } else { printf("平局\n"); } DisplayBoard(board,ROW,COL); }int main(){ int input=0; srand((unsigned int)time(NULL)); do { menu(); printf("请选择:>"); scanf("%d",&input); switch(input) { case 1: printf("三子棋游戏\n"); break; case 0: printf("退出游戏\n"); break; default: printf("选择错误,重新选择\n"); break; } }while(input); }部分游戏界面,如上图所示
读到这里,这篇"如何用C语言数组实现三子棋"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。
棋盘
三子
数组
函数
玩家
电脑
语言
内容
平局
文件
文章
选择
坐标
状态
符号
部分
合法
妥当
上图
合法性
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软软件开发稳定性等评定
合肥牛牛软件开发
新加坡服务器购买
软件开发合同终止协议模板
网易我的世界如何下载服务器
和平精英服务器分析
杭州全闪块分布式存储数据库
安卓软件开发注册方法
肥西新华互联网科技大学
服务器可以安装安全狗吗
自然连接数据库的例子
计算机网络安全就业待遇
湖北软件开发排行榜
spyder引入数据库
怀柔区好的软件开发
软件开发交接文档模板下载
计算机网络技术要学几年
小学生校园网络安全教育
数据库怎么保存一棵树
嵌入式软件开发职业等级
融合网络安全
厦门数据库
fifa22服务器水平
dell二手服务器
win10 远程连接服务器
网络安全感基础
数据库连接运算的运算定律
朝阳区品质软件开发范围
网络安全的4k绘画二年级
手机软件开发难吗