11-16-2020, 02:52 PM
Eric, I don't think that is the problem. TCapture does have a parameter because "MoveInTurn" is the parameter #1 and occurs in Tcapture as well. The value for this parameter is being passed down two levels as intended, and I have seen the compiler output showing how it interpreted everything and it is correct. I have also done this without using a define representing #1 and it has the same problem. If you don't believe me I can send it. I did this to test how Ludii does define replacements and to document the intent of what I am doing, which is necessarily complicated because of the nature of the game with double turns each containing variable length/number-of-decision moves. If you looked at the second file I sent. It is how the compiler understood tand replaced the defines, and the end of a long process of trying to match it to possible game configurations. - And the expansion IS correct as I intended it, the syntax was accepted as OK, but the game "couldn't be compiled"
I think the problem is more that the compiler game find a combination of game-flags that properly fits the mechanics of the game. But it also could be something in the graphics or metadata parts of the code.
I do try to use the process you describe, but often find that towards the end, I suddenly get garbage from the compiler, because the syntax is correct, but what I am trying to do is not. eg changes the flags the compiler sets for the game. - or because the added code requires an addition of a corresponding statement elsewhere that I am not aware is needed.
Can you check to see whether the compiler has a case that corresponds to what I am trying to do and what kind of game this game should be, if it can be handled?
I am using the pending value as a state variable to control both the kind of move, its range, and who the next player is (ie when moveAgain is applied ) and so on. It is a kind of machine, and perhaps this is something that can't yet be done? eg, can a metagame where one player decides which rules apply to the next playr's turn be handlesd by Ludii using a state variable to carry the choice information?
For example if I used (set Value Mover... Instead of (set Pending, or used (set Var .. (but Var doesn't seem to take integer values) how does the compiler treat it differently? Can a game use both (set Score Mover and (set Value Mover in the same game? If I used the pot to hold this information instead, what would happen?
If the new guide had more examples and info about pending and about phases, it would be helpful. Is the pending integer always referring to a site?
(sorry for so many questions)
I think the problem is more that the compiler game find a combination of game-flags that properly fits the mechanics of the game. But it also could be something in the graphics or metadata parts of the code.
I do try to use the process you describe, but often find that towards the end, I suddenly get garbage from the compiler, because the syntax is correct, but what I am trying to do is not. eg changes the flags the compiler sets for the game. - or because the added code requires an addition of a corresponding statement elsewhere that I am not aware is needed.
Can you check to see whether the compiler has a case that corresponds to what I am trying to do and what kind of game this game should be, if it can be handled?
I am using the pending value as a state variable to control both the kind of move, its range, and who the next player is (ie when moveAgain is applied ) and so on. It is a kind of machine, and perhaps this is something that can't yet be done? eg, can a metagame where one player decides which rules apply to the next playr's turn be handlesd by Ludii using a state variable to carry the choice information?
For example if I used (set Value Mover... Instead of (set Pending, or used (set Var .. (but Var doesn't seem to take integer values) how does the compiler treat it differently? Can a game use both (set Score Mover and (set Value Mover in the same game? If I used the pot to hold this information instead, what would happen?
If the new guide had more examples and info about pending and about phases, it would be helpful. Is the pending integer always referring to a site?
(sorry for so many questions)