| Author |
Message |
Marcelo Portella (Portella)
New member Username: Portella
Post Number: 1 Registered: 7-2008
| | Posted on Tuesday, July 29, 2008 - 11:25 pm: | |
I have created 2 chess variants with zillions some years ago. Now I'm thinking of another variant, but since I don't use zillions for a while and remember about some of it's limitations, a just want to know if it's possible to program the following rule. I want to have each piece on the board moved once (if they have possible moves) before being able to move the first one for the second time. If possible I would like the order to be chosen randomly every "turn" (turn=one move each piece). If it's impossible to chose the order randomly, a previously established order would suffice, but player can't be able to choose wich piece to move, that is, he must move each piece once in a previously determined (randomly or not) order and will be able to move the first piece only when all others with possible moves have moved. Is it possible? |
M Winther (Kalroten)
New member Username: Kalroten
Post Number: 86 Registered: 1-2007
| | Posted on Wednesday, July 30, 2008 - 12:18 am: | |
You can have external invisible dummy pieces to denote whether a piece has been moved or not. So that's no problem. You can put a dummy piece randomly on an external invisible board and let each square of the board denote the real piece to be moved. In order to initiate randomomization one could push a button each turn, but perhaps there is another way. But aren't these rules a little awkward? /Mats |
M Winther (Kalroten)
New member Username: Kalroten
Post Number: 87 Registered: 1-2007
| | Posted on Wednesday, July 30, 2008 - 9:44 am: | |
The best way is perhaps to let a die determine which piece to move. See my Oblong Shatranj: http://hem.passagen.se/melki9/oblongshatranj.htm /Mats |
Marcelo Portella (Portella)
New member Username: Portella
Post Number: 2 Registered: 7-2008
| | Posted on Wednesday, July 30, 2008 - 12:18 pm: | |
Thanks Mark. But if I forget about the randomness. Since I'm planning a large board game, I think it will, perhaps, be overwhelmingly unpredictable with this random factor. Just for marking a piece that has already moved, can you recommend me some rule with an example of what you stated above. Thanks a lot. |
Greg Schmidt (Gschmidt2)
New member Username: Gschmidt2
Post Number: 70 Registered: 1-2007
| | Posted on Wednesday, July 30, 2008 - 2:25 pm: | |
[But if I forget about the randomness. Since I'm planning a large board game, I think it will, perhaps, be overwhelmingly unpredictable with this random factor.] Also, I believe randomness hinders Zillions ability to lookahead and find good moves. I think the best any program can do is to assume your opponent "makes" the luckiest random moves and that you "make" the unluckiest moves. It would then try to find a "best" move under those circumstances. -- Greg |
Marcelo Portella (Portella)
New member Username: Portella
Post Number: 3 Registered: 7-2008
| | Posted on Wednesday, July 30, 2008 - 8:15 pm: | |
That's one of the reasons I gave up with random selection of pieces. At first I thought that having only one piece available to move at a time would make zillions life easier, but then I realised that the engine would probably have to deal with the possible variations for each piece anyway. Well, I still want to have all pieces moved before being able to move the first one again. If you can point me to some rule where I can see an example of a method for freezing the moved pieces and then unfreezing all of them when the last one is moved, I would be grateful. |
Greg Schmidt (Gschmidt2)
New member Username: Gschmidt2
Post Number: 71 Registered: 1-2007
| | Posted on Wednesday, July 30, 2008 - 9:05 pm: | |
Unfortunately, I'm not aware of any games that have the property you describe. The best I can suggest at the moment is to look at the "set-attribute" keyword in the help file. I think a possible answer to your problem might involve using piece attributes. -- Greg |
Keith Carter (Keithc)
New member Username: Keithc
Post Number: 164 Registered: 8-2000
| | Posted on Wednesday, July 30, 2008 - 10:33 pm: | |
I have an idea that uses an attribute and two move priorities. Would this work? The attribute would be not-moved? and would start out true. The top move priority requires the not-moved? attribute of the piece to be true. Moving the piece changes it to be false. The second move priority requires the not-moved? attribute to be false. As part of the second priority move description the board is scanned and all friendly piece not-moved? attributes are reset to true. For example Knight Priority one move If not-moved? = true Knight move description Change not-moved? attribute to false Priority two move If not-moved? = false Knight move description Scan board setting all friendly pieces not-moved? attributes to true |
Marcelo Portella (Portella)
New member Username: Portella
Post Number: 4 Registered: 7-2008
| | Posted on Wednesday, July 30, 2008 - 11:44 pm: | |
Thank you all, Mats, Greg and Keith. Keith, I think it's a good idea. For such a long time I'm away from zillion, that I even forgot we could set move priorities. I think it may work... will give it a try. thanks |
Marcelo Portella (Portella)
New member Username: Portella
Post Number: 5 Registered: 7-2008
| | Posted on Sunday, August 03, 2008 - 10:57 pm: | |
Keith, the way you recommended work fine. I was willing to do something now that I really think might be impossible with zillions. It will probably be possible with axiom, but I'm no programmer and don't have the time to learn it at the moment being. Just to be sure, I will place the question. I want to have a random result after the move is done. For example, I move a piece to capture another and a dice is rolled to see if it succeeds. I thought about the possibility of previously rolling the dice using a random player without showing the results to the player, but then zillions AI would know the result on it's turn and play accordingly, what would be unfair. Is this possible to do with zillions? |