| Author |
Message |
Ben Wilder (Animalia555)
New member Username: Animalia555
Post Number: 15 Registered: 1-2009
| | Posted on Saturday, March 20, 2010 - 12:07 am: | |
""how to make sure stones placed on the outer two lines of the board cannot be counted for towards the seven in a line" I am going to guess that it could be done with a zone. Make a zone out the outer two lines of the board and have the seven in a line test require not being in the zone. Or make a zone off all but the outer two lines and require membership in the zone." how do i do this? |
Greg Schmidt (Gschmidt2)
New member Username: Gschmidt2
Post Number: 123 Registered: 1-2007
| | Posted on Saturday, March 20, 2010 - 7:15 am: | |
When I first read your post above, I was confused until I realized it was a continuation from the following thread: "Zillions of Games Discussion Forum » Designing Games for Zillions » Can somebody help me design a zillions version of Irensei" The problem is that you don't want pieces in the edge zones to be considered by "relative-config" and "relative-config" does not appear to allow you to constrain it's checking to a zone, so I can understand your confusion. I would still keep the zone, but here's what I suggest. Create another piece type called "Stone2" which is otherwise identical to your current "Stone" piece. Make your "drop" code such that only a "Stone2" can be dropped on a location in the edge zone whereas "Stone" *cannot* be dropped in the edge zone. Since your test for "relative-config" is only for "Stone", it will disregard any "Stone2's" that it finds. Let's assume you have a zone which represents the entire edge (and corners too if I understand the rules correctly) called "border-zone". Then "Stone2" would only drop when (in-zone? border-zone) is true and "Stone" would only drop when (not (in-zone? border-zone)) is true. -- Greg |
Ben Wilder (Animalia555)
New member Username: Animalia555
Post Number: 16 Registered: 1-2009
| | Posted on Saturday, March 20, 2010 - 11:23 am: | |
wouldn't that mess up the feature of capturing stones though? for stones placed on the outer board should still be able to do that. To stones on the inner board. |
Greg Schmidt (Gschmidt2)
New member Username: Gschmidt2
Post Number: 124 Registered: 1-2007
| | Posted on Saturday, March 20, 2010 - 11:47 am: | |
Not if stones can only capture enemy stones. A "Stone" can capture any other enemy stone whether it is an opponent's "Stone" or a "Stone2". The same applies to "Stone2". -- Greg |
Ben Wilder (Animalia555)
New member Username: Animalia555
Post Number: 17 Registered: 1-2009
| | Posted on Saturday, March 20, 2010 - 11:07 pm: | |
I seem to be getting some parse errors now and i am not sure why |
Ben Wilder (Animalia555)
New member Username: Animalia555
Post Number: 18 Registered: 1-2009
| | Posted on Friday, March 26, 2010 - 4:41 pm: | |
would uploading and posting the file in question help? |
Ben Wilder (Animalia555)
New member Username: Animalia555
Post Number: 19 Registered: 1-2009
| | Posted on Saturday, March 27, 2010 - 3:47 pm: | |
http://www.megaupload.com/?d=EJMAL6MH there is the link |
Keith Carter (Keithc)
New member Username: Keithc
Post Number: 178 Registered: 8-2000
| | Posted on Sunday, March 28, 2010 - 11:24 pm: | |
You have mismatched parenthesis somewhere. You have 727 '(' and 728 ')' My suggestion it to use a text editor. Block off a section and then use search and replace. Replace '(' with '(' and select replace all. That will give you a count without changing your code. Then do the same search with ')'. When you get different results the mismatch is somewhere in that section. FWIW your board and zone definitions are balanced. |
Keith Carter (Keithc)
New member Username: Keithc
Post Number: 179 Registered: 8-2000
| | Posted on Sunday, March 28, 2010 - 11:29 pm: | |
It is somewhere between (game and the end of the file. |
Ben Wilder (Animalia555)
New member Username: Animalia555
Post Number: 20 Registered: 1-2009
| | Posted on Tuesday, March 30, 2010 - 10:16 pm: | |
i found the mismatched parenthese, but know i have another error http://www.megaupload.com/?d=2M0UHD5Z |
Keith Carter (Keithc)
New member Username: Keithc
Post Number: 180 Registered: 8-2000
| | Posted on Sunday, April 04, 2010 - 10:30 pm: | |
I will give this another round but first some disclaimers. - I have only done one zrf based game since the Axiom plug-in came out and that reused a lot of code. - I was never a strong programmer. - You don't say what the error was, that would provide a big clue. - Without the rest of the game's files I can't recreate the issue or test any solutions. -Taking on undocumented code cold is always difficult. That said it looks to me like you have a piece definition problem. First you define PiecesSmall as: (define PiecesSmall (name Stone) then after the (Game section you define PiecesSmall again as: (define PiecesSmall (name Stone2) The second definition overwrites the first. Then when your game setup uses Stone there is no definition for Stone only Stone2. |
Ben Wilder (Animalia555)
New member Username: Animalia555
Post Number: 21 Registered: 1-2009
| | Posted on Monday, April 05, 2010 - 7:47 am: | |
Then how would you go about dealing with this: "The problem is that you don't want pieces in the edge zones to be considered by "relative-config" and "relative-config" does not appear to allow you to constrain it's checking to a zone, so I can understand your confusion. I would still keep the zone, but here's what I suggest. Create another piece type called "Stone2" which is otherwise identical to your current "Stone" piece. Make your "drop" code such that only a "Stone2" can be dropped on a location in the edge zone whereas "Stone" *cannot* be dropped in the edge zone. Since your test for "relative-config" is only for "Stone", it will disregard any "Stone2's" that it finds. Let's assume you have a zone which represents the entire edge (and corners too if I understand the rules correctly) called "border-zone". Then "Stone2" would only drop when (in-zone? border-zone) is true and "Stone" would only drop when (not (in-zone? border-zone)) is true." |
Greg Schmidt (Gschmidt2)
New member Username: Gschmidt2
Post Number: 125 Registered: 1-2007
| | Posted on Monday, April 05, 2010 - 7:58 am: | |
"Then how would you go about dealing with this:" I think Keith is just saying that the macro names must be unique so you could deal with it as follows: (define PiecesSmall (name Stone) (define PiecesSmall2 (name Stone2) |