五子棋(Gomoku,也称为连珠、连五棋、五目棋、五联棋、五子连珠棋或五石子棋)是一
个在棋盘上进行的两人对弈的纯策略型棋类游戏。通常双方分别使用黑白两色的棋子,轮流
下在棋盘竖线与横线的交叉点上,先形成五子连线者获胜。
以下是一个简单的五子棋游戏的 C 语言实现框架。这个框架仅包含基本的棋盘表示和下棋
逻辑,没有实现胜负判断、图形界面或 AI 对战等功能。
c
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#define BOARD_SIZE 15
// 棋盘表示,0 表示空位,1 表示黑子,2 表示白子
int board[BOARD_SIZE][BOARD_SIZE] = {0};
// 打印棋盘
void printBoard() {
for (int i = 0; i < BOARD_SIZE; i++) {
for (int j = 0; j < BOARD_SIZE; j++) {
printf("%d ", board[i][j]);
}
printf("");
}
}
// 下棋,返回是否成功下棋
bool placePiece(int x, int y, int player) {
if (x < 0 || x >= BOARD_SIZE || y < 0 || y >= BOARD_SIZE || board[x][y] != 0) {
return false; // 非法位置或已有棋子
}
board[x][y] = player; // 下棋
return true;
}
int main() {
int x, y, player = 1; // 1 表示黑子,2 表示白子
bool success;
while (true) {
printBoard(); // 打印当前棋盘状态
printf("Player %d, enter x y to place piece: ", player);
scanf("%d %d", &x, &y); // 读取玩家输入的坐标