news 2026/5/27 11:12: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/26 3:30:45

Restormer 去雨(Deraining)任务代码运行全流程

本文将系统梳理基于 Restormer 模型实现图像去雨&#xff08;Deraining&#xff09;任务的完整流程&#xff0c;涵盖代码执行逻辑、核心文件架构及关键操作步骤&#xff0c;为实验的理解与复现提供清晰指引。若需获取适配新版环境的 Restormer 配置教程&#xff08;含避坑要点&…

作者头像 李华
网站建设 2026/5/27 6:22:22

鸿蒙 Flutter 安全组件开发:加密输入框与脱敏展示组件

一、引言 在鸿蒙&#xff08;HarmonyOS&#xff09;应用开发中&#xff0c;用户敏感信息&#xff08;如密码、手机号、身份证号&#xff09;的安全防护是核心需求之一。基于 Flutter 跨平台框架开发鸿蒙应用时&#xff0c;原生组件往往无法直接满足 “输入加密” 和 “展示脱敏…

作者头像 李华
网站建设 2026/5/24 9:50:09

Cameralink采集软件-Espeedgrab软件应用【2.存储图片和视频】

应对苛刻环境&#xff0c;-40&#xff5e;75度&#xff0c;10kv静电防护&#xff0c;工业级品质&#xff0c;便携式&#xff0c;嵌入式cameralink采集卡&#xff0c;操作软件Espeedgrab使用方法。类比iport cl-u3的软件ebus player&#xff0c;ESpeedGrab软件&#xff0c;更有…

作者头像 李华
网站建设 2026/5/24 23:55:22

JUCE音频开发框架:终极跨平台音频应用构建指南

JUCE音频开发框架&#xff1a;终极跨平台音频应用构建指南 【免费下载链接】JUCE 项目地址: https://gitcode.com/gh_mirrors/juce/JUCE JUCE音频开发框架是一个功能强大的跨平台音频应用开发工具&#xff0c;专为音乐制作人、音频工程师和开发者设计。这个开源项目提供…

作者头像 李华
网站建设 2026/5/27 3:09:02

冥想第一千七百二十九天(1729)

1.周三了&#xff0c;天气很好&#xff0c;补日记&#xff0c;右胳膊可能因为拉单杠的原因&#xff0c;做推拉门动作的时候会疼&#xff0c;下班后带着溪溪游泳也疼&#xff0c;但是刚好可以左侧换气&#xff0c;左侧换气也进步了。就是泳池的水稍微有点冷。 2.感谢父母&#x…

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

日语教程资源合集

【日语教程】安宁老师的日语课 文件大小: 40.7GB内容特色: 安宁老师系统精讲&#xff0c;40GB视频讲义&#xff0c;零到N1全覆盖适用人群: 日语零基础、考级冲刺、留学/职场需求者核心价值: 标准发音真题解析高频词汇&#xff0c;高效通关JLPT下载链接: https://pan.quark.cn/…

作者头像 李华