Skip to content

Commit

Permalink
let racing kings players know which pieces they have
Browse files Browse the repository at this point in the history
  • Loading branch information
ornicar committed Jan 14, 2016
1 parent 5a7452d commit 355afb7
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 8 deletions.
8 changes: 8 additions & 0 deletions public/stylesheets/board.css
Original file line number Diff line number Diff line change
Expand Up @@ -625,6 +625,14 @@ div.table div.username span.status span {
div.table div.username.on-game span.status span {
color: #759900;
}
div.table .message {
margin: 20px 0;
}
div.table .message::before {
font-size: 3em;
float: left;
margin-right: 10px;
}
div.table .button.strong {
padding-top: 1em;
padding-bottom: 1em;
Expand Down
29 changes: 21 additions & 8 deletions ui/round/src/view/replay.js
Original file line number Diff line number Diff line change
Expand Up @@ -120,14 +120,15 @@ function analyseButton(ctrl) {
}

function renderButtons(ctrl) {
var firstPly = round.firstPly(ctrl.data);
var lastPly = round.lastPly(ctrl.data);
var d = ctrl.data;
var firstPly = round.firstPly(d);
var lastPly = round.lastPly(d);
var flipAttrs = {
class: 'button flip hint--top' + (ctrl.vm.flip ? ' active' : ''),
'data-hint': ctrl.trans('flipBoard'),
};
if (ctrl.data.tv) flipAttrs.href = '/tv/' + ctrl.data.tv.channel + (ctrl.data.tv.flip ? '' : '?flip=1');
else if (ctrl.data.player.spectator) flipAttrs.href = router.game(ctrl.data, ctrl.data.opponent.color);
if (d.tv) flipAttrs.href = '/tv/' + d.tv.channel + (d.tv.flip ? '' : '?flip=1');
else if (d.player.spectator) flipAttrs.href = router.game(d, d.opponent.color);
else flipAttrs.onclick = ctrl.flip;
return m('div.buttons', [
m('a', flipAttrs, m('span[data-icon=B]')), [
Expand All @@ -145,7 +146,7 @@ function renderButtons(ctrl) {
'data-icon': b[1],
onclick: enabled ? partial(ctrl.jump, b[2]) : null
});
}), game.userAnalysable(ctrl.data) ? analyseButton(ctrl) : null
}), game.userAnalysable(d) ? analyseButton(ctrl) : null
]);
}

Expand All @@ -162,15 +163,27 @@ function autoScroll(el, ctrl) {
});
}

function racingKingsInit(d) {
if (d.game.variant.key === 'racingKings' && d.game.turns === 0 && !d.player.spectator)
return m('div.message', {
'data-icon': '',
}, [
"You have the " + d.player.color + " pieces,",
d.player.color === 'white' ? [m('br'), m('strong', "it's your turn!")] : null
]);
}

module.exports = function(ctrl) {
var h = ctrl.vm.ply + ctrl.stepsHash(ctrl.data.steps) + ctrl.data.game.status.id + ctrl.data.game.winner + ctrl.vm.flip;
var d = ctrl.data;
var h = ctrl.vm.ply + ctrl.stepsHash(d.steps) + d.game.status.id + d.game.winner + ctrl.vm.flip;
if (ctrl.vm.replayHash === h) return {
subtree: 'retain'
};
ctrl.vm.replayHash = h;
var message = (d.game.variant.key === 'racingKings' && d.game.turns === 0) ? racingKingsInit : null;
return m('div.replay', [
renderButtons(ctrl),
ctrl.replayEnabledByPref() ? m('div.moves', {
racingKingsInit(ctrl.data) || (ctrl.replayEnabledByPref() ? m('div.moves', {
config: function(el, isUpdate) {
if (isUpdate) return;
var scrollNow = partial(autoScroll, el, ctrl);
Expand All @@ -185,6 +198,6 @@ module.exports = function(ctrl) {
var ply = 2 * turn - 2 + $(e.target).index();
if (ply) ctrl.jump(ply);
}
}, renderMoves(ctrl)) : renderResult(ctrl)
}, renderMoves(ctrl)) : renderResult(ctrl))
]);
}

0 comments on commit 355afb7

Please sign in to comment.