i=0;
while((tp = playerIter.Next())) {
(tp->activeFlag) ? tp->sortValue = (tp->score + tp->rating/10000.0) : tp->sortValue = -1.0;
- tp->ClearWhites();
- tp->ClearBlacks();
+ // tp->ClearWhites();
+ // tp->ClearBlacks();
if((status == OPEN) && (i < (GetPlayerCount()/2)))
(i % 2) ? tp->AddWhite() : tp->AddBlack();
i++;
//- CloseAndStart ----------------------------------------------------------
void Tourney::CloseAndStart(void) {
+ TourneyPlayers *tp = NULL;
status = CLOSED;
params.currentRound = 0;
+ LinkListIter<TourneyPlayers> playerIter(playerList);
+
startDate = time(0);
cout << "tourney started at: " << ctime(&startDate) << endl;
params.rounds = GetPlayerCount() - 1;
break;
case 's':
- params.rounds = (int)ceil(log2(GetPlayerCount()));
+ params.rounds = (int)ceil(log22(GetPlayerCount()));
break;
default:
params.rounds = DEFAULT_ROUNDS;
// this is to stop a 4 player tourney from having 2 rounds
params.rounds = (params.rounds < MINIMUM_ROUNDS) ? MINIMUM_ROUNDS : params.rounds;
+ playerIter.Reset(); // [HGM] this code moved here from SortPlayers
+ while((tp = playerIter.Next())) {
+ tp->ClearWhites();
+ tp->ClearBlacks();
+ tp->ClearTotalWhites();
+ tp->ClearTotalBlacks();
+ }
+
MakeAssignments();
TellThemWhoTheyPlay(); // tell them who they play
}
Game *g = NULL;
Player *opp1 = NULL, *opp2 = NULL;
+ cerr << "P1: " << p1->name << " due=" << p1->ColorDue() << " total=" << p1->GetTotalWhites() << "/" << p1->GetTotalBlacks()
+ << " consecutive=" << p1->GetConsecutiveWhites() << "/" << p1->GetConsecutiveBlacks() << endl;
+ cerr << "P2: " << p2->name << " due=" << p2->ColorDue() << " total=" << p2->GetTotalWhites() << "/" << p2->GetTotalBlacks()
+ << " consecutive=" << p2->GetConsecutiveWhites() << "/" << p2->GetConsecutiveBlacks() << endl;
if(params.mode != 'r') { rated = 0; }
if(intcmp(p1->ColorDue(), p2->ColorDue()) != 0) {
if(p1->ColorDue()) { p1Color = 1; }
while((opp2 = opponentIter2.Next())) {
if(!strcasecmp(opp2->name, p1->name)) { break; }
}
+ cerr << "assigned color = " << p1Color << endl;
if(p1Color) {
p1->AddWhite(); p2->AddBlack();
opp1->value = 1;
//- AddWhite ---------------------------------
void TourneyPlayers::AddWhite(void) {
consecutiveWhites++;
+ totalWhites++; // [HGM] this variable did not seem to get updated anywhere
ChangeColorDue(0);
ClearBlacks();
}//- end AddWhite
//- AddBlack ---------------------------------
void TourneyPlayers::AddBlack(void) {
consecutiveBlacks++;
+ totalBlacks++; // [HGM] this variable did not seem to get updated anywhere
ChangeColorDue(1);
ClearWhites();
}//- end AddBlack
consecutiveBlacks = 0;
}//- end ClearBlacks
+//- ClearTotalWhites ---------------------------------
+void TourneyPlayers::ClearTotalWhites(void) {
+ totalWhites = 0;
+}//- end ClearTotalWhites
+
+//- ClearTotalBlacks ---------------------------------
+void TourneyPlayers::ClearTotalBlacks(void) {
+ totalBlacks = 0;
+}//- end ClearTotalBlacks
+
//- GetTotalWhites ---------------------------------
int TourneyPlayers::GetTotalWhites(void) {
return totalWhites;