news 2026/5/5 13:39:24

游戏三子棋

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
游戏三子棋

game.h 文件
#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);
game.c 文件
#include "game.h"
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

// 初始化棋盘
void InitBoard(char board[ROW][COL], int row, int col)
{
int i = 0;
int j = 0;
for (i = 0; i < row; i++)
{
for (j = 0; j < col; j++)
{
board[i][j] = ' ';
}
}
}

// 玩家下棋
void PlayerMove(char board[ROW][COL], int row, int col)
{
int x = 0;
int y = 0;
printf("玩家下棋:>\n");
printf("请输入坐标:>\n");
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");
int x = 0;
int y = 0;
// 生成随机坐标
x = rand() % row;
y = rand() % col;
if (board[x][y] == ' ')
{
board[x][y] = '#';
break;
}
}
test.c 文件
#include <stdio.h>
#include "game.h"
#include <stdlib.h>
#include <time.h>

// 打印菜单
void menu()
{
printf("***********************\n");
printf("******* 1. Play *******\n");
printf("******* 0. Exit *******\n");
printf("***********************\n");
}

// 游戏逻辑
void game()
{
char board[3][3] = {0};
// 初始化棋盘
InitBoard(board, 3, 3);
}

int main()
{
int input = 0;
do
{
menu(); // 打印菜单
printf("请选择:>\n");
scanf("%d", &input);
switch (input)
{
case 1:
printf("三子棋\n"); // 替换为game()
break;
case 0:
printf("退出游戏\n");
break;
default:
printf("选择错误!\n");
break;
}
} while (input);
return 0;

}

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 0:44:14

Wan2.2-T2V-A14B实现蚕丝织造工艺全流程展示

Wan2.2-T2V-A14B 实现蚕丝织造工艺全流程展示 你有没有想过&#xff0c;一段文字能“长”出一部纪录片&#xff1f; 不是靠剪辑、不是靠动画师一帧帧手绘&#xff0c;而是——输入一句话&#xff0c;AI 自动给你生成丝线在织机上穿梭、蚕茧在热水中缓缓溶解的高清画面。听起来像…

作者头像 李华
网站建设 2026/5/3 0:42:17

交通网络仿真软件:TransModeler_(1).TransModeler软件概述

TransModeler软件概述 1. TransModeler简介 TransModeler是一款强大的交通网络仿真软件&#xff0c;广泛应用于交通规划、设计和管理等领域。它能够模拟各种交通网络和交通流情况&#xff0c;帮助用户评估和优化交通系统的性能。TransModeler的主要功能包括交通网络建模、交通流…

作者头像 李华
网站建设 2026/5/4 10:58:00

5个必学的Conda命令实战案例

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个Jupyter Notebook教程&#xff0c;包含5个Conda命令的实战案例&#xff1a;1. 创建和管理Python虚拟环境&#xff1b;2. 安装特定版本的Python包&#xff1b;3. 导出和共享…

作者头像 李华
网站建设 2026/5/2 15:49:25

F2批量重命名工具终极指南:告别杂乱文件名的7个实战技巧

F2批量重命名工具终极指南&#xff1a;告别杂乱文件名的7个实战技巧 【免费下载链接】f2 F2 is a cross-platform command-line tool for batch renaming files and directories quickly and safely. Written in Go! 项目地址: https://gitcode.com/gh_mirrors/f21/f2 还…

作者头像 李华
网站建设 2026/5/1 0:44:26

5、高级网络分析工具:Wireshark 与 Ettercap 的进阶应用

高级网络分析工具:Wireshark 与 Ettercap 的进阶应用 1. 超越简单捕获的高级 Wireshark 应用 假设你已经对 Wireshark(曾用名 Ethereal)有了一定的使用经验。即使你刚接触渗透测试,在实验环境中也很难避开 Wireshark。如果你对这个出色的数据包分析工具还不熟悉,那你应该…

作者头像 李华
网站建设 2026/5/2 8:09:20

AZ-500云安全架构设计(从Agent部署到实时威胁检测)

第一章&#xff1a;MCP AZ-500 的云 Agent 安全防护在现代云安全架构中&#xff0c;Azure 的 MCP AZ-500 认证所涵盖的云 Agent 安全机制是保障虚拟机工作负载完整性的核心组件。云 Agent 作为运行在 Azure 虚拟机内部的轻量级代理程序&#xff0c;负责与 Azure 控制平面通信&a…

作者头像 李华