C语言做的井字棋小游戏

井字棋(Tic-Tac-Toe)游戏

功能介绍

本项目是一个用C语言实现的简易井字棋游戏,支持人机对战。主要功能如下:

  • 使用二维数组实现3x3棋盘。
  • 玩家与AI轮流落子,玩家使用"X",AI使用"O"。
  • AI采用随机算法进行落子。
  • 每次落子后自动判断胜负或平局。
  • 支持输入检测,防止无效落子。
  • 游戏结束后提示胜负或平局。

创作过程

  1. 棋盘设计 :采用char board[3][3]二维数组存储棋盘状态,初始为空格。
  2. 初始化与打印 :实现init_board函数初始化棋盘,print_board函数美观打印当前棋盘。
  3. 玩家落子 :通过player_move函数读取玩家输入,判断输入是否合法并落子。
  4. AI落子 :ai_move函数使用srand和rand生成随机位置,若该位置为空则落子。
  5. 胜负判断 :check_winner函数判断行、列、对角线是否有三子连线,或棋盘是否已满(平局)。
  6. 主循环 :main函数中循环进行玩家和AI的落子,直到出现胜负或平局。

本项目适合C语言初学者学习二维数组、流程控制、函数调用等基础知识。

编译与运行

  1. 使用gcc编译(推荐):
sh 复制代码
gcc tictactoe.c -o tictactoe
  1. 运行程序:
  • 在Linux/macOS下:
sh 复制代码
./tictactoe
  • 在Windows下:
sh 复制代码
tictactoe.exe
相关推荐
得物技术9 分钟前
动态规则的 Agent 实践:用确定性工程驾驭 LLM 的资产智能验收
人工智能·后端·llm
从小白到软工9 分钟前
C语言(中)预告
c语言·数据结构·经验分享·ai编程
柠檬味拥抱10 分钟前
基于 YOLO11 的低空空域反无人机预警系统:红外热成像 + Streamlit 全流程实战
后端
付威202312 分钟前
rpi-acp 源码解读:以 Zed 为例,一个 ACP Client 如何启动并驱动 rpi Agent
后端
我的xiaodoujiao18 分钟前
Django 基础知识详细图文教程 15-Django 内置Admin系统
后端·python·django
柠檬味拥抱21 分钟前
皮肤病变检测数据集 | 2500张YOLO皮肤科数据集
后端
我的xiaodoujiao28 分钟前
Django 基础知识详细图文教程 16-Django 内置Admin认证系统
后端·python·django
程序员鱼皮30 分钟前
Personal Agent 是什么?为什么大厂都抢着做?连 DeepSeek Bot 都来了。。
前端·后端·ai编程
geovindu38 分钟前
rust: Chain of Responsibility Pattern
开发语言·后端·设计模式·rust·责任链模式·行为模式
m0_5873830038 分钟前
碰碰好评卡功能落地全流程实战指南 附核心逻辑与常见问题解决方案
java·前端·数据库·后端·struts·需求分析