aboutsummaryrefslogtreecommitdiff
path: root/src/player.mjs
diff options
context:
space:
mode:
authorKaran Jayachandra <karan.jayachandra@nxp.com>2025-11-14 15:58:36 +0100
committerKaran Jayachandra <karan.jayachandra@nxp.com>2025-11-14 15:58:36 +0100
commite4b599e57e076bef7caa8f5825bbca17540b571d (patch)
tree6c86ebeec49161bd459b7a79f7278e7e817bfc53 /src/player.mjs
parent51cf65e4d3e928a37b542acfb3de439c42907a9f (diff)
Unified the data classes
Diffstat (limited to 'src/player.mjs')
-rw-r--r--src/player.mjs60
1 files changed, 16 insertions, 44 deletions
diff --git a/src/player.mjs b/src/player.mjs
index 7ca2a1f..06b1abd 100644
--- a/src/player.mjs
+++ b/src/player.mjs
@@ -1,53 +1,24 @@
import { GuestManager } from "./guest.mjs";
-import { shuffle, Manager } from "./utils.mjs";
+import { shuffle, Manager, randomLevel, randomStatus } from "./utils.mjs";
+import { Player } from "./data";
-class Player {
- constructor(id, name, level, status, totalPlayed) {
- this.id = id;
- this.status = typeof status !== "undefined" ? status : false;
- this.name = name;
- this.level = typeof level !== "undefined" ? level : 1;
- this.totalPlayed = typeof totalPlayed !== "undefined" ? status : 0;
- }
- toggle() {
- this.status = !this.status;
- this.print();
- }
- print() {
- let status = this.status ? "active" : "inactive";
- console.log(this.name + " is currently " + status);
- }
- render() {
- let color = this.status ? "is-success" : "is-danger";
- let type = `class="button is-medium ${color}"`;
- return `<button id=${"regular_" + this.id} ${type}>${this.name}</button>`;
- }
-}
-
-function randomLevel() {
- const max_level = 10;
- return Math.floor(Math.random() * max_level + 1);
-}
-
-function randomStatus() {
- return Math.random() < 0.5;
-}
function parseLineToPlayer(data) {
var info = data.split(",");
var id = Number(info[0].trim());
var name = info[1].trim() + " " + info[2].trim();
var level = Number(info[3].trim());
- return new Player(id, name, level, true, 0);
+ return new Player(id, true, level, 0, name);
}
export class PlayerManager extends Manager {
g = new GuestManager();
constructor() {
- super("regular", []);
+ super();
console.log("Loading player data.");
- let data = JSON.parse(localStorage.getItem(this.description));
+ let tempPlayer = new Player();
+ let data = JSON.parse(localStorage.getItem(tempPlayer.description));
if (data === null || data.length === 0) {
console.log("Player data unavailable: " + data);
this.generate();
@@ -56,12 +27,12 @@ export class PlayerManager extends Manager {
for (let i = 0; i < data.length; i++) {
let id = Number(data[i].id);
let name = data[i].name;
- let level = data[i].level;
- let status = data[i].status;
- let totalPlayed = data[i].totalPlayed;
- this.listData.push(new Player(id, name, level, status, totalPlayed));
+ let level = Number(data[i].level);
+ let status = Boolean(Number(data[i].status));
+ let games = Number(data[i].games);
+ this.data.push(new Player(id, status, level, games, name));
}
- console.log("Loaded " + this.listData.length + " players.");
+ console.log("Loaded " + this.data.length + " players.");
this.render();
this.addBehaviour();
addLoadBehaviour(this);
@@ -70,10 +41,11 @@ export class PlayerManager extends Manager {
console.log("Generating player data.");
let maxPlayerCount = 71;
for (let i = 0; i < maxPlayerCount; i++) {
- let p = new Player(i, "Player " + i, randomLevel(), randomStatus(), 0);
- this.listData.push(p);
+ let p = new Player(i, randomStatus(), randomLevel());
+ console.log(p);
+ this.data.push(p);
}
- console.log("Generated data for " + this.listData.length + " players");
+ console.log("Generated data for " + this.data.length + " players");
this.store();
this.render();
}
@@ -90,7 +62,7 @@ export class PlayerManager extends Manager {
for (var i = 0; i < players.length; i++) {
players[i].print();
}
- this.listData = players;
+ this.data = players;
this.store();
this.render();
}