This commit is contained in:
parent
e020f2a4b6
commit
1f8394f23b
|
|
@ -43,10 +43,12 @@
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
<div>
|
<div class="btns">
|
||||||
<button data-action="click->scorecard#endRound">End Round</button>
|
|
||||||
<button>End Game</button>
|
|
||||||
<div data-scorecard-target="prevailing">Prevailing: E</div>
|
<div data-scorecard-target="prevailing">Prevailing: E</div>
|
||||||
|
<div>
|
||||||
|
<button data-action="click->scorecard#endGame">End Game</button>
|
||||||
|
<button data-action="click->scorecard#endRound">End Round</button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="player-entry" class="hidden" data-controller="newgame"
|
<div id="player-entry" class="hidden" data-controller="newgame"
|
||||||
|
|
@ -63,7 +65,12 @@
|
||||||
<label for="player-5">Player 5</label>
|
<label for="player-5">Player 5</label>
|
||||||
<input type="text" data-newgame-target="playerName">
|
<input type="text" data-newgame-target="playerName">
|
||||||
|
|
||||||
<button data-action="click->newgame#startGame">Start Game</button>
|
<div class="btns">
|
||||||
|
<div></div>
|
||||||
|
<div>
|
||||||
|
<button data-action="click->newgame#startGame">Start Game</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="end-round" class="hidden" data-controller="endround"
|
<div id="end-round" class="hidden" data-controller="endround"
|
||||||
data-action="gamestatechanged@window->endround#handleGameState">
|
data-action="gamestatechanged@window->endround#handleGameState">
|
||||||
|
|
@ -73,8 +80,13 @@
|
||||||
|
|
||||||
<p data-endround-target="wind"></p>
|
<p data-endround-target="wind"></p>
|
||||||
|
|
||||||
<button data-action="click->endround#nextRound">Next Round</button>
|
<div class="btns">
|
||||||
</div>
|
<div></div>
|
||||||
|
<div>
|
||||||
|
<button data-action="click->endround#goBack">Cancel</button>
|
||||||
|
<button data-action="click->endround#nextRound">Next Round</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<script src="./main.js" type="module"></script>
|
<script src="./main.js" type="module"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,7 @@ Stimulus.register("scorecard", class extends Controller {
|
||||||
|
|
||||||
handleGameState(ev) {
|
handleGameState(ev) {
|
||||||
switch (ev.detail.mode) {
|
switch (ev.detail.mode) {
|
||||||
|
case "newgame":
|
||||||
case "endround":
|
case "endround":
|
||||||
this.element.classList.add("hidden");
|
this.element.classList.add("hidden");
|
||||||
break;
|
break;
|
||||||
|
|
@ -37,10 +38,19 @@ Stimulus.register("scorecard", class extends Controller {
|
||||||
|
|
||||||
endRound(ev) {
|
endRound(ev) {
|
||||||
ev.preventDefault();
|
ev.preventDefault();
|
||||||
console.log("end round");
|
|
||||||
emitGameStateEvent({mode: "endround"});
|
emitGameStateEvent({mode: "endround"});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
endGame(ev) {
|
||||||
|
ev.preventDefault();
|
||||||
|
|
||||||
|
if (!confirm("Are you sure you want to end the game?")) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
emitGameStateEvent({mode: "newgame"});
|
||||||
|
}
|
||||||
|
|
||||||
_rebuildTable() {
|
_rebuildTable() {
|
||||||
let gameState = getGameState();
|
let gameState = getGameState();
|
||||||
|
|
||||||
|
|
@ -102,6 +112,9 @@ Stimulus.register("newgame", class extends Controller {
|
||||||
case "nextround":
|
case "nextround":
|
||||||
this.element.classList.add("hidden");
|
this.element.classList.add("hidden");
|
||||||
break;
|
break;
|
||||||
|
case "newgame":
|
||||||
|
this.element.classList.remove("hidden");
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -130,6 +143,7 @@ Stimulus.register("endround", class extends Controller {
|
||||||
switch (ev.detail.mode) {
|
switch (ev.detail.mode) {
|
||||||
case "startgame":
|
case "startgame":
|
||||||
case "nextround":
|
case "nextround":
|
||||||
|
case "newgame":
|
||||||
this.element.classList.add("hidden");
|
this.element.classList.add("hidden");
|
||||||
break;
|
break;
|
||||||
case "endround":
|
case "endround":
|
||||||
|
|
@ -160,6 +174,10 @@ Stimulus.register("endround", class extends Controller {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
goBack(ev) {
|
||||||
|
emitGameStateEvent({mode: "startgame"});
|
||||||
|
}
|
||||||
|
|
||||||
nextRound(ev) {
|
nextRound(ev) {
|
||||||
ev.preventDefault();
|
ev.preventDefault();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -108,7 +108,6 @@ export class GameState {
|
||||||
|
|
||||||
playerTotals() {
|
playerTotals() {
|
||||||
let scores = this.players.map(p => 0);
|
let scores = this.players.map(p => 0);
|
||||||
|
|
||||||
for (let i = 0; i < this.rounds.length; i++) {
|
for (let i = 0; i < this.rounds.length; i++) {
|
||||||
for (let j = 0; j < this.rounds[i].length; j++) {
|
for (let j = 0; j < this.rounds[i].length; j++) {
|
||||||
scores[j] += this.rounds[i][j].s;
|
scores[j] += this.rounds[i][j].s;
|
||||||
|
|
|
||||||
|
|
@ -11,4 +11,11 @@
|
||||||
gap: 15px;
|
gap: 15px;
|
||||||
grid-template-columns: 2fr 1fr;
|
grid-template-columns: 2fr 1fr;
|
||||||
align-items: baseline;
|
align-items: baseline;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btns {
|
||||||
|
display: flex;
|
||||||
|
gap: 10px;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
}
|
}
|
||||||
Loading…
Reference in a new issue