projects
/
vchess.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
d263438
)
Simplify game variables passed to BaseGame component
author
Benjamin Auder
<benjamin.auder@somewhere>
Fri, 17 May 2019 17:29:24 +0000
(19:29 +0200)
committer
Benjamin Auder
<benjamin.auder@somewhere>
Fri, 17 May 2019 17:29:24 +0000
(19:29 +0200)
client/src/components/BaseGame.vue
patch
|
blob
|
blame
|
history
client/src/components/Board.vue
patch
|
blob
|
blame
|
history
client/src/components/ComputerGame.vue
patch
|
blob
|
blame
|
history
client/src/views/Rules.vue
patch
|
blob
|
blame
|
history
diff --git
a/client/src/components/BaseGame.vue
b/client/src/components/BaseGame.vue
index
aa19b47
..
1e7a83b
100644
(file)
--- a/
client/src/components/BaseGame.vue
+++ b/
client/src/components/BaseGame.vue
@@
-38,13
+38,15
@@
export default {
//MoveList,
},
// "vr": VariantRules object, describing the game state + rules
//MoveList,
},
// "vr": VariantRules object, describing the game state + rules
- props: ["vname","analyze","vr","fenStart","players","mycolor"],
+ // fenStart, players, mycolor
+ props: ["vname","analyze","vr","gameInfo"],
data: function() {
return {
st: store.state,
// NOTE: all following variables must be reset at the beginning of a game
endgameMessage: "",
orientation: "w",
data: function() {
return {
st: store.state,
// NOTE: all following variables must be reset at the beginning of a game
endgameMessage: "",
orientation: "w",
+ // TODO: score and moves could be also in gameInfo (when resuming)
score: "*", //'*' means 'unfinished'
moves: [],
cursor: -1, //index of the move just played
score: "*", //'*' means 'unfinished'
moves: [],
cursor: -1, //index of the move just played
@@
-56,7
+58,7
@@
export default {
fenStart: function() {
// Reset all variables
this.endgameMessage = "";
fenStart: function() {
// Reset all variables
this.endgameMessage = "";
- this.orientation = this.
mycolor
;
+ this.orientation = this.
gameInfo.mycolor || "w"
;
this.score = "*";
this.moves = [];
this.cursor = -1;
this.score = "*";
this.moves = [];
this.cursor = -1;
@@
-112,8
+114,8
@@
export default {
pgn += '[Site "vchess.club"]\n';
pgn += '[Variant "' + this.vname + '"]\n';
pgn += '[Date "' + getDate(new Date()) + '"]\n';
pgn += '[Site "vchess.club"]\n';
pgn += '[Variant "' + this.vname + '"]\n';
pgn += '[Date "' + getDate(new Date()) + '"]\n';
- pgn += '[White "' + this.players[0] + '"]\n';
- pgn += '[Black "' + this.players[1] + '"]\n';
+ pgn += '[White "' + this.
game.
players[0] + '"]\n';
+ pgn += '[Black "' + this.
game.
players[1] + '"]\n';
pgn += '[Fen "' + this.fenStart + '"]\n';
pgn += '[Result "' + this.score + '"]\n\n';
let counter = 1;
pgn += '[Fen "' + this.fenStart + '"]\n';
pgn += '[Result "' + this.score + '"]\n\n';
let counter = 1;
diff --git
a/client/src/components/Board.vue
b/client/src/components/Board.vue
index
8b1055b
..
ff50b12
100644
(file)
--- a/
client/src/components/Board.vue
+++ b/
client/src/components/Board.vue
@@
-1,8
+1,5
@@
<script>
<script>
-// This can work for squared boards (2 or 4 players), with some adaptations (TODO)
-// TODO: for 3 players, write a "board3.js"
-
-// TODO: current clicked square + moving square as parameters, + highlight
+// TODO: for 3 or 4 players, write a "board3.js" (board4.js)
import { getSquareId, getSquareFromId } from "@/utils/squareId";
import { ArrayFun } from "@/utils/array";
import { getSquareId, getSquareFromId } from "@/utils/squareId";
import { ArrayFun } from "@/utils/array";
diff --git
a/client/src/components/ComputerGame.vue
b/client/src/components/ComputerGame.vue
index
8c0ac38
..
238f109
100644
(file)
--- a/
client/src/components/ComputerGame.vue
+++ b/
client/src/components/ComputerGame.vue
@@
-1,9
+1,8
@@
<template lang="pug">
.row
.col-sm-12.col-md-10.col-md-offset-1.col-lg-8.col-lg-offset-2
<template lang="pug">
.row
.col-sm-12.col-md-10.col-md-offset-1.col-lg-8.col-lg-offset-2
- BaseGame(:vname="vname" :analyze="analyze"
- :vr="vr" :fen-start="fenStart" :players="players" :mycolor="mycolor"
- ref="basegame" @newmove="processMove")
+ BaseGame(:vname="vname" :analyze="analyze" :vr="vr"
+ :game-info="gameInfo" ref="basegame" @newmove="processMove")
</template>
<script>
</template>
<script>
@@
-22,10
+21,12
@@
export default {
return {
st: store.state,
// variables passed to BaseGame:
return {
st: store.state,
// variables passed to BaseGame:
- fenStart: "",
+ gameInfo: {
+ fenStart: "",
+ players: ["Myself","Computer"], //playing as white
+ mycolor: "w",
+ },
vr: null,
vr: null,
- players: ["Myself","Computer"], //always playing white for now
- mycolor: "w",
// Web worker to play computer moves without freezing interface:
timeStart: undefined, //time when computer starts thinking
lockCompThink: false, //to avoid some ghost moves
// Web worker to play computer moves without freezing interface:
timeStart: undefined, //time when computer starts thinking
lockCompThink: false, //to avoid some ghost moves
@@
-80,14
+81,13
@@
export default {
},
newGameFromFen: function(fen) {
this.vr = new V(fen);
},
newGameFromFen: function(fen) {
this.vr = new V(fen);
- this.fenStart = fen;
- this.mycolor = (Math.random() < 0.5 ? "w" : "b");
- console.log(this.mycolor);
- this.players = ["Myself","Computer"];
- if (this.mycolor == "b")
- this.players = this.players.reverse();
+ this.gameInfo.fenStart = fen;
+ this.gameInfo.mycolor = (Math.random() < 0.5 ? "w" : "b");
+ this.gameInfo.players = ["Myself","Computer"];
+ if (this.gameInfo.mycolor == "b")
+ this.gameInfo.players = this.gameInfo.players.reverse();
this.compWorker.postMessage(["init",fen]);
this.compWorker.postMessage(["init",fen]);
- if (this.mycolor != "w" || this.mode == "auto")
+ if (this.
gameInfo.
mycolor != "w" || this.mode == "auto")
this.playComputerMove();
},
playComputerMove: function() {
this.playComputerMove();
},
playComputerMove: function() {
diff --git
a/client/src/views/Rules.vue
b/client/src/views/Rules.vue
index
322baba
..
738e25f
100644
(file)
--- a/
client/src/views/Rules.vue
+++ b/
client/src/views/Rules.vue
@@
-19,6
+19,7
@@
import ComputerGame from "@/components/ComputerGame.vue";
import { store } from "@/store";
import { getDiagram } from "@/utils/printDiagram";
import ComputerGame from "@/components/ComputerGame.vue";
import { store } from "@/store";
import { getDiagram } from "@/utils/printDiagram";
+
export default {
name: 'my-rules',
components: {
export default {
name: 'my-rules',
components: {
@@
-32,7
+33,6
@@
export default {
display: "rules",
mode: "versus",
gameInProgress: false,
display: "rules",
mode: "versus",
gameInProgress: false,
- mycolor: "w",
fen: "",
};
},
fen: "",
};
},