second faking identities fixed and better leaving game
This commit is contained in:
parent
0f3ad3f71f
commit
d0e89672a9
27
src/app.py
27
src/app.py
|
@ -134,18 +134,17 @@ socketio = SocketIO(app)
|
||||||
@socketio.on('join')
|
@socketio.on('join')
|
||||||
def on_join(data):
|
def on_join(data):
|
||||||
room = data['room']
|
room = data['room']
|
||||||
|
if room not in games.keys():
|
||||||
|
return render_template('gamenotfound.html', title="Join Game", version=str(version))
|
||||||
if dohash(data["_gid"]) == room:
|
if dohash(data["_gid"]) == room:
|
||||||
pass
|
pass
|
||||||
elif games[room]["players"][data['username']][1] != data['_gid']:
|
elif games[room]["players"][data['username']][1] != data['_gid']:
|
||||||
return
|
return
|
||||||
if room not in games.keys():
|
|
||||||
return render_template('gamenotfound.html', title="Join Game", version=str(version))
|
|
||||||
join_room(str(room))
|
join_room(str(room))
|
||||||
nplayers = {}
|
nplayers = {}
|
||||||
for r in games[room]["players"].keys():
|
for r in games[room]["players"].keys():
|
||||||
nplayers[r] = games[room]["players"][r][0]
|
nplayers[r] = games[room]["players"][r][0]
|
||||||
msg = {"locked": games[room]["locked"], "players": nplayers}
|
msg = {"locked": games[room]["locked"], "players": nplayers}
|
||||||
print(msg)
|
|
||||||
emit('player_join_event', msg, room=room)
|
emit('player_join_event', msg, room=room)
|
||||||
|
|
||||||
|
|
||||||
|
@ -208,8 +207,8 @@ def host_msg(data):
|
||||||
elif "negs" in msg.keys():
|
elif "negs" in msg.keys():
|
||||||
if games[room]["buzzed"] == "":
|
if games[room]["buzzed"] == "":
|
||||||
return
|
return
|
||||||
games[room]["players"][games[room]["buzzed"]] -= games[room]["negs"]
|
games[room]["players"][games[room]["buzzed"]][0] -= games[room]["negs"]
|
||||||
username = games[room]["buzzed"][0]
|
username = games[room]["buzzed"]
|
||||||
games[room]["buzzed"] = ""
|
games[room]["buzzed"] = ""
|
||||||
nplayers = {}
|
nplayers = {}
|
||||||
for r in games[room]["players"].keys():
|
for r in games[room]["players"].keys():
|
||||||
|
@ -222,10 +221,10 @@ def host_msg(data):
|
||||||
@socketio.on('buzz')
|
@socketio.on('buzz')
|
||||||
def buzz(data):
|
def buzz(data):
|
||||||
room = data["room"]
|
room = data["room"]
|
||||||
if games[room]["players"][data["username"]][1] != data['_gid']:
|
|
||||||
return
|
|
||||||
if room not in games.keys():
|
if room not in games.keys():
|
||||||
return render_template('gamenotfound.html', title="Join Game", version=str(version))
|
return render_template('gamenotfound.html', title="Join Game", version=str(version))
|
||||||
|
if games[room]["players"][data["username"]][1] != data['_gid']:
|
||||||
|
return
|
||||||
if not games[room]["locked"]:
|
if not games[room]["locked"]:
|
||||||
games[room]["buzzed"] = data["username"]
|
games[room]["buzzed"] = data["username"]
|
||||||
emit("buzz_event", data, room=room) # Just send it back
|
emit("buzz_event", data, room=room) # Just send it back
|
||||||
|
@ -236,12 +235,22 @@ def buzz(data):
|
||||||
@socketio.on('leave')
|
@socketio.on('leave')
|
||||||
def on_leave(data):
|
def on_leave(data):
|
||||||
room = data['room']
|
room = data['room']
|
||||||
|
if room not in games.keys():
|
||||||
|
return render_template('gamenotfound.html', title="Join Game", version=str(version))
|
||||||
|
if "username" not in data.keys():
|
||||||
|
if dohash(data["_gid"]) == room:
|
||||||
|
app.logger.debug("Game host at " + data["_gid"] + " closed game at " + room)
|
||||||
|
leave_room(str(room))
|
||||||
|
emit('host_leave_event', {'host': 0}, room=room)
|
||||||
|
return
|
||||||
|
else:
|
||||||
|
return
|
||||||
|
if data["username"] in games[room]["players"].keys():
|
||||||
|
return # you have been kicked
|
||||||
if dohash(data["_gid"]) == room:
|
if dohash(data["_gid"]) == room:
|
||||||
pass
|
pass
|
||||||
elif games[room]["players"][data["username"]][1] != data['_gid']:
|
elif games[room]["players"][data["username"]][1] != data['_gid']:
|
||||||
return
|
return
|
||||||
if room not in games.keys():
|
|
||||||
return render_template('gamenotfound.html', title="Join Game", version=str(version))
|
|
||||||
username = ""
|
username = ""
|
||||||
if "username" in data.keys():
|
if "username" in data.keys():
|
||||||
username = data['username']
|
username = data['username']
|
||||||
|
|
Reference in New Issue
Block a user