"use strict";
Object.defineProperties(exports, {
Promotion: {get: function() {
return Promotion;
}},
__esModule: {value: true}
});
var $__0 = require('./brands'),
WHITE = $__0.WHITE,
BLACK = $__0.BLACK,
PAWN = $__0.PAWN;
var oppositeColor = require('./util').oppositeColor;
var Promotion = {
square: function(position) {
var color = oppositeColor(position.activeColor);
for (var $__2 = position.query({
brand: PAWN,
color: color
})[$traceurRuntime.toProperty(Symbol.iterator)](),
$__3; !($__3 = $__2.next()).done; ) {
var pawn = $__3.value;
{
try {
throw undefined;
} catch (square) {
{
square = position.pieceCoords(pawn);
if (square.y === Promotion.rank(color)) {
return square;
}
}
}
}
}
return null;
},
rank: function(color) {
switch (color) {
case WHITE:
return 0;
case BLACK:
return 7;
}
}
};
|