rule: 去掉计时规则相关代码

This commit is contained in:
Calcitem 2020-09-20 16:52:48 +08:00
parent 962cece2c5
commit 6173894f20
4 changed files with 8 additions and 32 deletions

View File

@ -579,7 +579,7 @@ bool Position::reset()
}
if (sprintf(cmdline, "r%1u s%03u t%02u",
i + 1, rule.maxStepsLedToDraw, rule.maxTimeLedToLose) > 0) {
i + 1, rule.maxStepsLedToDraw, 0) > 0) {
return true;
}
@ -946,10 +946,6 @@ int Position::update()
*ourSeconds = ret = currentTime - startTime - theirSeconds;
}
if (rule.maxTimeLedToLose > 0) {
check_gameover_condition();
}
return ret;
}
@ -971,20 +967,6 @@ bool Position::check_gameover_condition()
return true;
}
if (rule.maxTimeLedToLose > 0) {
phase = PHASE_GAMEOVER; // TODO: Move to below??
for (int i = 1; i <= 2; i++) {
if (elapsedSeconds[i] > rule.maxTimeLedToLose * 60) {
elapsedSeconds[i] = rule.maxTimeLedToLose * 60;
winner = ~Color(i);
gameoverReason = LOSE_REASON_TIME_OVER;
}
}
return true;
}
if (rule.maxStepsLedToDraw > 0 &&
st->rule50 > rule.maxStepsLedToDraw) {
winner = DRAW;

View File

@ -44,8 +44,7 @@ const struct Rule RULES[N_RULES] = {
true, // 摆棋满子闷棋只有12子棋才出现算先手负
true, // 走棋阶段不能行动(被“闷”)算负
false, // 剩三子时不可以飞棋
0, // 不计步数
0 // 不计时
0 // 不计步数
},
{
"打三棋(12连棋)", // 打三棋
@ -67,8 +66,7 @@ const struct Rule RULES[N_RULES] = {
true, // 摆棋满子闷棋只有12子棋才出现算先手负
true, // 走棋阶段不能行动(被“闷”)算负
false, // 剩三子时不可以飞棋
50, // 50步
0 // 不计时
50 // 50步
},
{
"九连棋", // 九连棋
@ -88,8 +86,7 @@ const struct Rule RULES[N_RULES] = {
true, // 摆棋满子闷棋只有12子棋才出现算先手负
false, // 走棋阶段不能行动(被“闷”),则由对手继续走棋
false, // 剩三子时不可以飞棋
0, // 不计步数
0 // 不计时
0 // 不计步数
},
{
"莫里斯九子棋", // 莫里斯九子棋
@ -106,8 +103,7 @@ const struct Rule RULES[N_RULES] = {
true, // 摆棋满子闷棋只有12子棋才出现算先手负
true, // 走棋阶段不能行动(被“闷”)算负
true, // 剩三子时可以飞棋
0, // 不计步数
0 // 不计时
0 // 不计步数
},
{
"莫里斯十二子棋", // 莫里斯十二子棋
@ -129,7 +125,6 @@ const struct Rule RULES[N_RULES] = {
true, // 摆棋满子闷棋只有12子棋才出现算先手负
true, // 走棋阶段不能行动(被“闷”)算负
false, // 剩三子时不可以飞棋
50, // 50步
0 // 不计时
50 // 50步
}
};

View File

@ -38,7 +38,6 @@ struct Rule
bool isLoseButNotChangeTurnWhenNoWay;
bool allowFlyWhenRemainThreePieces;
Step maxStepsLedToDraw;
int maxTimeLedToLose;
};
#define N_RULES 5

View File

@ -245,7 +245,7 @@ void GameController::gameReset()
}
// 读取规则限时要求
timeLimit = rule.maxTimeLedToLose;
timeLimit = 0; // TODO: rule.maxTimeLedToLose;
// 如果规则不要求计时则time1和time2表示已用时间
if (timeLimit <= 0) {
@ -341,7 +341,7 @@ void GameController::setRule(int ruleNo, Step stepLimited /*= -1*/, int timeLimi
int r = position.set_position(&RULES[ruleNo]);
char cmdline[64] = { 0 };
if (sprintf(cmdline, "r%1u s%03u t%02u", r + 1, rule.maxStepsLedToDraw, rule.maxTimeLedToLose) <= 0) {
if (sprintf(cmdline, "r%1u s%03u t%02u", r + 1, rule.maxStepsLedToDraw, 0) <= 0) {
assert(0);
}
string cmd(cmdline);