diff --git a/frontend/static/js/api/game/MyPlayer.js b/frontend/static/js/api/game/MyPlayer.js index e4f44fd..79f19fb 100644 --- a/frontend/static/js/api/game/MyPlayer.js +++ b/frontend/static/js/api/game/MyPlayer.js @@ -14,7 +14,7 @@ class MyPlayer extends Player */ constructor(client, game, rail, nb_goal, position) { - super(game, client.me.id, rail, nb_goal, position, true); + super(game, client.me.id, client.me.username, rail, nb_goal, position, true); /** * @type {Client} */ diff --git a/frontend/static/js/api/game/Player.js b/frontend/static/js/api/game/Player.js index a7eb437..74d5504 100644 --- a/frontend/static/js/api/game/Player.js +++ b/frontend/static/js/api/game/Player.js @@ -7,12 +7,13 @@ class Player /** * @param {Number} id * @param {Game} game - * @param {Segment} rail + * @param {Segment} rail * @param {Number} nb_goal * @param {Number} position * @param {Boolean} is_connected + * @param {String} username */ - constructor(game, id, rail, nb_goal, position, is_connected) + constructor(game, id, username, rail, nb_goal, position, is_connected) { /** * @type {Game} @@ -43,6 +44,11 @@ class Player * @type {Segment} */ this.rail = rail === undefined ? new Segment() : rail; + + /** + * @type {String} + */ + this.username = username; } /** @@ -90,30 +96,12 @@ class Player from_json(data) { - /** - * @type {Boolean} - */ - this.is_connected = data.is_connected; - /** - * @type {Number} - */ this.id = data.user_id; - - /** - * @type {Number} - */ this.position = data.position.position ; - - /** - * @type {Number} - */ this.nb_goal = data.nb_goal; - - /** - * @type {Segment} - */ this.rail = this.rail.from_json(data.rail); + this.username = data.username; return this; } diff --git a/frontend/static/js/lang/cr.json b/frontend/static/js/lang/cr.json index 82bf7c1..c5d8b44 100644 --- a/frontend/static/js/lang/cr.json +++ b/frontend/static/js/lang/cr.json @@ -35,5 +35,7 @@ "profileDenyRequest": "Refuser le cramptéman", "profileAcceptRequest": "Accepter le cramptéman", "profileUnblock": "Quoicoudebloquer", - "profileBlock": "Quoicoubloquer" + "profileBlock": "Quoicoubloquer", + "gameGoalTaken": "Tu es quoicoucringe", + "gamePlayersListName": "Crampteurs" } diff --git a/frontend/static/js/lang/en.json b/frontend/static/js/lang/en.json index 8bd8b4b..fab053d 100644 --- a/frontend/static/js/lang/en.json +++ b/frontend/static/js/lang/en.json @@ -35,5 +35,7 @@ "profileDenyRequest": "Decline Friend", "profileAcceptRequest": "Accept Friend", "profileUnblock": "Unblock", - "profileBlock": "Block" + "profileBlock": "Block", + "gameGoalTaken": "Goal Taken", + "gamePlayersListName": "Players" } diff --git a/frontend/static/js/lang/fr.json b/frontend/static/js/lang/fr.json index 06d2434..fa0294e 100644 --- a/frontend/static/js/lang/fr.json +++ b/frontend/static/js/lang/fr.json @@ -35,5 +35,7 @@ "profileDenyRequest": "Refuser l'ami", "profileAcceptRequest": "Accepter l'ami", "profileUnblock": "Débloquer", - "profileBlock": "Bloquer" + "profileBlock": "Bloquer", + "gameGoalTaken": "But pris", + "gamePlayersListName": "Joueurs" } diff --git a/frontend/static/js/views/GameView.js b/frontend/static/js/views/GameView.js index 86b92df..f70fd80 100644 --- a/frontend/static/js/views/GameView.js +++ b/frontend/static/js/views/GameView.js @@ -2,6 +2,7 @@ import { client } from "../index.js"; import { Game } from "../api/game/Game.js"; import AbstractView from "./abstracts/AbstractView.js"; import { MyPlayer } from "../api/game/MyPlayer.js"; +import { lang } from "../index.js" export default class extends AbstractView { @@ -94,7 +95,7 @@ export default class extends AbstractView this.my_player = new MyPlayer(client, this.game, my_player.rail, - my_player.nb_gool, + my_player.nb_goal, my_player.position, ); this.game.players[index] = this.my_player; @@ -113,6 +114,26 @@ export default class extends AbstractView await this.join_game(); } + display_players_list() + { + let players_list = document.getElementById("players_list"); + + this.game.players.forEach(player => { + console.log(player); + let tr = document.createElement("tr"); + let name = document.createElement("td"); + let goal = document.createElement("td"); + + name.innerText = player.username; + goal.innerText = player.nb_goal; + + tr.appendChild(name); + tr.appendChild(goal); + + players_list.appendChild(tr); + }); + } + async postInit() { let error_code = await this.game.init(); @@ -121,6 +142,7 @@ export default class extends AbstractView return error_code; await this.update_game_state(); + this.display_players_list(); } async leavePage() @@ -138,7 +160,17 @@ export default class extends AbstractView return /* HTML */ `
- + +${lang.get("gamePlayersListName")} | +${lang.get("gameGoalTaken")} | +
---|