diff options
| author | Karan Jayachandra <karan.jayachandra@nxp.com> | 2025-11-14 17:16:37 +0100 |
|---|---|---|
| committer | Karan Jayachandra <karan.jayachandra@nxp.com> | 2025-11-14 17:16:37 +0100 |
| commit | baba5a39de4f699141438b122905888acd50ea53 (patch) | |
| tree | 38316ad7e769e97f45cde515d8885d813b04a888 /src/court.js | |
| parent | 27b3a8f4fe5f6259983a7bcf44e7e987f8e19e09 (diff) | |
Cleaned up the manager
Diffstat (limited to 'src/court.js')
| -rw-r--r-- | src/court.js | 139 |
1 files changed, 0 insertions, 139 deletions
diff --git a/src/court.js b/src/court.js deleted file mode 100644 index 31e828d..0000000 --- a/src/court.js +++ /dev/null @@ -1,139 +0,0 @@ -import { Court, Guest, Player } from "./data"; -import { shuffle, Manager, randomLevel, randomStatus } from "./utils"; - -export class CourtManager extends Manager { - constructor() { - super("Court", 12); - } - createItem(i) { - return new Court(i, randomStatus()); - } - loadItem(data) { - let id = Number(data.id); - let status = Boolean(Number(data.status)); - return new Court(id, status); - } -} - -export class GuestManager extends Manager { - constructor() { - super("Guest", 12); - } - createItem(i) { - return new Guest(i, randomStatus()); - } - loadItem(data) { - let id = Number(data.id); - let status = Boolean(Number(data.status)); - let games = data.games; - return new Guest(id, status, games); - } - active(factor) { - factor = typeof factor !== "undefined" ? factor : 1; - let data = super.active(); - console.log("Normalize skill by a factor of " + factor + "."); - let players = data.map(function (p) { - p.skill = Math.ceil(p.skill / factor); - return p; - }); - return players; - } -} - -export class PlayerManager extends Manager { - constructor() { - super("Regular", 71); - addLoadBehaviour(this); - this.g = new GuestManager(); - } - createItem(i) { - return new Player(i, randomStatus(), randomLevel()); - } - loadItem(data) { - let id = Number(data.id); - let name = data.name; - let level = Number(data.level); - let status = Boolean(Number(data.status)); - let games = Number(data.games); - return new Player(id, status, level, games, name); - } - import(data) { - var lines = data.split("\n"); - var players = []; - for (var i = 1; i < lines.length; i++) { - if (lines[i] == undefined || lines[i].trim() == "") { - continue; - } - players.push(parseLineToPlayer(lines[i])); - } - console.log("Loaded " + players.length + " Players"); - for (var i = 0; i < players.length; i++) { - players[i].print(); - } - this.data = players; - this.store(); - this.render(); - } - active(factor) { - factor = typeof factor !== "undefined" ? factor : 1; - let data = super.active(); - console.log("Normalize skill by a factor of " + factor + "."); - let players = data.map(function (p) { - p.skill = Math.ceil(p.skill / factor); - return p; - }); - return players; - } - propose(count) { - console.log("Required players are " + count); - let factor = Number(document.getElementById("skill").value); - console.log("Skill normalized by a factor of " + factor + "."); - let activePlayers = this.active(factor); - const activeGuests = this.g.active(factor); - activePlayers = activePlayers.concat(activeGuests); - console.log("Active players are:"); - console.log( - activePlayers - .map((i) => { - return i.name; - }) - .join(",") - ); - const shuffledPlayers = shuffle(activePlayers); - shuffledPlayers.sort((a, b) => a.totalPlayed - b.totalPlayed); - const selectedPlayers = shuffledPlayers.slice(0, count); - selectedPlayers.sort((a, b) => a.level - b.level); - console.log("Selected players are:"); - console.log( - selectedPlayers - .map((i) => { - return i.name; - }) - .join(",") - ); - return selectedPlayers; - } -} - -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, true, level, 0, name); -} - -function addLoadBehaviour(p) { - const f = document.querySelector("#player-load input[type=file]"); - f.addEventListener("change", () => { - const file = f.files[0]; - let importData; - console.log("Loading data from " + file.name); - const reader = new FileReader(); - reader.onload = function (e) { - importData = reader.result; - p.import(importData); - }; - reader.readAsText(file); - }); -} |
