Compare commits

..

No commits in common. "32a0021ff2d7d77ccc5fc3d042965a29a7ea0f97" and "6794e442754305469304d9f36bf4b2133873544f" have entirely different histories.

6 changed files with 30 additions and 102 deletions

View File

@ -12,7 +12,9 @@ use MyCLabs\Enum\Enum;
class Color extends Enum
{
const black = 'B';
const white = 'W';
const none = '*';
const black = 255; // Implementing two's-complement for these values only is not worth the trick
const black3 = 253; // Especially if you can just do unsigned
const white = 1;
const white3 = 3;
const none = 0;
}

View File

@ -12,17 +12,17 @@ use MyCLabs\Enum\Enum;
class Title extends Enum
{
const NONE = '*';
const ELO = 'Elo';
const NM = 'National Master';
const WCM = 'Woman Candidate Master';
const WFM = 'Woman Fide Master';
const CM = 'Candidate Master';
const WIM = 'Woman International Master';
const FM = 'Fide Master';
const WGM = 'Woman Grand Master';
const HM = 'Honorary International Master';
const IM = 'International Master';
const HG = 'Honorary Grand Master';
const GM = 'Grand Master';
const NONE = 0;
const ELO = 1;
const NM = 2; // National Master
const WCM = 3; // Woman Candidate Master
const WFM = 4; // Women Fide Master
const CM = 5; // Candidate Master
const WIM = 6; // Woman International Master
const FM = 7; // Fide Master
const WGM = 8; // Woman Grand Master
const HM = 9; // Honorary International master
const IM = 10; // International Master
const HG = 11; // Honorary Grand Master
const GM = 12; // Grand Master
}

View File

@ -12,8 +12,8 @@ use MyCLabs\Enum\Enum;
class TournamentSystem extends Enum
{
const Swiss = 'Swiss';
const Closed = 'Closed';
const American = 'American';
const Imperial = 'Imperal';
const Swiss = 0;
const Closed = 2;
const American = 4;
const Imperial = 6;
}

View File

@ -34,6 +34,7 @@ use JeroenED\Libpairtwo\Models\Sws as SwsModel;
use JeroenED\Libpairtwo\Enums\TournamentSystem;
use DateTime;
/**
* This class reads a SWS file
*
@ -299,49 +300,7 @@ class Sws extends SwsModel
$offset += $length;
$length = 1;
switch (self::ReadData('Int', substr($swscontents, $offset, $length))) {
case 1:
$title = Title::ELO;
break;
case 2:
$title = Title::NM;
break;
case 3:
$title = Title::WCM;
break;
case 4:
$title = Title::WFM;
break;
case 5:
$title = Title::CM;
break;
case 6:
$title = Title::WIM;
break;
case 7:
$title = Title::FM;
break;
case 8:
$title = Title::WGM;
break;
case 9:
$title = Title::HM;
break;
case 10:
$title = Title::IM;
break;
case 11:
$title = Title::HG;
break;
case 12:
$title = Title::GM;
break;
case 0:
default:
$title = Title::NONE;
break;
}
$player->setTitle(new Title($title));
$player->setTitle(new Title(self::ReadData('Int', substr($swscontents, $offset, $length))));
$offset += $length;
$length = 1;
@ -483,20 +442,7 @@ class Sws extends SwsModel
// Type
$length = 4;
Switch(self::ReadData('Int', substr($swscontents, $offset, $length))) {
case 0:
$system = TournamentSystem::Swiss;
break;
case 2:
$system = TournamentSystem::Closed;
break;
case 4:
$system = TournamentSystem::American;
break;
case 6:
$system = TournamentSystem::Imperial;
}
$sws->getTournament()->setSystem(new TournamentSystem($system));
$sws->getTournament()->setSystem(new TournamentSystem(self::ReadData('Int', substr($swscontents, $offset, $length))));
$offset += $length;
// Federation
@ -559,26 +505,12 @@ class Sws extends SwsModel
$offset += $length;
$length = 1;
switch (self::ReadData('Int', substr($swscontents, $offset, $length))) {
case 255:
case 253:
$color = 'B';
break;
case 1:
case 3:
$color = 'W';
break;
case 0:
default:
$color = '*';
break;
}
$pairing->setColor(new Color($color));
$pairing->setColor(new Color(self::ReadData('Int', substr($swscontents, $offset, $length))));
$offset += $length;
$length = 1;
switch (self::ReadData('Int', substr($swscontents, $offset, $length))) {
Switch(self::ReadData('Int', substr($swscontents, $offset, $length)))
{
case 0:
$result = '*';
break;

View File

@ -89,7 +89,7 @@ class Tournament extends TournamentModel
$result = $pairing->getResult();
$game = new Game();
if ($color->getValue() == Color::white) {
if ($color->getValue() == Color::white || $color->getValue() == Color::white3) {
if(! is_null($player)) $game->setWhite($player);
if(! is_null($opponent)) $game->setBlack($opponent);
switch ($result->getValue()) {
@ -115,7 +115,7 @@ class Tournament extends TournamentModel
default:
$game->setResult(new Gameresult('-')); break;
}
} elseif ($color->getValue() == Color::black) {
} elseif ($color->getValue() == Color::black || $color->getValue() == Color::black3) {
if(! is_null($player)) $game->setBlack($player);
if(! is_null($opponent)) $game->setWhite($opponent);
switch ($result->getValue()) {

View File

@ -62,10 +62,4 @@ echo "Absent P3: " . $sws->getTournament()->getPlayerById(2)->getAbsent() . P
echo "Date Round 1: " . $sws->getTournament()->getRoundByNo(0)->getDate()->format('d/m/Y') . PHP_EOL;
echo "Date Round 2: " . $sws->getTournament()->getRoundByNo(1)->getDate()->format('d/m/Y') . PHP_EOL;
echo "Date Round 3: " . $sws->getTournament()->getRoundByNo(2)->getDate()->format('d/m/Y') . PHP_EOL;
echo "Color Pairing 1: " . $sws->getTournament()->getPairings()[1]->getColor()->getKey() . PHP_EOL;
echo "Color Pairing 2: " . $sws->getTournament()->getPairings()[2]->getColor()->getKey() . PHP_EOL;
echo "Color Pairing 3: " . $sws->getTournament()->getPairings()[3]->getColor()->getKey() . PHP_EOL;
echo "Player Pairing 1: " . $sws->getTournament()->getPairings()[0]->getPlayer()->getName() . PHP_EOL;
echo "Player Pairing 2: " . $sws->getTournament()->getPairings()[1]->getPlayer()->getName() . PHP_EOL;
echo "Player Pairing 3: " . $sws->getTournament()->getPairings()[2]->getPlayer()->getName() . PHP_EOL;