aboutsummaryrefslogtreecommitdiff
path: root/src/lib/logic/players.js
blob: e11c32f3966e3deb9ab9bea8c0e0c3ba9b51d22a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
export function createCourt(id, status = false) {
  return {
    id,
    status,
    description: "Court",
    name: `Court ${id + 1}`,
  };
}

export const guestCategories = {
  0: { description: "Beginner", level: 1 },
  1: { description: "Novice", level: 3 },
  2: { description: "Intermediate", level: 6 },
};

export const GUESTS_PER_CATEGORY = 6;

export function createRegular(
  id,
  status = false,
  level = 1,
  games = 0,
  firstName = "Regular",
  lastName = id + 1
) {
  return {
    id,
    status,
    description: "Regular",
    level,
    games,
    firstName,
    lastName,
    name: `${firstName} ${lastName}`,
  };
}

export function createGuest(id, status = false, games = 0) {
  const categoryId = Math.floor(id / GUESTS_PER_CATEGORY) || 0;
  const category = guestCategories[categoryId];
  const guestNumber = (id % GUESTS_PER_CATEGORY) + 1;
  const firstName = category.description;
  const lastName = guestNumber;
  return {
    id,
    status,
    description: "Guest",
    level: category.level,
    games,
    firstName,
    lastName,
    name: `${firstName} ${lastName}`,
  };
}

export function createTeam(playerOne, playerTwo) {
  return { playerOne, playerTwo };
}

export function createGame(id, status, teamOne, teamTwo) {
  return {
    id,
    status,
    description: "Game",
    teamOne,
    teamTwo,
    name: `Game ${id + 1}`,
  };
}

export function isReserved(game) {
  return game.teamOne.playerOne.firstName === "RESERVED";
}