This is the bare minimum, simply storing the answers. Going forward
we'll want to expand this to inform players when another player has
submitted, etc.
prompts: [],
active_prompt: null
};
prompts: [],
active_prompt: null
};
this.next_prompt_id = 1;
}
this.next_prompt_id = 1;
}
+
+ receive_answer(prompt_id, session_id, answers) {
+ const player = this.players_by_session[session_id];
+ if (! player)
+ return { valid: false, message: "Player not found" };
+
+ const prompt = this.state.prompts.find(p => p.id === prompt_id);
+ if (! prompt)
+ return { valid: false, message: "Prompt not found" };
+
+ if (prompt !== this.state.active_prompt)
+ return { valid: false, message: "Prompt no longer active" };
+
+ /* Save the complete answers for our own use later. */
+ this.answers.push({
+ player: player,
+ answers: answers
+ });
+
+ return { valid: true };
+ }
}
Empathy.router = express.Router();
}
Empathy.router = express.Router();
response.sendStatus(404);
});
response.sendStatus(404);
});
+router.post('/answer/:prompt_id([0-9]+)', (request, response) => {
+ const game = request.game;
+ const prompt_id = parseInt(request.params.prompt_id, 10);
+
+ const result = game.receive_answer(prompt_id,
+ request.session.id,
+ request.body.answers);
+ response.json(result);
+});
+
Empathy.meta = {
name: "Empathy",
identifier: "empathy",
Empathy.meta = {
name: "Empathy",
identifier: "empathy",