rule: 去掉计时规则相关代码
This commit is contained in:
parent
962cece2c5
commit
6173894f20
|
@ -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;
|
||||
|
|
15
src/rule.cpp
15
src/rule.cpp
|
@ -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步
|
||||
}
|
||||
};
|
||||
|
|
|
@ -38,7 +38,6 @@ struct Rule
|
|||
bool isLoseButNotChangeTurnWhenNoWay;
|
||||
bool allowFlyWhenRemainThreePieces;
|
||||
Step maxStepsLedToDraw;
|
||||
int maxTimeLedToLose;
|
||||
};
|
||||
|
||||
#define N_RULES 5
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue