const express = require("express");
+const Game = require("./game.js");
-const app = express.Router();
+const engine_name = "tictactoe";
-class TicTacToe {
+const router = express.Router();
+
+class TicTacToe extends Game {
constructor() {
+ super(engine_name);
this.moves = [];
this.board = Array(9).fill(null);
this.clients = [];
}
}
-app.get('/', (request, response) => {
+router.get('/', (request, response) => {
const game = request.game;
if (! request.session.nickname)
response.render('tictactoe-game.html');
});
-app.post('/move', (request, response) => {
+router.post('/move', (request, response) => {
const game = request.game;
const square = request.body.square;
game.broadcast_move(square);
});
-app.get('/events', (request, response) => {
+router.get('/events', (request, response) => {
const game = request.game;
/* These headers will keep the connection open so we can stream events. */
});
});
-exports.app = app;
-exports.name = "tictactoe";
+exports.router = router;
+exports.name = engine_name;
exports.Game = TicTacToe;