rule: 新增莫里斯十二子棋规则

This commit is contained in:
Calcitem 2019-10-07 21:03:45 +08:00
parent 6bd6f20d2d
commit ac83c89726
2 changed files with 25 additions and 2 deletions

View File

@ -26,7 +26,7 @@
struct Rule rule;
// 对静态常量数组的定义要放在类外,不要放在头文件
// 预定义的4套规则
// 预定义的套规则
const struct Rule RULES[N_RULES] = {
{
"成三棋", // 成三棋
@ -113,5 +113,28 @@ const struct Rule RULES[N_RULES] = {
true, // 剩三子时可以飞棋
0, // 不计步数
0 // 不计时
},
{
"莫里斯十二子棋", // 莫里斯十二子棋
// 规则说明
"1. 双方各12颗子棋盘有斜线\n"
"2. 摆棋阶段被提子的位置不能再摆子,直到走棋阶段;\n"
"3. 摆棋阶段,摆满棋盘算先手负;\n"
"4. 走棋阶段,后摆棋的一方先走;\n"
"5. 同时出现两个“三连”只能提一子;\n"
"6. 其它规则与成三棋基本相同。",
12, // 双方各12子
3, // 赛点子数为3
true, // 有斜线
false, // 没有禁点,摆棋阶段被提子的点可以再摆子
false, // 先摆棋者先行棋
true, // 可以重复成三
false, // 多个“三连”只能提一子
false, // 不能提对手的“三连”子,除非无子可提;
true, // 摆棋满子闷棋只有12子棋才出现算先手负
true, // 走棋阶段不能行动(被“闷”)算负
false, // 剩三子时不可以飞棋
50, // 50步
0 // 不计时
}
};

View File

@ -73,7 +73,7 @@ struct Rule
};
// 预定义的规则数目
static const int N_RULES = 4;
#define N_RULES 5
// 预定义的规则
extern const struct Rule RULES[N_RULES];