rule: 新增莫里斯十二子棋规则
This commit is contained in:
parent
6bd6f20d2d
commit
ac83c89726
|
@ -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 // 不计时
|
||||
}
|
||||
};
|
||||
|
|
|
@ -73,7 +73,7 @@ struct Rule
|
|||
};
|
||||
|
||||
// 预定义的规则数目
|
||||
static const int N_RULES = 4;
|
||||
#define N_RULES 5
|
||||
|
||||
// 预定义的规则
|
||||
extern const struct Rule RULES[N_RULES];
|
||||
|
|
Loading…
Reference in New Issue