)
td {{ c.vname }}
td {{ withWho(c) }}
- td(:class="getCadenceClass(c)") {{ c.cadence }}
+ td {{ c.cadence }}
td(:class="getRandomnessClass(c)")
p(v-else)
| {{ st.tr["No challenges found :( Click on 'New game'!"] }}
return {
["random-" + c.randomness]: true
};
- },
- getCadenceClass: function(c) {
- return {
- "simultaneous": c.cadence.indexOf("/") >= 0
- };
}
}
};
tr.toyou > td
background-color: #fcd785
-td.simultaneous
- background-color: purple
-
tr > td:last-child
&.random-0
background-color: #FF5733
</template>
<script>
-// TODO: this will be a component instead ?
-// If simultaneous games, no "rematch" button
-
-// simult : open connexion to rooms from list, in all (if I'm the "simultaneer" --> TODO: indicate sid + side [random,white, black] in challenge)
-// if I'm just one of the players (one game), just one game.
-// view "Game_s", with pug list of components Game.
-// generally only one element, unless I'm the simultaneer.
-// Add messages ?
-
import BaseGame from "@/components/BaseGame.vue";
import UserBio from "@/components/UserBio.vue";
import Chat from "@/components/Chat.vue";
},
getGameType: function(game) {
if (!!game.id.toString().match(/^i/)) return "import";
- return (
- game.cadence.indexOf("d") >= 0
- ? "corr"
- : (game.cadence.indexOf("/") >= 0 ? "simul" : "live")
- );
+ return (game.cadence.indexOf("d") >= 0 ? "corr" : "live");
},
// Notify something after a new move (to opponent and me on MyGames page)
notifyMyGames: function(thing, data) {
case "newmove": {
// DEBUG:
-console.log("Receive move");
-console.log(data.data);
-//moveslist not updated when receiving a move? (see in baseGame)
+//console.log("Receive move");
+//console.log(data.data);
+//moveslist not updated when receiving a move? (see in BaseGame)
const movePlus = data.data;
const movesCount = this.game.moves.length;
// o: challenge or game
classifyObject: function(o) {
// No imported games here
- return (
- o.cadence.indexOf("d") >= 0
- ? "corr"
- : (o.cadence.indexOf("/") >= 0 ? "simul" : "live")
- );
+ return (o.cadence.indexOf("d") >= 0 ? "corr" : "live");
},
setDisplay: function(letter, type, e) {
this[letter + "display"] = type;
}
break;
}
- case "entersimul":
- // TODO: confirm box accept/refuse.
- // If accept, update seat (array in this case)
- break;
case "game": // Individual request
case "newgame": {
const game = data.data;
alert(this.st.tr["Please log in to accept corr challenges"]);
return;
}
- if (c.type == "simul") {
- // Just notify that I wanna enter the simultaneous game(s)
- // TODO: dans défi, indiquer si positions aleatoires, si tjours blancs ou noirs
- // --> /w30 ou b1h ou juste 30 (random, sans préfixe).
- // => message "entersimul" to c.from
- return;
- }
else {
c.accepted = true;
await import("@/variants/" + c.vname + ".js")
{ data: { id: c.id } }
);
}
- else if (c.type == "simul" && !!c.seat && Array.isArray(c.seat))
- // TODO: if some players entered, start game
- this.launchSimultaneous(c);
this.send("deletechallenge_s", { data: { cid: c.id } });
}
// In all cases, the challenge is consumed:
ArrayFun.remove(this.challenges, ch => ch.id == c.id);
},
// NOTE: when launching game, the challenge is already being deleted
- // TODO: adapt for simultaneous games, or just write a new function (better)
- launchSimultaneous: function(c) {
- // TODO
- },
launchGame: function(c) {
// White player index 0, black player index 1:
let players =