08-07-2020, 10:32 AM
(This post was last modified: 08-07-2020, 10:34 AM by AlekErickson.)
Hi, I realized something is wrong. The furthest Argument essentially forces players to choose the furthest move in line of sight of the last-placed stone,
but it should allow players to choose any cell in line of sight from the last-placed stone.
But, when I remove Farthest, then I am not able to place any stones past the first one.
It also seems strange to me that the checking for turn zero envelops the line of sight placements. When I make it inside of an "or" argument, like so:
(or(if (= (count Moves) 0)(move Add (to (sites Empty))))
(move Add (to (sites LineOfSight Farthest at:(last To)))))
the problem becomes that the game never detects an ending somehow - edit, it does detect an ending but the player needs to click an extra time on the board to trigger it, and the scoring doesn't correspond to what I expect.
If I remove the "or", I get this -
Unexpected syntax '(play (if (= (count M...' in '(rules (meta (swap)) (play (i..
Going back to the scoring issue - I see that there is no player specificity to the score - each player always gets the same score. I think this is because there is not P1/P2 designation in the scoring algorithm. So I try some things -
(end
(if
(no Moves Next)
(byScore
{
(score P1 (count (regions P1 Neighbours at:(last To))))
(score P2 (count (regions P2 Neighbours at:(last To))))
}
)
)
)
but it really fails. Do you know an answer for these?
I will post it to the forum as well.
Also - please ignore the "disappeared smilies" - those were :( in the code between "at" and "last".
but it should allow players to choose any cell in line of sight from the last-placed stone.
But, when I remove Farthest, then I am not able to place any stones past the first one.
It also seems strange to me that the checking for turn zero envelops the line of sight placements. When I make it inside of an "or" argument, like so:
(or(if (= (count Moves) 0)(move Add (to (sites Empty))))
(move Add (to (sites LineOfSight Farthest at:(last To)))))
the problem becomes that the game never detects an ending somehow - edit, it does detect an ending but the player needs to click an extra time on the board to trigger it, and the scoring doesn't correspond to what I expect.
If I remove the "or", I get this -
Unexpected syntax '(play (if (= (count M...' in '(rules (meta (swap)) (play (i..
Going back to the scoring issue - I see that there is no player specificity to the score - each player always gets the same score. I think this is because there is not P1/P2 designation in the scoring algorithm. So I try some things -
(end
(if
(no Moves Next)
(byScore
{
(score P1 (count (regions P1 Neighbours at:(last To))))
(score P2 (count (regions P2 Neighbours at:(last To))))
}
)
)
)
but it really fails. Do you know an answer for these?
I will post it to the forum as well.
Also - please ignore the "disappeared smilies" - those were :( in the code between "at" and "last".