1 const express = require("express");
2 const Game = require("./game.js");
4 class Empathy extends Game {
10 this.next_prompt_id = 1;
14 Empathy.router = express.Router();
15 const router = Empathy.router;
18 constructor(id, items, prompt) {
25 add_vote(player_name) {
26 if (this.votes.find(v => v === player_name))
29 this.votes.push(player_name);
33 router.post('/prompts', (request, response) => {
34 const game = request.game;
36 const prompt = new Prompt(game.next_prompt_id,
39 game.next_prompt_id++;
41 game.state.prompts.push(prompt);
43 game.broadcast_event_object('prompt', prompt);
46 router.post('/vote/:prompt_id([0-9]+)', (request, response) => {
47 const prompt_id = parseInt(request.params.prompt_id, 10);
48 const game = request.game;
49 const player = game.players_by_session[request.session.id];
51 prompt = game.state.prompts.find(p => p.id === prompt_id);
52 if (! prompt || ! player) {
53 response.sendStatus(404);
57 prompt.add_vote(player.name);
59 game.broadcast_event_object('prompt', prompt);
61 response.sendStatus(200);
66 identifier: "empathy",
69 exports.Game = Empathy;