Skip to content

Commit 166bfbc

Browse files
committed
feat(plugin26): implement board cloning
1 parent 05ef158 commit 166bfbc

File tree

1 file changed

+5
-2
lines changed
  • plugin2026/src/main/kotlin/sc/plugin2026

1 file changed

+5
-2
lines changed

plugin2026/src/main/kotlin/sc/plugin2026/Board.kt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,14 @@ import com.thoughtworks.xstream.annotations.XStreamAlias
44
import sc.api.plugins.MutableTwoDBoard
55
import sc.api.plugins.RectangularBoard
66
import sc.api.plugins.Team
7+
import sc.api.plugins.deepCopy
78
import sc.plugin2026.FieldState.OBSTRUCTED
89
import sc.plugin2026.util.*
910
import kotlin.math.floor
1011

1112
/** Spielbrett für Piranhas mit [PiranhaConstants.BOARD_LENGTH]² Feldern. */
1213
@XStreamAlias(value = "board")
13-
class Board(override val gameField: MutableTwoDBoard<Field> = randomFields()): RectangularBoard<Field>(gameField) {
14+
class Board(gameField: MutableTwoDBoard<Field> = randomFields()): RectangularBoard<Field>(gameField) {
1415

1516
// TODO later
1617
//override fun toString() =
@@ -27,6 +28,9 @@ class Board(override val gameField: MutableTwoDBoard<Field> = randomFields()): R
2728
// return map.joinToString("\n", line + "\n", "\n" + line) { it.append('|').toString() }
2829
//}
2930

31+
override fun clone(): Board =
32+
Board(gameField.deepCopy())
33+
3034
companion object {
3135
/** Erstellt eine zufälliges Spielbrett. */
3236
private fun randomFields(): Array<Array<Field>> {
@@ -67,4 +71,3 @@ class Board(override val gameField: MutableTwoDBoard<Field> = randomFields()): R
6771
}
6872
}
6973
}
70-

0 commit comments

Comments
 (0)