added answer check
This commit is contained in:
parent
0e0e615414
commit
71f5ee54de
@ -32,6 +32,7 @@ class Member:
|
|||||||
self.username = username
|
self.username = username
|
||||||
self.socket = None
|
self.socket = None
|
||||||
self.progress = 0
|
self.progress = 0
|
||||||
|
self.has_submitted = False
|
||||||
|
|
||||||
def __str__(self) -> str:
|
def __str__(self) -> str:
|
||||||
return "Member[username={}]".format(self.username)
|
return "Member[username={}]".format(self.username)
|
||||||
@ -82,6 +83,16 @@ class Game:
|
|||||||
reaction_id = self.reaction_table[npc_id][int(reaction)]
|
reaction_id = self.reaction_table[npc_id][int(reaction)]
|
||||||
return read_image(f"./truthseeker/static/images/npc/{npc_id}/{reaction_id}.png")
|
return read_image(f"./truthseeker/static/images/npc/{npc_id}/{reaction_id}.png")
|
||||||
|
|
||||||
|
def getPlayerResults(self,responses: dict):
|
||||||
|
results = {}
|
||||||
|
try:
|
||||||
|
for npc_id in responses:
|
||||||
|
results[npc_id] = responses[npc_id] == str(self.reaction_table[npc_id])
|
||||||
|
return results
|
||||||
|
except:
|
||||||
|
return False
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def has_finished(self):
|
def has_finished(self):
|
||||||
for member in self.members:
|
for member in self.members:
|
||||||
@ -142,10 +153,7 @@ def generateNpcText(npc: tables.Npc, lang: str) -> dict:
|
|||||||
return data
|
return data
|
||||||
|
|
||||||
def generateNpcReactions(npc : tables.Npc) ->list:
|
def generateNpcReactions(npc : tables.Npc) ->list:
|
||||||
data = []
|
return getNpcRandomTraitId(npc)
|
||||||
data.append(getNpcRandomTraitId(npc))
|
|
||||||
data.append(getNpcRandomTraitId(npc))
|
|
||||||
return data
|
|
||||||
|
|
||||||
def generatePlaceData(npcs :list, places: list, lang : str) -> dict:
|
def generatePlaceData(npcs :list, places: list, lang : str) -> dict:
|
||||||
data = {}
|
data = {}
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
import flask
|
import flask
|
||||||
|
import json
|
||||||
from truthseeker import APP
|
from truthseeker import APP
|
||||||
from truthseeker.logic import game_logic
|
from truthseeker.logic import game_logic
|
||||||
from truthseeker.utils import check_username
|
from truthseeker.utils import check_username
|
||||||
@ -128,3 +128,30 @@ def gameProgress():
|
|||||||
if game.has_finished() : APP.socketio_app.emit("gamefinshed",room="game."+game.game_id)
|
if game.has_finished() : APP.socketio_app.emit("gamefinshed",room="game."+game.game_id)
|
||||||
|
|
||||||
return {"error": 0}
|
return {"error": 0}
|
||||||
|
|
||||||
|
@routes_api.route("/submitAnswers", methods=["GET", "POST"])
|
||||||
|
def checkAnwser():
|
||||||
|
if not flask.session:
|
||||||
|
return {"error": 1, "msg": "No session"}
|
||||||
|
game = game_logic.get_game(flask.session["game_id"])
|
||||||
|
|
||||||
|
if game == None:
|
||||||
|
return {"error": 1, "msg": "this game doesn't exist"}
|
||||||
|
|
||||||
|
member = game.get_member(flask.session["username"])
|
||||||
|
|
||||||
|
if member.has_submitted == True:
|
||||||
|
return {"error": 1, "msg": "answers already submitted for this member"}
|
||||||
|
|
||||||
|
playerResponses = flask.request.values.get("responses")
|
||||||
|
|
||||||
|
if playerResponses == None:
|
||||||
|
return {"error": 1, "msg": "no responses were sent"}
|
||||||
|
results = game.getPlayerResults(json.loads(playerResponses))
|
||||||
|
if results == False:
|
||||||
|
return {"error": 1, "msg": "invalid npc sent"}
|
||||||
|
|
||||||
|
response = {"error": 0}
|
||||||
|
member.has_submitted = True
|
||||||
|
response["results"] = results
|
||||||
|
return response
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user