# koishi-plugin-gomoku

[![npm](https://img.shields.io/npm/v/koishi-plugin-gomoku?style=flat-square)](https://www.npmjs.com/package/koishi-plugin-gomoku)

一个为 Koishi 机器人开发的五子棋游戏插件。支持群内对战，提供简单直观的棋盘显示。

## 功能特点

- 支持群内1v1对战
- 使用字符画显示棋盘，清晰直观
- 支持自定义棋盘大小和获胜条件
- 提供邀请、接受、落子、认输等完整游戏流程
- 自动判定胜负和平局
- 支持查看当前游戏状态

## 安装

```bash
npm install koishi-plugin-gomoku
```

## 配置项

- `boardSize`: 棋盘大小（默认为15）
- `winCondition`: 获胜条件，即连子数（默认为5）

## 使用方法

### 创建游戏

使用 `五子棋创建` 来创建一局新的五子棋游戏。

例如：
```
五子棋创建
```

### 加入游戏

使用 `五子棋加入` 来加入当前频道中等待中的游戏。

例如：
```
五子棋加入
```

### 下棋

轮到自己回合时，使用 `五子棋落子 <位置>` 来落子。
位置格式为字母+数字，例如：`H8`、`A1` 等。

例如：
```
五子棋落子 H8
```

### 查看状态

使用 `五子棋查看` 可以查看当前游戏状态，包括棋盘、当前回合等信息。

### 重置游戏

使用 `五子棋重置` 可以重置当前游戏，开始新的一局。
只有游戏参与者可以重置游戏。

### 结束游戏

使用 `五子棋结束` 可以立即结束当前游戏。
只有游戏参与者可以结束游戏。

### 查看游戏列表

使用 `五子棋列表` 可以查看所有正在进行中的游戏。

## 注意事项

1. 每个群聊同一时间只能进行一局游戏
2. 邀请在5分钟内有效
3. 必须轮流下棋，不能在对方回合时下棋
4. 游戏结束后需要重新发起挑战才能开始新游戏

## 命令权限

所有命令的默认权限等级为1，意味着所有普通用户都可以使用。

## 示例

游戏进行中的棋盘显示示例：

```
  A B C D E F G H J K L M N O P
1 + + + + + + + + + + + + + + +
2 + + + + + + + + + + + + + + +
3 + + + + + + + + + + + + + + +
4 + + + + + + + + + + + + + + +
5 + + + + + ● + + + + + + + + +
6 + + + + ● + + + + + + + + + +
7 + + + ● + + + + + + + + + + +
8 + + ● + + + ○ + + + + + + + +
9 + ● + + + + + + + + + + + + +
10 + + + + + + + + + + + + + + +
11 + + + + + + + + + + + + + + +
12 + + + + + + + + + + + + + + +
13 + + + + + + + + + + + + + + +
14 + + + + + + + + + + + + + + +
15 + + + + + + + + + + + + + + +
```

## 许可证

MIT License