• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

htwg-codebreaker-org / codebreaker / 14938345043

09 May 2025 09:52PM UTC coverage: 92.361%. First build
14938345043

Pull #2

github

web-flow
Merge a9aa27378 into a73d205da
Pull Request #2: testing new repo token in coverals

133 of 144 relevant lines covered (92.36%)

0.92 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

100.0
/src/main/scala/de/htwg/codebreaker/model/Server.scala
1
// src/main/scala/de/htwg/codebreaker/model/Server.scala
2
package de.htwg.codebreaker.model
3

4
/**
5
 * Typen von Servern im Spiel.
6
 */
7
enum ServerType:
8
  case Side, Firm, Cloud, Bank, Military, GKS, Private
9

10
/**
11
 * Ein Server auf der Weltkarte.
12
 *
13
 * @param name        Anzeigename
14
 * @param tile        Position auf der Karte
15
 * @param difficulty  Schwierigkeit (0–100)
16
 * @param rewardCpu   CPU‑Belohnung
17
 * @param rewardRam   RAM‑Belohnung
18
 * @param hacked      Wurde der Server bereits gehackt?
19
 * @param serverType  Art des Servers
20
 * @param claimedBy   Optional: Spieler‑ID, der den Server besitzt
21
 */
22
case class Server(
23
  name: String,
24
  tile: Tile,
25
  difficulty: Int,
26
  rewardCpu: Int,
27
  rewardRam: Int,
28
  hacked: Boolean,
29
  serverType: ServerType,
30
  claimedBy: Option[Int] = None
1✔
31
)
32

33
/**
34
 * Blueprint für einen Fixed‑Server:
35
 * Name, feste Position und Werte‑Spannen für dynamische Erzeugung.
36
 */
37
case class ServerBlueprint(
38
  name: String,
39
  preferredPosition: (Int, Int),
40
  serverType: ServerType,
41
  difficultyRange: (Int, Int),
42
  rewardCpuRange: (Int, Int),
43
  rewardRamRange: (Int, Int)
44
)
45

46
object Server:
47
  /** Weist einem Server eine Spieler‑ID als Besitzer zu (funktional). */
48
  def claim(server: Server, playerIndex: Int): Server =
1✔
49
    server.copy(claimedBy = Some(playerIndex))
50

51
  /** Entfernt eine Besitz‑Zuweisung von einem Server (funktional). */
52
  def unclaim(server: Server): Server =
1✔
53
    server.copy(claimedBy = None)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc