井字棋(Tic-Tac-Toe)游戏
功能介绍
本项目是一个用C语言实现的简易井字棋游戏,支持人机对战。主要功能如下:
- 使用二维数组实现3x3棋盘。
- 玩家与AI轮流落子,玩家使用"X",AI使用"O"。
- AI采用随机算法进行落子。
- 每次落子后自动判断胜负或平局。
- 支持输入检测,防止无效落子。
- 游戏结束后提示胜负或平局。
创作过程
- 棋盘设计 :采用
char board[3][3]
二维数组存储棋盘状态,初始为空格。 - 初始化与打印 :实现
init_board
函数初始化棋盘,print_board
函数美观打印当前棋盘。 - 玩家落子 :通过
player_move
函数读取玩家输入,判断输入是否合法并落子。 - AI落子 :
ai_move
函数使用srand
和rand
生成随机位置,若该位置为空则落子。 - 胜负判断 :
check_winner
函数判断行、列、对角线是否有三子连线,或棋盘是否已满(平局)。 - 主循环 :
main
函数中循环进行玩家和AI的落子,直到出现胜负或平局。
本项目适合C语言初学者学习二维数组、流程控制、函数调用等基础知识。
编译与运行
- 使用gcc编译(推荐):
sh
gcc tictactoe.c -o tictactoe
- 运行程序:
- 在Linux/macOS下:
sh
./tictactoe
- 在Windows下:
sh
tictactoe.exe
