can see player before joining game

This commit is contained in:
Djalim Simaila 2023-03-20 16:39:37 +01:00
parent 320b733bfd
commit cc3728b62f
4 changed files with 25 additions and 14 deletions

View File

@ -34,12 +34,13 @@ def create_game():
@routes_api.route("/getGameMembers", methods=["GET", "POST"])
def get_members():
if not flask.session:
return {"error": 1, "msg": "No session"}
game = game_logic.get_game(flask.session["game_id"])
game_id = flask.request.values.get("game_id")
print(50 * "#")
print(game_id)
print(50*"_")
game = game_logic.get_game(game_id)
if game is None:
return {"error": 1, "msg": "this game doesn't exist"}
response = {"error" : 0}
player_list = [member.username for member in game.members]
response["members"] = player_list

View File

@ -34,7 +34,7 @@ async function makeAPIRequest(endpoint, body, options={}) {
response.json().then(jsonResponse => {
if (typeof(jsonResponse["error"]) === 'number' && jsonResponse["error"] !== 0) {
const message = jsonResponse["msg"];
alert("Erreur du serveur : " + message);
alert("Erreur du serveur " + endpoint+ " : " + message);
reject(endpoint + ": " + message);
} else {
resolve(jsonResponse);

View File

@ -26,15 +26,6 @@ function displayRoomCode() {
* Display the players list element.
*/
function displayPlayerList() {
const response = makeAPIRequest("getGameMembers");
response.then(value => {
const playerList = document.querySelector(".player_names");
value["members"].forEach(username => {
playerList.appendChild(document.createTextNode(username + "\n"));
});
});
showFirstClassElement("players_list");
}
@ -98,6 +89,20 @@ function startChallengeGame() {
alert("Ce mode de jeu n'est malheureusement pas disponible.");
}
function getMembers(){
let data = {};
data['game_id'] = getRoomCode();
const response = makeAPIRequest("getGameMembers",data);
response.then(value => {
let divs = document.getElementsByClassName("player_names");
for (let playerList of divs) {
value["members"].forEach(username => {
console.log(username);
playerList.appendChild(document.createTextNode(username + "\n"));
});
}
});
}
// Join room functions
function joinRoom() {
@ -350,6 +355,7 @@ function initSock() {
* </p>
*/
async function initLobby() {
getMembers()
if (await hasJoinedRoom()) {
initSock();
displayRoomView();

View File

@ -19,6 +19,10 @@
<input type="hidden" id="game_id" name="game_id" value={{gameid}} />
<div class="join_room_view hidden">
<h1 class="room_title">Salon</h1>
<div class="unjoinded_players_list">
<h2 class="players_title">Joueurs</h2>
<div class="player_names"></div>
</div>
<input type="text" id="game_username" placeholder="Entrez un pseudo" value="" required="required" maxlength="20">
<button id="join_game_button" class="action_button">Rejoindre</button>
<p class="game_start_failed hidden">Une erreur s'est produite. Réessayez ultérieurement.</p>