当前位置: 首页 > news >正文

三子棋游戏(函数)

1.文件结构

- test.c :测试游戏逻辑
- game.c :游戏代码的实现
- game.h :游戏代码的声明(函数声明、符号定义)

test.c 代码内容

#include <stdio.h>
#include "game.h"

// 菜单函数
void menu()
{
printf("*************************\n");
printf("****** 1. play 0. exit ******\n");
printf("*************************\n");
}

void game()
{
char board[3][3] = {0}; // 初始化棋盘的函数
Init_Board(board, 3, 3);
}

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



2. 函数代码片段

void PlayerMove(char board[ROW][COL], int row, int col)
{

}

bubble_sort(arr); // 冒泡排序的算法,对数组进行排序
int i=0;
for (i=0; i<sz; i++)
{
printf("%d", arr[i]);
}
return 0;
}


3. 数组名相关笔记

数组名:
数组名确实能表示首元素的地址,但有2个例外:
① sizeof(数组名) :这里的数组名表示整个数组,计算的是整个数组的大小,单位是字节。
② &数组名 :这里的数组名表示整个数组,取出的是整个数组的地址。

// 二维数组的数组名也表示数组首元素的地址(首行所有的元素)

sizeof(arr) / sizeof(arr[0]) // 计算 行数 大小
sizeof(arr[0]) / sizeof(arr[0][0]) // 计算 列数 大小

4. 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);


http://www.cnnetsun.cn/news/9812.html

相关文章:

  • B站视频下载终极指南:免费工具DownKyi完整使用教程
  • 搞懂“元数据”:给数据办一张“身份证”
  • 04_C 语言进阶之避坑指南:多重 if-else 及多重条件混乱 —— 让逻辑不再 “绕迷宫”
  • 量子计算开发者必看(VSCode性能调优实战手册)
  • Android嵌套滑动冲突完全解析:从原理到实战解决方案
  • ASTM D4169-DC13 标准,包装完整性
  • Linux新手必学:tail命令图解指南
  • 19、利用Scapy和Python进行网络数据包处理与扫描
  • 性能测试里MySQL的锁
  • OBS教程:OBS实时字幕插件如何下载?直播字幕翻译怎么弄?
  • MagicTime: Time-Lapse Video Generation Models asMetamorphic Simulators论文精读(1)
  • Laravel 13多模态表单处理:从入门到精通的6大实战场景,错过等于失业
  • 读捍卫隐私03同步
  • [Android] B站第三方电视TVapp BV_0.3.10
  • 【time-rs】 time-core crate 的 Cargo.toml 配置文件详解
  • 政府网站与政务新媒体考核指标有什么区别
  • FLUX.1 Kontext终极指南:重新定义AI图像编辑的边界
  • Java新手必看:System类为什么会出现安全警告?
  • 基于springboot的大学生实习就业管理系统
  • AXI-A7.4.1 Overview
  • V型翅片与六边形蜂窝翅片的散热性能差异
  • 以太网温湿度传感器五重告警方式如何协同工作?
  • COMSOL介电金属多层膜结构宽谱吸收器:文献复现与吸收特性研究
  • 【必看收藏】LangChain生态实战:LangGraph+LangSmith构建可追踪AI智能体全流程解析
  • 使用DeepSeek开发第一个RAG
  • Jetson Secure Boot 完整实战指南:从 Fuse Key → Boot Chain → 验签代码路径的源码级解析
  • 【LeetCode30_滑动窗口 + 哈希表】:三招搞定“串联所有单词的子串”
  • 以全栈AI能力重塑智能客服服务效能
  • 如何在PHP项目中嵌入Rust代码?5步实现毫秒级响应的高性能服务集成
  • 英伟达推出云端算力集群监管工具,自证GPU无后门