"use strict";
Object.defineProperties(exports, {
HalfmoveClock: {get: function() {
return HalfmoveClock;
}},
__esModule: {value: true}
});
var $__0 = require('./brands'),
PAWN = $__0.PAWN,
ROOK = $__0.ROOK,
KING = $__0.KING;
var HalfmoveClock = function HalfmoveClock() {
var count = arguments[0] !== (void 0) ? arguments[0] : 0;
var source = arguments[1] !== (void 0) ? arguments[1] : null;
this.count = count;
this.source = source;
};
var $HalfmoveClock = HalfmoveClock;
($traceurRuntime.createClass)(HalfmoveClock, {
inc: function() {
return new $HalfmoveClock(this.count + 1);
},
toString: function() {
return String(this.count);
}
}, {analyze: function(position, piece, target) {
if (piece.brand === PAWN) {
return new $HalfmoveClock(0);
}
if (position.pieceByCoords(target) != null) {
return new $HalfmoveClock(0);
}
if (piece.brand === ROOK) {}
if (piece.brand === KING) {}
return position.halfmoveClock.inc();
}});
|