I finished coding the Dungeon Twister module, I've scanned yesterday 
all content and today I was bringing it all toguether... In 
preliminary tests I've only used one counter over every board to 
check that it works, but now testing with more than one counter it 
CRASHES!! The error is a "CONCURRENTMODIFICATION" exception.
Tim Byrne found the same error some time before (look here 
http://games.groups.yahoo.com/group/vassalengine/message/7219)

I think the problem is the way VASSAL operates with the "Global Key 
Commads" and "Triggers", in my module the "BoardTile" over a zone 
invokes a "Global Key Command" for every piece in his ZONE  when 
rotated. There are 8 zones for the basic game and everyone with 25 or 
5x5 possible squares for the pieces over it.

The piece has one trigger for every position over the BoardTile, 
that's 25 triggers, every trigger is listening for the global key 
casted before (with the global key command), and launches a "Move 
Fixed Distance" trait (for its current position) if the Piece is in 
that position (LocationName property).

The order of the trigger traits is the one pictured here:

http://www.toposolitario.com/basura/fallo_vassal01.jpg

As you can see there are triggers like this
"if the piece is in the square 1 then moves it to square 5"
"if the piece is in the square 2 then moves it to square 10"
"if the piece is in the square 3 then moves it to square 15"
...and so on

The evaluation order is showed from 1 to 25 in the previous image.

If we got two pieces it usually crashes for example in this layout:

http://www.toposolitario.com/basura/fallo_vassal02.jpg

But this one DOESNT CRASH!!!... WHY?

http://www.toposolitario.com/basura/fallo_vassal03.jpg

The answer is that when the piece is in an square (for example 19) 
and the new position of the piece is a previously evaluated square 
(for example 17) it works, but when the piece is to be moved to 
another square evaluated later (for example from 5 to 25 in the 
crashing image) the CONCURRENTMODIFICATION exception jumps up!

The same happens even if the two pieces have different prototypes 
wich defines the movement or if I include a Dynamic property to mark 
them moved (and testing for that property when triggering)...

It is clearly a BUG and I didn't found anything to go through it... I 
need it to be solved or Dungeon Twister is impossible to be made. 
PLEASE! PLEASE! PLEASE!

TOPO - http://www.toposolitario.com




 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/vassalengine/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/vassalengine/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:[EMAIL PROTECTED] 
    mailto:[EMAIL PROTECTED]

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 

Reply via email to