Skip to content

Ynkcc/rust_4x8

Repository files navigation

游戏规则

游戏概述

4x8暗棋是一种在4×8棋盘上进行的中国象棋变体游戏。游戏开始时,所有棋子背面朝上随机分布在棋盘上,双方轮流进行翻棋和移动棋子。

棋子类型与价值

游戏包含7种不同的棋子,每种棋子都有特定的价值和数量:

棋子类型 价值 数量(每方) 英文名
2分 5个 SOLDIER
5分 2个 CANNON
5分 2个 HORSE
5分 2个 CHARIOT
5分 2个 ELEPHANT
10分 2个 ADVISOR
30分 1个 GENERAL

胜利条件:率先获得60分的玩家获胜。

基本操作

1. 翻棋

  • 玩家可以翻开任意一个未翻开的棋子
  • 翻棋后该棋子变为明棋,归属确定
  • 翻棋消耗回合

2. 移动

  • 只有已翻开的己方棋子可以移动
  • 普通棋子只能向上下左右四个方向移动一格
  • 未翻开的棋子无法移动

吃子规则

等级制度

棋子遵循严格的等级制度,高等级棋子可以吃掉低等级和同等级的棋子:

等级顺序(从低到高)

兵 < 炮 < 马 < 车 < 象 < 士 < 将

基本吃子规则

  • 高等级棋子可以吃掉所有低等级和同等级的敌方棋子
  • 低等级棋子无法吃掉高等级棋子
  • 例如:车可以吃兵、炮、马、车,但不能吃象、士、将

特殊规则

  1. 兵克将:兵可以吃掉敌方的将(唯一例外)
  2. 将怕兵:将不能吃掉敌方的兵
  3. 暗棋不可吃:除炮以外,所有棋子都不能吃掉未翻开的棋子

炮的特殊机制

炮是游戏中最特殊的棋子,具有独特的攻击方式:

炮的攻击规则

  • 不能普通移动:炮不能移动到相邻的空格
  • 隔子攻击:炮只能通过"隔一个棋子攻击"的方式改变位置
  • 攻击条件:炮与目标之间必须恰好有一个棋子作为"炮架"
  • 攻击方向:只能在水平或垂直方向进行隔子攻击

炮的攻击目标

炮可以攻击:

  • 所有敌方棋子(包括已翻开和未翻开的)
  • 未翻开的己方棋子
  • 不能攻击:已翻开的己方棋子

炮架规则

  • 炮架可以是任意棋子(己方、敌方、明棋、暗棋均可)
  • 炮架不会被消耗或影响
  • 攻击路径上只能有一个炮架

游戏结束条件

胜利条件

  1. 积分胜利:率先获得60分的玩家获胜
  2. 无棋可走:对手无任何合法动作时,当前玩家获胜

平局条件

  1. 回合限制:连续24个回合没有吃子发生
  2. 步数限制:游戏总步数达到100步

模型训练

模型训练参照AlphaZero(2018),尚未完成

todo

  • 确定游戏环境逻辑

  • 实现异步

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors