set Trump Color also uses websockets now

This commit is contained in:
Stefan Rupp 2020-05-22 15:09:45 +02:00
parent a1710cba4a
commit 4037822446
3 changed files with 25 additions and 2 deletions

View File

@ -7,6 +7,11 @@
let player = {{player}}
window.game_socket.send("playcard "+player+":"+card)
}
function setTrumpColor(color) {
let player = {{player}}
window.game_socket.send("setTrumpColor "+player+":"+color)
}
</script>
<div class="content">
@ -59,10 +64,16 @@
{% endfor %}
{% if choose_trump_color and (player == choose_trump_player) %}
<strong>Choose Trump Color:</strong>
<!--
<a href="/player/{{player}}/set_trump/r">Red&gt;</a>
<a href="/player/{{player}}/set_trump/g">Green&gt;</a>
<a href="/player/{{player}}/set_trump/b">Blue&gt;</a>
<a href="/player/{{player}}/set_trump/y">Yellow &gt;</a>
-->
<button onclick="setTrumpColor('r')">Red</button>
<button onclick="setTrumpColor('g')">Green</button>
<button onclick="setTrumpColor('b')">Blue</button>
<button onclick="setTrumpColor('y')">Yellow</button>
{% endif %}
<!--
<li>

View File

@ -52,7 +52,7 @@
};
socket.onerror = function(error) {
alert(`[error] ${error.message}`);
alert("[error]: "+error.message);
};
</script>
</head>

View File

@ -56,13 +56,20 @@ async def play(req, resp, player: str, card: str):
api.redirect(resp, url, status_code=303)
@api.route("/player/{player}/set_trump/{trump}")
async def set_trump_color(req, resp, player, trump):
async def set_trump_color_rest(req, resp, player, trump):
p = int(player)
the_game.set_trump_color(trump)
url = '/player/'+player
await the_game.send_page_reload()
api.redirect(resp, url, status_code=303)
async def set_trump_color(player, color):
p = int(player)
if p != the_game.players_ordered[-1].id:
print("error error error: not allowed")
else:
the_game.set_trump_color(color)
await the_game.send_page_reload()
@api.route('/ws', websocket=True)
async def websocket(ws):
@ -74,6 +81,11 @@ async def websocket(ws):
if fct == "playcard":
p, c = map(int, args.split(':'))
await play_card(p, c)
elif fct == "setTrumpColor":
player, color = args.split(':')
print("trump color choesen by {} is: {}".format(player, color))
await set_trump_color(player, color)
except WebSocketDisconnect:
the_game.websockets.remove(ws)