X-Git-Url: https://git.auder.net/images/diag_mark.svg?a=blobdiff_plain;f=public%2Fjavascripts%2Fcomponents%2Frules.js;h=0f27d5327177c9f18d664869a6b024ea09dc6c37;hb=d337a94cd6d38bb743a8935017d03fe21d4ad324;hp=1a597878b8d8dbe25bea004cb371834153511f83;hpb=5915f72002ae63b04620cebe47adf778174b1bee;p=vchess.git
diff --git a/public/javascripts/components/rules.js b/public/javascripts/components/rules.js
index 1a597878..0f27d532 100644
--- a/public/javascripts/components/rules.js
+++ b/public/javascripts/components/rules.js
@@ -1,16 +1,44 @@
// Load rules on variant page
Vue.component('my-rules', {
+ props: ["settings"],
data: function() {
- return { content: "" };
+ return {
+ content: "",
+ display: "rules",
+ mode: "computer",
+ subMode: "", //'auto' for game CPU vs CPU
+ gameInProgress: false,
+ mycolor: "w",
+ allowMovelist: true,
+ fen: "",
+ };
},
template: `
-
+
+
+
+
+
+
+
+
+
`,
mounted: function() {
// AJAX request to get rules content (plain text, HTML)
- ajax("/rules/" + variant, "GET", response => {
+ ajax("/rules/" + variant.name, "GET", response => {
let replaceByDiag = (match, p1, p2) => {
const args = this.parseFen(p2);
return getDiagram(args);
@@ -28,5 +56,25 @@ Vue.component('my-rules', {
shadow: fenParts[3],
};
},
+ startGame: function() {
+ if (this.gameInProgress)
+ return;
+ this.gameInProgress = true;
+ this.mode = "computer";
+ this.display = "computer";
+ this.fen = V.GenRandInitFen();
+ },
+ stopGame: function() {
+ this.gameInProgress = false;
+ this.mode = "analyze";
+ },
+ playAgainstComputer: function() {
+ this.subMode = "";
+ this.startGame();
+ },
+ watchComputerGame: function() {
+ this.subMode = "auto";
+ this.startGame();
+ },
},
})