You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
None, // capture. @TODO: Could be the pos of the piece that was on targetSquare described by the move (because line moves are basically just marbles jumping over other ones)
Copy file name to clipboardexpand all lines: src/main/scala/abalone/Move.scala
+1-1
Original file line number
Diff line number
Diff line change
@@ -10,7 +10,7 @@ case class Move(
10
10
situationBefore: Situation,
11
11
after: Board,
12
12
autoEndTurn: Boolean,
13
-
capture: Option[Pos] =None,
13
+
capture: Option[Pos] =None,// @TODO: could just be the dest Pos in a capture move (because line moves are basically just marbles jumping over other ones)
Copy file name to clipboardexpand all lines: src/main/scala/abalone/Role.scala
+3-1
Original file line number
Diff line number
Diff line change
@@ -19,9 +19,11 @@ sealed trait Role {
19
19
20
20
sealedtraitPromotableRoleextendsRole
21
21
22
-
caseobjectStoneextendsRole { // @TODO VFR: consider if we want a new "Marble" Role or if we just use Stone for Marbles (because these can move)
22
+
caseobjectStoneextendsRole { // @TODO VFR: consider if we want a new "Marble" Role or if we just use Stone for Marbles (because these can be rolling stones, not Oware "Stones")
// in case someone does not have more than 2 pieces, it could be considered as insufficient material to do anything
38
-
// But I'm not sure we do not want to allow having a board containing only 1 marble for a player : Could be interesting for teaching or puzzle purpose.
27
+
// But I'm not sure we do not want to allow having a board containing only 1 marble for a player : for didactic consideration e.g. the famous "hunt as 4 v 1"
39
28
defopponentHasInsufficientMaterial:Boolean=
40
29
false
41
30
@@ -45,17 +34,22 @@ case class Situation(board: Board, player: Player) {
0 commit comments