You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
386 lines
88 KiB
386 lines
88 KiB
smg
|
|
|
|
formula AgentCannotMoveEastWall = (colAgent=13&rowAgent=1) | (colAgent=13&rowAgent=7) | (colAgent=13&rowAgent=8) | (colAgent=13&rowAgent=9);
|
|
formula AgentCannotMoveNorthWall = (colAgent=13&rowAgent=1) | (colAgent=7&rowAgent=1) | (colAgent=8&rowAgent=1) | (colAgent=9&rowAgent=1) | (colAgent=10&rowAgent=1);
|
|
formula AgentCannotMoveSouthWall = (colAgent=2&rowAgent=13);
|
|
formula AgentCannotMoveWestWall = false;
|
|
formula AgentIsOnSlipperyEast = (colAgent=7&rowAgent=3) | (colAgent=8&rowAgent=3) | (colAgent=9&rowAgent=3) | (colAgent=10&rowAgent=3) | (colAgent=4&rowAgent=4) | (colAgent=5&rowAgent=4) | (colAgent=4&rowAgent=6) | (colAgent=5&rowAgent=6) | (colAgent=11&rowAgent=6) | (colAgent=12&rowAgent=6) | (colAgent=13&rowAgent=6) | (colAgent=11&rowAgent=10) | (colAgent=12&rowAgent=10) | (colAgent=13&rowAgent=10) | (colAgent=4&rowAgent=12) | (colAgent=5&rowAgent=12);
|
|
formula AgentIsOnSlipperyNorth = (colAgent=6&rowAgent=1) | (colAgent=11&rowAgent=1) | (colAgent=6&rowAgent=2) | (colAgent=11&rowAgent=2) | (colAgent=3&rowAgent=5) | (colAgent=6&rowAgent=5) | (colAgent=10&rowAgent=7) | (colAgent=10&rowAgent=8) | (colAgent=3&rowAgent=9) | (colAgent=6&rowAgent=9) | (colAgent=10&rowAgent=9) | (colAgent=3&rowAgent=10) | (colAgent=6&rowAgent=10) | (colAgent=3&rowAgent=11) | (colAgent=6&rowAgent=11);
|
|
formula AgentIsOnSlipperyNorthEast = (colAgent=1&rowAgent=1) | (colAgent=2&rowAgent=1) | (colAgent=3&rowAgent=1) | (colAgent=4&rowAgent=1) | (colAgent=5&rowAgent=1) | (colAgent=12&rowAgent=1) | (colAgent=1&rowAgent=2) | (colAgent=2&rowAgent=2) | (colAgent=3&rowAgent=2) | (colAgent=4&rowAgent=2) | (colAgent=5&rowAgent=2) | (colAgent=12&rowAgent=2) | (colAgent=13&rowAgent=2) | (colAgent=1&rowAgent=3) | (colAgent=2&rowAgent=3) | (colAgent=3&rowAgent=3) | (colAgent=4&rowAgent=3) | (colAgent=5&rowAgent=3) | (colAgent=6&rowAgent=3) | (colAgent=11&rowAgent=3) | (colAgent=12&rowAgent=3) | (colAgent=13&rowAgent=3) | (colAgent=1&rowAgent=4) | (colAgent=2&rowAgent=4) | (colAgent=3&rowAgent=4) | (colAgent=6&rowAgent=4) | (colAgent=7&rowAgent=4) | (colAgent=8&rowAgent=4) | (colAgent=9&rowAgent=4) | (colAgent=10&rowAgent=4) | (colAgent=11&rowAgent=4) | (colAgent=12&rowAgent=4) | (colAgent=13&rowAgent=4) | (colAgent=1&rowAgent=5) | (colAgent=2&rowAgent=5) | (colAgent=7&rowAgent=5) | (colAgent=8&rowAgent=5) | (colAgent=9&rowAgent=5) | (colAgent=10&rowAgent=5) | (colAgent=11&rowAgent=5) | (colAgent=12&rowAgent=5) | (colAgent=13&rowAgent=5) | (colAgent=1&rowAgent=6) | (colAgent=2&rowAgent=6) | (colAgent=3&rowAgent=6) | (colAgent=6&rowAgent=6) | (colAgent=7&rowAgent=6) | (colAgent=9&rowAgent=6) | (colAgent=10&rowAgent=6) | (colAgent=1&rowAgent=7) | (colAgent=2&rowAgent=7) | (colAgent=3&rowAgent=7) | (colAgent=4&rowAgent=7) | (colAgent=6&rowAgent=7) | (colAgent=7&rowAgent=7) | (colAgent=8&rowAgent=7) | (colAgent=9&rowAgent=7) | (colAgent=1&rowAgent=8) | (colAgent=2&rowAgent=8) | (colAgent=3&rowAgent=8) | (colAgent=6&rowAgent=8) | (colAgent=7&rowAgent=8) | (colAgent=8&rowAgent=8) | (colAgent=9&rowAgent=8) | (colAgent=1&rowAgent=9) | (colAgent=2&rowAgent=9) | (colAgent=7&rowAgent=9) | (colAgent=8&rowAgent=9) | (colAgent=9&rowAgent=9) | (colAgent=1&rowAgent=10) | (colAgent=2&rowAgent=10) | (colAgent=7&rowAgent=10) | (colAgent=8&rowAgent=10) | (colAgent=9&rowAgent=10) | (colAgent=10&rowAgent=10) | (colAgent=1&rowAgent=11) | (colAgent=2&rowAgent=11) | (colAgent=7&rowAgent=11) | (colAgent=8&rowAgent=11) | (colAgent=9&rowAgent=11) | (colAgent=10&rowAgent=11) | (colAgent=11&rowAgent=11) | (colAgent=12&rowAgent=11) | (colAgent=13&rowAgent=11) | (colAgent=1&rowAgent=12) | (colAgent=2&rowAgent=12) | (colAgent=3&rowAgent=12) | (colAgent=6&rowAgent=12) | (colAgent=7&rowAgent=12) | (colAgent=8&rowAgent=12) | (colAgent=9&rowAgent=12) | (colAgent=10&rowAgent=12) | (colAgent=11&rowAgent=12) | (colAgent=12&rowAgent=12) | (colAgent=13&rowAgent=12) | (colAgent=1&rowAgent=13) | (colAgent=2&rowAgent=13) | (colAgent=3&rowAgent=13) | (colAgent=4&rowAgent=13) | (colAgent=5&rowAgent=13) | (colAgent=6&rowAgent=13) | (colAgent=7&rowAgent=13) | (colAgent=8&rowAgent=13) | (colAgent=9&rowAgent=13) | (colAgent=10&rowAgent=13) | (colAgent=11&rowAgent=13) | (colAgent=12&rowAgent=13) | (colAgent=13&rowAgent=13);
|
|
formula AgentIsOnSlipperyNorthWest = false;
|
|
formula AgentIsOnSlipperySouth = (colAgent=5&rowAgent=7) | (colAgent=5&rowAgent=8);
|
|
formula AgentIsOnSlipperySouthEast = false;
|
|
formula AgentIsOnSlipperySouthWest = false;
|
|
formula AgentIsOnSlipperyWest = (colAgent=4&rowAgent=8);
|
|
formula AgentIsOnSlippery = AgentIsOnSlipperyEast | AgentIsOnSlipperyNorth | AgentIsOnSlipperyNorthEast | AgentIsOnSlipperyNorthWest | AgentIsOnSlipperySouth | AgentIsOnSlipperySouthEast | AgentIsOnSlipperySouthWest | AgentIsOnSlipperyWest;
|
|
formula AgentCannotSlipEast = (colAgent+1=0&rowAgent=0) | (colAgent+1=1&rowAgent=0) | (colAgent+1=2&rowAgent=0) | (colAgent+1=3&rowAgent=0) | (colAgent+1=4&rowAgent=0) | (colAgent+1=5&rowAgent=0) | (colAgent+1=6&rowAgent=0) | (colAgent+1=7&rowAgent=0) | (colAgent+1=8&rowAgent=0) | (colAgent+1=9&rowAgent=0) | (colAgent+1=10&rowAgent=0) | (colAgent+1=11&rowAgent=0) | (colAgent+1=12&rowAgent=0) | (colAgent+1=13&rowAgent=0) | (colAgent+1=14&rowAgent=0) | (colAgent+1=0&rowAgent=1) | (colAgent+1=14&rowAgent=1) | (colAgent+1=0&rowAgent=2) | (colAgent+1=14&rowAgent=2) | (colAgent+1=0&rowAgent=3) | (colAgent+1=14&rowAgent=3) | (colAgent+1=0&rowAgent=4) | (colAgent+1=14&rowAgent=4) | (colAgent+1=0&rowAgent=5) | (colAgent+1=14&rowAgent=5) | (colAgent+1=0&rowAgent=6) | (colAgent+1=14&rowAgent=6) | (colAgent+1=0&rowAgent=7) | (colAgent+1=14&rowAgent=7) | (colAgent+1=0&rowAgent=8) | (colAgent+1=14&rowAgent=8) | (colAgent+1=0&rowAgent=9) | (colAgent+1=14&rowAgent=9) | (colAgent+1=0&rowAgent=10) | (colAgent+1=14&rowAgent=10) | (colAgent+1=0&rowAgent=11) | (colAgent+1=14&rowAgent=11) | (colAgent+1=0&rowAgent=12) | (colAgent+1=14&rowAgent=12) | (colAgent+1=0&rowAgent=13) | (colAgent+1=14&rowAgent=13) | (colAgent+1=0&rowAgent=14) | (colAgent+1=1&rowAgent=14) | (colAgent+1=2&rowAgent=14) | (colAgent+1=3&rowAgent=14) | (colAgent+1=4&rowAgent=14) | (colAgent+1=5&rowAgent=14) | (colAgent+1=6&rowAgent=14) | (colAgent+1=7&rowAgent=14) | (colAgent+1=8&rowAgent=14) | (colAgent+1=9&rowAgent=14) | (colAgent+1=10&rowAgent=14) | (colAgent+1=11&rowAgent=14) | (colAgent+1=12&rowAgent=14) | (colAgent+1=13&rowAgent=14) | (colAgent+1=14&rowAgent=14);
|
|
formula AgentCannotSlipNorth = (colAgent=0&rowAgent-1=0) | (colAgent=1&rowAgent-1=0) | (colAgent=2&rowAgent-1=0) | (colAgent=3&rowAgent-1=0) | (colAgent=4&rowAgent-1=0) | (colAgent=5&rowAgent-1=0) | (colAgent=6&rowAgent-1=0) | (colAgent=7&rowAgent-1=0) | (colAgent=8&rowAgent-1=0) | (colAgent=9&rowAgent-1=0) | (colAgent=10&rowAgent-1=0) | (colAgent=11&rowAgent-1=0) | (colAgent=12&rowAgent-1=0) | (colAgent=13&rowAgent-1=0) | (colAgent=14&rowAgent-1=0) | (colAgent=0&rowAgent-1=1) | (colAgent=14&rowAgent-1=1) | (colAgent=0&rowAgent-1=2) | (colAgent=14&rowAgent-1=2) | (colAgent=0&rowAgent-1=3) | (colAgent=14&rowAgent-1=3) | (colAgent=0&rowAgent-1=4) | (colAgent=14&rowAgent-1=4) | (colAgent=0&rowAgent-1=5) | (colAgent=14&rowAgent-1=5) | (colAgent=0&rowAgent-1=6) | (colAgent=14&rowAgent-1=6) | (colAgent=0&rowAgent-1=7) | (colAgent=14&rowAgent-1=7) | (colAgent=0&rowAgent-1=8) | (colAgent=14&rowAgent-1=8) | (colAgent=0&rowAgent-1=9) | (colAgent=14&rowAgent-1=9) | (colAgent=0&rowAgent-1=10) | (colAgent=14&rowAgent-1=10) | (colAgent=0&rowAgent-1=11) | (colAgent=14&rowAgent-1=11) | (colAgent=0&rowAgent-1=12) | (colAgent=14&rowAgent-1=12) | (colAgent=0&rowAgent-1=13) | (colAgent=14&rowAgent-1=13) | (colAgent=0&rowAgent-1=14) | (colAgent=1&rowAgent-1=14) | (colAgent=2&rowAgent-1=14) | (colAgent=3&rowAgent-1=14) | (colAgent=4&rowAgent-1=14) | (colAgent=5&rowAgent-1=14) | (colAgent=6&rowAgent-1=14) | (colAgent=7&rowAgent-1=14) | (colAgent=8&rowAgent-1=14) | (colAgent=9&rowAgent-1=14) | (colAgent=10&rowAgent-1=14) | (colAgent=11&rowAgent-1=14) | (colAgent=12&rowAgent-1=14) | (colAgent=13&rowAgent-1=14) | (colAgent=14&rowAgent-1=14);
|
|
formula AgentCannotSlipNorthEast = (colAgent+1=0&rowAgent-1=0) | (colAgent+1=1&rowAgent-1=0) | (colAgent+1=2&rowAgent-1=0) | (colAgent+1=3&rowAgent-1=0) | (colAgent+1=4&rowAgent-1=0) | (colAgent+1=5&rowAgent-1=0) | (colAgent+1=6&rowAgent-1=0) | (colAgent+1=7&rowAgent-1=0) | (colAgent+1=8&rowAgent-1=0) | (colAgent+1=9&rowAgent-1=0) | (colAgent+1=10&rowAgent-1=0) | (colAgent+1=11&rowAgent-1=0) | (colAgent+1=12&rowAgent-1=0) | (colAgent+1=13&rowAgent-1=0) | (colAgent+1=14&rowAgent-1=0) | (colAgent+1=0&rowAgent-1=1) | (colAgent+1=14&rowAgent-1=1) | (colAgent+1=0&rowAgent-1=2) | (colAgent+1=14&rowAgent-1=2) | (colAgent+1=0&rowAgent-1=3) | (colAgent+1=14&rowAgent-1=3) | (colAgent+1=0&rowAgent-1=4) | (colAgent+1=14&rowAgent-1=4) | (colAgent+1=0&rowAgent-1=5) | (colAgent+1=14&rowAgent-1=5) | (colAgent+1=0&rowAgent-1=6) | (colAgent+1=14&rowAgent-1=6) | (colAgent+1=0&rowAgent-1=7) | (colAgent+1=14&rowAgent-1=7) | (colAgent+1=0&rowAgent-1=8) | (colAgent+1=14&rowAgent-1=8) | (colAgent+1=0&rowAgent-1=9) | (colAgent+1=14&rowAgent-1=9) | (colAgent+1=0&rowAgent-1=10) | (colAgent+1=14&rowAgent-1=10) | (colAgent+1=0&rowAgent-1=11) | (colAgent+1=14&rowAgent-1=11) | (colAgent+1=0&rowAgent-1=12) | (colAgent+1=14&rowAgent-1=12) | (colAgent+1=0&rowAgent-1=13) | (colAgent+1=14&rowAgent-1=13) | (colAgent+1=0&rowAgent-1=14) | (colAgent+1=1&rowAgent-1=14) | (colAgent+1=2&rowAgent-1=14) | (colAgent+1=3&rowAgent-1=14) | (colAgent+1=4&rowAgent-1=14) | (colAgent+1=5&rowAgent-1=14) | (colAgent+1=6&rowAgent-1=14) | (colAgent+1=7&rowAgent-1=14) | (colAgent+1=8&rowAgent-1=14) | (colAgent+1=9&rowAgent-1=14) | (colAgent+1=10&rowAgent-1=14) | (colAgent+1=11&rowAgent-1=14) | (colAgent+1=12&rowAgent-1=14) | (colAgent+1=13&rowAgent-1=14) | (colAgent+1=14&rowAgent-1=14);
|
|
formula AgentCannotSlipNorthWest = (colAgent-1=0&rowAgent-1=0) | (colAgent-1=1&rowAgent-1=0) | (colAgent-1=2&rowAgent-1=0) | (colAgent-1=3&rowAgent-1=0) | (colAgent-1=4&rowAgent-1=0) | (colAgent-1=5&rowAgent-1=0) | (colAgent-1=6&rowAgent-1=0) | (colAgent-1=7&rowAgent-1=0) | (colAgent-1=8&rowAgent-1=0) | (colAgent-1=9&rowAgent-1=0) | (colAgent-1=10&rowAgent-1=0) | (colAgent-1=11&rowAgent-1=0) | (colAgent-1=12&rowAgent-1=0) | (colAgent-1=13&rowAgent-1=0) | (colAgent-1=14&rowAgent-1=0) | (colAgent-1=0&rowAgent-1=1) | (colAgent-1=14&rowAgent-1=1) | (colAgent-1=0&rowAgent-1=2) | (colAgent-1=14&rowAgent-1=2) | (colAgent-1=0&rowAgent-1=3) | (colAgent-1=14&rowAgent-1=3) | (colAgent-1=0&rowAgent-1=4) | (colAgent-1=14&rowAgent-1=4) | (colAgent-1=0&rowAgent-1=5) | (colAgent-1=14&rowAgent-1=5) | (colAgent-1=0&rowAgent-1=6) | (colAgent-1=14&rowAgent-1=6) | (colAgent-1=0&rowAgent-1=7) | (colAgent-1=14&rowAgent-1=7) | (colAgent-1=0&rowAgent-1=8) | (colAgent-1=14&rowAgent-1=8) | (colAgent-1=0&rowAgent-1=9) | (colAgent-1=14&rowAgent-1=9) | (colAgent-1=0&rowAgent-1=10) | (colAgent-1=14&rowAgent-1=10) | (colAgent-1=0&rowAgent-1=11) | (colAgent-1=14&rowAgent-1=11) | (colAgent-1=0&rowAgent-1=12) | (colAgent-1=14&rowAgent-1=12) | (colAgent-1=0&rowAgent-1=13) | (colAgent-1=14&rowAgent-1=13) | (colAgent-1=0&rowAgent-1=14) | (colAgent-1=1&rowAgent-1=14) | (colAgent-1=2&rowAgent-1=14) | (colAgent-1=3&rowAgent-1=14) | (colAgent-1=4&rowAgent-1=14) | (colAgent-1=5&rowAgent-1=14) | (colAgent-1=6&rowAgent-1=14) | (colAgent-1=7&rowAgent-1=14) | (colAgent-1=8&rowAgent-1=14) | (colAgent-1=9&rowAgent-1=14) | (colAgent-1=10&rowAgent-1=14) | (colAgent-1=11&rowAgent-1=14) | (colAgent-1=12&rowAgent-1=14) | (colAgent-1=13&rowAgent-1=14) | (colAgent-1=14&rowAgent-1=14);
|
|
formula AgentCannotSlipSouth = (colAgent=0&rowAgent+1=0) | (colAgent=1&rowAgent+1=0) | (colAgent=2&rowAgent+1=0) | (colAgent=3&rowAgent+1=0) | (colAgent=4&rowAgent+1=0) | (colAgent=5&rowAgent+1=0) | (colAgent=6&rowAgent+1=0) | (colAgent=7&rowAgent+1=0) | (colAgent=8&rowAgent+1=0) | (colAgent=9&rowAgent+1=0) | (colAgent=10&rowAgent+1=0) | (colAgent=11&rowAgent+1=0) | (colAgent=12&rowAgent+1=0) | (colAgent=13&rowAgent+1=0) | (colAgent=14&rowAgent+1=0) | (colAgent=0&rowAgent+1=1) | (colAgent=14&rowAgent+1=1) | (colAgent=0&rowAgent+1=2) | (colAgent=14&rowAgent+1=2) | (colAgent=0&rowAgent+1=3) | (colAgent=14&rowAgent+1=3) | (colAgent=0&rowAgent+1=4) | (colAgent=14&rowAgent+1=4) | (colAgent=0&rowAgent+1=5) | (colAgent=14&rowAgent+1=5) | (colAgent=0&rowAgent+1=6) | (colAgent=14&rowAgent+1=6) | (colAgent=0&rowAgent+1=7) | (colAgent=14&rowAgent+1=7) | (colAgent=0&rowAgent+1=8) | (colAgent=14&rowAgent+1=8) | (colAgent=0&rowAgent+1=9) | (colAgent=14&rowAgent+1=9) | (colAgent=0&rowAgent+1=10) | (colAgent=14&rowAgent+1=10) | (colAgent=0&rowAgent+1=11) | (colAgent=14&rowAgent+1=11) | (colAgent=0&rowAgent+1=12) | (colAgent=14&rowAgent+1=12) | (colAgent=0&rowAgent+1=13) | (colAgent=14&rowAgent+1=13) | (colAgent=0&rowAgent+1=14) | (colAgent=1&rowAgent+1=14) | (colAgent=2&rowAgent+1=14) | (colAgent=3&rowAgent+1=14) | (colAgent=4&rowAgent+1=14) | (colAgent=5&rowAgent+1=14) | (colAgent=6&rowAgent+1=14) | (colAgent=7&rowAgent+1=14) | (colAgent=8&rowAgent+1=14) | (colAgent=9&rowAgent+1=14) | (colAgent=10&rowAgent+1=14) | (colAgent=11&rowAgent+1=14) | (colAgent=12&rowAgent+1=14) | (colAgent=13&rowAgent+1=14) | (colAgent=14&rowAgent+1=14);
|
|
formula AgentCannotSlipSouthEast = (colAgent+1=0&rowAgent+1=0) | (colAgent+1=1&rowAgent+1=0) | (colAgent+1=2&rowAgent+1=0) | (colAgent+1=3&rowAgent+1=0) | (colAgent+1=4&rowAgent+1=0) | (colAgent+1=5&rowAgent+1=0) | (colAgent+1=6&rowAgent+1=0) | (colAgent+1=7&rowAgent+1=0) | (colAgent+1=8&rowAgent+1=0) | (colAgent+1=9&rowAgent+1=0) | (colAgent+1=10&rowAgent+1=0) | (colAgent+1=11&rowAgent+1=0) | (colAgent+1=12&rowAgent+1=0) | (colAgent+1=13&rowAgent+1=0) | (colAgent+1=14&rowAgent+1=0) | (colAgent+1=0&rowAgent+1=1) | (colAgent+1=14&rowAgent+1=1) | (colAgent+1=0&rowAgent+1=2) | (colAgent+1=14&rowAgent+1=2) | (colAgent+1=0&rowAgent+1=3) | (colAgent+1=14&rowAgent+1=3) | (colAgent+1=0&rowAgent+1=4) | (colAgent+1=14&rowAgent+1=4) | (colAgent+1=0&rowAgent+1=5) | (colAgent+1=14&rowAgent+1=5) | (colAgent+1=0&rowAgent+1=6) | (colAgent+1=14&rowAgent+1=6) | (colAgent+1=0&rowAgent+1=7) | (colAgent+1=14&rowAgent+1=7) | (colAgent+1=0&rowAgent+1=8) | (colAgent+1=14&rowAgent+1=8) | (colAgent+1=0&rowAgent+1=9) | (colAgent+1=14&rowAgent+1=9) | (colAgent+1=0&rowAgent+1=10) | (colAgent+1=14&rowAgent+1=10) | (colAgent+1=0&rowAgent+1=11) | (colAgent+1=14&rowAgent+1=11) | (colAgent+1=0&rowAgent+1=12) | (colAgent+1=14&rowAgent+1=12) | (colAgent+1=0&rowAgent+1=13) | (colAgent+1=14&rowAgent+1=13) | (colAgent+1=0&rowAgent+1=14) | (colAgent+1=1&rowAgent+1=14) | (colAgent+1=2&rowAgent+1=14) | (colAgent+1=3&rowAgent+1=14) | (colAgent+1=4&rowAgent+1=14) | (colAgent+1=5&rowAgent+1=14) | (colAgent+1=6&rowAgent+1=14) | (colAgent+1=7&rowAgent+1=14) | (colAgent+1=8&rowAgent+1=14) | (colAgent+1=9&rowAgent+1=14) | (colAgent+1=10&rowAgent+1=14) | (colAgent+1=11&rowAgent+1=14) | (colAgent+1=12&rowAgent+1=14) | (colAgent+1=13&rowAgent+1=14) | (colAgent+1=14&rowAgent+1=14);
|
|
formula AgentCannotSlipSouthWest = (colAgent-1=0&rowAgent+1=0) | (colAgent-1=1&rowAgent+1=0) | (colAgent-1=2&rowAgent+1=0) | (colAgent-1=3&rowAgent+1=0) | (colAgent-1=4&rowAgent+1=0) | (colAgent-1=5&rowAgent+1=0) | (colAgent-1=6&rowAgent+1=0) | (colAgent-1=7&rowAgent+1=0) | (colAgent-1=8&rowAgent+1=0) | (colAgent-1=9&rowAgent+1=0) | (colAgent-1=10&rowAgent+1=0) | (colAgent-1=11&rowAgent+1=0) | (colAgent-1=12&rowAgent+1=0) | (colAgent-1=13&rowAgent+1=0) | (colAgent-1=14&rowAgent+1=0) | (colAgent-1=0&rowAgent+1=1) | (colAgent-1=14&rowAgent+1=1) | (colAgent-1=0&rowAgent+1=2) | (colAgent-1=14&rowAgent+1=2) | (colAgent-1=0&rowAgent+1=3) | (colAgent-1=14&rowAgent+1=3) | (colAgent-1=0&rowAgent+1=4) | (colAgent-1=14&rowAgent+1=4) | (colAgent-1=0&rowAgent+1=5) | (colAgent-1=14&rowAgent+1=5) | (colAgent-1=0&rowAgent+1=6) | (colAgent-1=14&rowAgent+1=6) | (colAgent-1=0&rowAgent+1=7) | (colAgent-1=14&rowAgent+1=7) | (colAgent-1=0&rowAgent+1=8) | (colAgent-1=14&rowAgent+1=8) | (colAgent-1=0&rowAgent+1=9) | (colAgent-1=14&rowAgent+1=9) | (colAgent-1=0&rowAgent+1=10) | (colAgent-1=14&rowAgent+1=10) | (colAgent-1=0&rowAgent+1=11) | (colAgent-1=14&rowAgent+1=11) | (colAgent-1=0&rowAgent+1=12) | (colAgent-1=14&rowAgent+1=12) | (colAgent-1=0&rowAgent+1=13) | (colAgent-1=14&rowAgent+1=13) | (colAgent-1=0&rowAgent+1=14) | (colAgent-1=1&rowAgent+1=14) | (colAgent-1=2&rowAgent+1=14) | (colAgent-1=3&rowAgent+1=14) | (colAgent-1=4&rowAgent+1=14) | (colAgent-1=5&rowAgent+1=14) | (colAgent-1=6&rowAgent+1=14) | (colAgent-1=7&rowAgent+1=14) | (colAgent-1=8&rowAgent+1=14) | (colAgent-1=9&rowAgent+1=14) | (colAgent-1=10&rowAgent+1=14) | (colAgent-1=11&rowAgent+1=14) | (colAgent-1=12&rowAgent+1=14) | (colAgent-1=13&rowAgent+1=14) | (colAgent-1=14&rowAgent+1=14);
|
|
formula AgentCannotSlipWest = (colAgent-1=0&rowAgent=0) | (colAgent-1=1&rowAgent=0) | (colAgent-1=2&rowAgent=0) | (colAgent-1=3&rowAgent=0) | (colAgent-1=4&rowAgent=0) | (colAgent-1=5&rowAgent=0) | (colAgent-1=6&rowAgent=0) | (colAgent-1=7&rowAgent=0) | (colAgent-1=8&rowAgent=0) | (colAgent-1=9&rowAgent=0) | (colAgent-1=10&rowAgent=0) | (colAgent-1=11&rowAgent=0) | (colAgent-1=12&rowAgent=0) | (colAgent-1=13&rowAgent=0) | (colAgent-1=14&rowAgent=0) | (colAgent-1=0&rowAgent=1) | (colAgent-1=14&rowAgent=1) | (colAgent-1=0&rowAgent=2) | (colAgent-1=14&rowAgent=2) | (colAgent-1=0&rowAgent=3) | (colAgent-1=14&rowAgent=3) | (colAgent-1=0&rowAgent=4) | (colAgent-1=14&rowAgent=4) | (colAgent-1=0&rowAgent=5) | (colAgent-1=14&rowAgent=5) | (colAgent-1=0&rowAgent=6) | (colAgent-1=14&rowAgent=6) | (colAgent-1=0&rowAgent=7) | (colAgent-1=14&rowAgent=7) | (colAgent-1=0&rowAgent=8) | (colAgent-1=14&rowAgent=8) | (colAgent-1=0&rowAgent=9) | (colAgent-1=14&rowAgent=9) | (colAgent-1=0&rowAgent=10) | (colAgent-1=14&rowAgent=10) | (colAgent-1=0&rowAgent=11) | (colAgent-1=14&rowAgent=11) | (colAgent-1=0&rowAgent=12) | (colAgent-1=14&rowAgent=12) | (colAgent-1=0&rowAgent=13) | (colAgent-1=14&rowAgent=13) | (colAgent-1=0&rowAgent=14) | (colAgent-1=1&rowAgent=14) | (colAgent-1=2&rowAgent=14) | (colAgent-1=3&rowAgent=14) | (colAgent-1=4&rowAgent=14) | (colAgent-1=5&rowAgent=14) | (colAgent-1=6&rowAgent=14) | (colAgent-1=7&rowAgent=14) | (colAgent-1=8&rowAgent=14) | (colAgent-1=9&rowAgent=14) | (colAgent-1=10&rowAgent=14) | (colAgent-1=11&rowAgent=14) | (colAgent-1=12&rowAgent=14) | (colAgent-1=13&rowAgent=14) | (colAgent-1=14&rowAgent=14);
|
|
formula AgentIsOnLava = (colAgent=7&rowAgent=1) | (colAgent=8&rowAgent=1) | (colAgent=9&rowAgent=1) | (colAgent=10&rowAgent=1) | (colAgent=7&rowAgent=2) | (colAgent=8&rowAgent=2) | (colAgent=9&rowAgent=2) | (colAgent=10&rowAgent=2) | (colAgent=4&rowAgent=5) | (colAgent=5&rowAgent=5) | (colAgent=11&rowAgent=7) | (colAgent=12&rowAgent=7) | (colAgent=13&rowAgent=7) | (colAgent=11&rowAgent=8) | (colAgent=12&rowAgent=8) | (colAgent=13&rowAgent=8) | (colAgent=4&rowAgent=9) | (colAgent=5&rowAgent=9) | (colAgent=11&rowAgent=9) | (colAgent=12&rowAgent=9) | (colAgent=13&rowAgent=9) | (colAgent=4&rowAgent=10) | (colAgent=5&rowAgent=10) | (colAgent=4&rowAgent=11) | (colAgent=5&rowAgent=11);
|
|
formula AgentIsOnGoal = (colAgent=13&rowAgent=1);
|
|
formula BlueCannotMoveEastWall = (colBlue=13&rowBlue=1) | (colBlue=13&rowBlue=7) | (colBlue=13&rowBlue=8) | (colBlue=13&rowBlue=9);
|
|
formula BlueCannotMoveNorthWall = (colBlue=13&rowBlue=1) | (colBlue=7&rowBlue=1) | (colBlue=8&rowBlue=1) | (colBlue=9&rowBlue=1) | (colBlue=10&rowBlue=1);
|
|
formula BlueCannotMoveSouthWall = (colBlue=2&rowBlue=13);
|
|
formula BlueCannotMoveWestWall = false;
|
|
formula BlueIsOnSlipperyEast = (colBlue=7&rowBlue=3) | (colBlue=8&rowBlue=3) | (colBlue=9&rowBlue=3) | (colBlue=10&rowBlue=3) | (colBlue=4&rowBlue=4) | (colBlue=5&rowBlue=4) | (colBlue=4&rowBlue=6) | (colBlue=5&rowBlue=6) | (colBlue=11&rowBlue=6) | (colBlue=12&rowBlue=6) | (colBlue=13&rowBlue=6) | (colBlue=11&rowBlue=10) | (colBlue=12&rowBlue=10) | (colBlue=13&rowBlue=10) | (colBlue=4&rowBlue=12) | (colBlue=5&rowBlue=12);
|
|
formula BlueIsOnSlipperyNorth = (colBlue=6&rowBlue=1) | (colBlue=11&rowBlue=1) | (colBlue=6&rowBlue=2) | (colBlue=11&rowBlue=2) | (colBlue=3&rowBlue=5) | (colBlue=6&rowBlue=5) | (colBlue=10&rowBlue=7) | (colBlue=10&rowBlue=8) | (colBlue=3&rowBlue=9) | (colBlue=6&rowBlue=9) | (colBlue=10&rowBlue=9) | (colBlue=3&rowBlue=10) | (colBlue=6&rowBlue=10) | (colBlue=3&rowBlue=11) | (colBlue=6&rowBlue=11);
|
|
formula BlueIsOnSlipperyNorthEast = (colBlue=1&rowBlue=1) | (colBlue=2&rowBlue=1) | (colBlue=3&rowBlue=1) | (colBlue=4&rowBlue=1) | (colBlue=5&rowBlue=1) | (colBlue=12&rowBlue=1) | (colBlue=1&rowBlue=2) | (colBlue=2&rowBlue=2) | (colBlue=3&rowBlue=2) | (colBlue=4&rowBlue=2) | (colBlue=5&rowBlue=2) | (colBlue=12&rowBlue=2) | (colBlue=13&rowBlue=2) | (colBlue=1&rowBlue=3) | (colBlue=2&rowBlue=3) | (colBlue=3&rowBlue=3) | (colBlue=4&rowBlue=3) | (colBlue=5&rowBlue=3) | (colBlue=6&rowBlue=3) | (colBlue=11&rowBlue=3) | (colBlue=12&rowBlue=3) | (colBlue=13&rowBlue=3) | (colBlue=1&rowBlue=4) | (colBlue=2&rowBlue=4) | (colBlue=3&rowBlue=4) | (colBlue=6&rowBlue=4) | (colBlue=7&rowBlue=4) | (colBlue=8&rowBlue=4) | (colBlue=9&rowBlue=4) | (colBlue=10&rowBlue=4) | (colBlue=11&rowBlue=4) | (colBlue=12&rowBlue=4) | (colBlue=13&rowBlue=4) | (colBlue=1&rowBlue=5) | (colBlue=2&rowBlue=5) | (colBlue=7&rowBlue=5) | (colBlue=8&rowBlue=5) | (colBlue=9&rowBlue=5) | (colBlue=10&rowBlue=5) | (colBlue=11&rowBlue=5) | (colBlue=12&rowBlue=5) | (colBlue=13&rowBlue=5) | (colBlue=1&rowBlue=6) | (colBlue=2&rowBlue=6) | (colBlue=3&rowBlue=6) | (colBlue=6&rowBlue=6) | (colBlue=7&rowBlue=6) | (colBlue=9&rowBlue=6) | (colBlue=10&rowBlue=6) | (colBlue=1&rowBlue=7) | (colBlue=2&rowBlue=7) | (colBlue=3&rowBlue=7) | (colBlue=4&rowBlue=7) | (colBlue=6&rowBlue=7) | (colBlue=7&rowBlue=7) | (colBlue=8&rowBlue=7) | (colBlue=9&rowBlue=7) | (colBlue=1&rowBlue=8) | (colBlue=2&rowBlue=8) | (colBlue=3&rowBlue=8) | (colBlue=6&rowBlue=8) | (colBlue=7&rowBlue=8) | (colBlue=8&rowBlue=8) | (colBlue=9&rowBlue=8) | (colBlue=1&rowBlue=9) | (colBlue=2&rowBlue=9) | (colBlue=7&rowBlue=9) | (colBlue=8&rowBlue=9) | (colBlue=9&rowBlue=9) | (colBlue=1&rowBlue=10) | (colBlue=2&rowBlue=10) | (colBlue=7&rowBlue=10) | (colBlue=8&rowBlue=10) | (colBlue=9&rowBlue=10) | (colBlue=10&rowBlue=10) | (colBlue=1&rowBlue=11) | (colBlue=2&rowBlue=11) | (colBlue=7&rowBlue=11) | (colBlue=8&rowBlue=11) | (colBlue=9&rowBlue=11) | (colBlue=10&rowBlue=11) | (colBlue=11&rowBlue=11) | (colBlue=12&rowBlue=11) | (colBlue=13&rowBlue=11) | (colBlue=1&rowBlue=12) | (colBlue=2&rowBlue=12) | (colBlue=3&rowBlue=12) | (colBlue=6&rowBlue=12) | (colBlue=7&rowBlue=12) | (colBlue=8&rowBlue=12) | (colBlue=9&rowBlue=12) | (colBlue=10&rowBlue=12) | (colBlue=11&rowBlue=12) | (colBlue=12&rowBlue=12) | (colBlue=13&rowBlue=12) | (colBlue=1&rowBlue=13) | (colBlue=2&rowBlue=13) | (colBlue=3&rowBlue=13) | (colBlue=4&rowBlue=13) | (colBlue=5&rowBlue=13) | (colBlue=6&rowBlue=13) | (colBlue=7&rowBlue=13) | (colBlue=8&rowBlue=13) | (colBlue=9&rowBlue=13) | (colBlue=10&rowBlue=13) | (colBlue=11&rowBlue=13) | (colBlue=12&rowBlue=13) | (colBlue=13&rowBlue=13);
|
|
formula BlueIsOnSlipperyNorthWest = false;
|
|
formula BlueIsOnSlipperySouth = (colBlue=5&rowBlue=7) | (colBlue=5&rowBlue=8);
|
|
formula BlueIsOnSlipperySouthEast = false;
|
|
formula BlueIsOnSlipperySouthWest = false;
|
|
formula BlueIsOnSlipperyWest = (colBlue=4&rowBlue=8);
|
|
formula BlueIsOnSlippery = BlueIsOnSlipperyEast | BlueIsOnSlipperyNorth | BlueIsOnSlipperyNorthEast | BlueIsOnSlipperyNorthWest | BlueIsOnSlipperySouth | BlueIsOnSlipperySouthEast | BlueIsOnSlipperySouthWest | BlueIsOnSlipperyWest;
|
|
formula BlueCannotSlipEast = (colBlue+1=0&rowBlue=0) | (colBlue+1=1&rowBlue=0) | (colBlue+1=2&rowBlue=0) | (colBlue+1=3&rowBlue=0) | (colBlue+1=4&rowBlue=0) | (colBlue+1=5&rowBlue=0) | (colBlue+1=6&rowBlue=0) | (colBlue+1=7&rowBlue=0) | (colBlue+1=8&rowBlue=0) | (colBlue+1=9&rowBlue=0) | (colBlue+1=10&rowBlue=0) | (colBlue+1=11&rowBlue=0) | (colBlue+1=12&rowBlue=0) | (colBlue+1=13&rowBlue=0) | (colBlue+1=14&rowBlue=0) | (colBlue+1=0&rowBlue=1) | (colBlue+1=14&rowBlue=1) | (colBlue+1=0&rowBlue=2) | (colBlue+1=14&rowBlue=2) | (colBlue+1=0&rowBlue=3) | (colBlue+1=14&rowBlue=3) | (colBlue+1=0&rowBlue=4) | (colBlue+1=14&rowBlue=4) | (colBlue+1=0&rowBlue=5) | (colBlue+1=14&rowBlue=5) | (colBlue+1=0&rowBlue=6) | (colBlue+1=14&rowBlue=6) | (colBlue+1=0&rowBlue=7) | (colBlue+1=14&rowBlue=7) | (colBlue+1=0&rowBlue=8) | (colBlue+1=14&rowBlue=8) | (colBlue+1=0&rowBlue=9) | (colBlue+1=14&rowBlue=9) | (colBlue+1=0&rowBlue=10) | (colBlue+1=14&rowBlue=10) | (colBlue+1=0&rowBlue=11) | (colBlue+1=14&rowBlue=11) | (colBlue+1=0&rowBlue=12) | (colBlue+1=14&rowBlue=12) | (colBlue+1=0&rowBlue=13) | (colBlue+1=14&rowBlue=13) | (colBlue+1=0&rowBlue=14) | (colBlue+1=1&rowBlue=14) | (colBlue+1=2&rowBlue=14) | (colBlue+1=3&rowBlue=14) | (colBlue+1=4&rowBlue=14) | (colBlue+1=5&rowBlue=14) | (colBlue+1=6&rowBlue=14) | (colBlue+1=7&rowBlue=14) | (colBlue+1=8&rowBlue=14) | (colBlue+1=9&rowBlue=14) | (colBlue+1=10&rowBlue=14) | (colBlue+1=11&rowBlue=14) | (colBlue+1=12&rowBlue=14) | (colBlue+1=13&rowBlue=14) | (colBlue+1=14&rowBlue=14);
|
|
formula BlueCannotSlipNorth = (colBlue=0&rowBlue-1=0) | (colBlue=1&rowBlue-1=0) | (colBlue=2&rowBlue-1=0) | (colBlue=3&rowBlue-1=0) | (colBlue=4&rowBlue-1=0) | (colBlue=5&rowBlue-1=0) | (colBlue=6&rowBlue-1=0) | (colBlue=7&rowBlue-1=0) | (colBlue=8&rowBlue-1=0) | (colBlue=9&rowBlue-1=0) | (colBlue=10&rowBlue-1=0) | (colBlue=11&rowBlue-1=0) | (colBlue=12&rowBlue-1=0) | (colBlue=13&rowBlue-1=0) | (colBlue=14&rowBlue-1=0) | (colBlue=0&rowBlue-1=1) | (colBlue=14&rowBlue-1=1) | (colBlue=0&rowBlue-1=2) | (colBlue=14&rowBlue-1=2) | (colBlue=0&rowBlue-1=3) | (colBlue=14&rowBlue-1=3) | (colBlue=0&rowBlue-1=4) | (colBlue=14&rowBlue-1=4) | (colBlue=0&rowBlue-1=5) | (colBlue=14&rowBlue-1=5) | (colBlue=0&rowBlue-1=6) | (colBlue=14&rowBlue-1=6) | (colBlue=0&rowBlue-1=7) | (colBlue=14&rowBlue-1=7) | (colBlue=0&rowBlue-1=8) | (colBlue=14&rowBlue-1=8) | (colBlue=0&rowBlue-1=9) | (colBlue=14&rowBlue-1=9) | (colBlue=0&rowBlue-1=10) | (colBlue=14&rowBlue-1=10) | (colBlue=0&rowBlue-1=11) | (colBlue=14&rowBlue-1=11) | (colBlue=0&rowBlue-1=12) | (colBlue=14&rowBlue-1=12) | (colBlue=0&rowBlue-1=13) | (colBlue=14&rowBlue-1=13) | (colBlue=0&rowBlue-1=14) | (colBlue=1&rowBlue-1=14) | (colBlue=2&rowBlue-1=14) | (colBlue=3&rowBlue-1=14) | (colBlue=4&rowBlue-1=14) | (colBlue=5&rowBlue-1=14) | (colBlue=6&rowBlue-1=14) | (colBlue=7&rowBlue-1=14) | (colBlue=8&rowBlue-1=14) | (colBlue=9&rowBlue-1=14) | (colBlue=10&rowBlue-1=14) | (colBlue=11&rowBlue-1=14) | (colBlue=12&rowBlue-1=14) | (colBlue=13&rowBlue-1=14) | (colBlue=14&rowBlue-1=14);
|
|
formula BlueCannotSlipNorthEast = (colBlue+1=0&rowBlue-1=0) | (colBlue+1=1&rowBlue-1=0) | (colBlue+1=2&rowBlue-1=0) | (colBlue+1=3&rowBlue-1=0) | (colBlue+1=4&rowBlue-1=0) | (colBlue+1=5&rowBlue-1=0) | (colBlue+1=6&rowBlue-1=0) | (colBlue+1=7&rowBlue-1=0) | (colBlue+1=8&rowBlue-1=0) | (colBlue+1=9&rowBlue-1=0) | (colBlue+1=10&rowBlue-1=0) | (colBlue+1=11&rowBlue-1=0) | (colBlue+1=12&rowBlue-1=0) | (colBlue+1=13&rowBlue-1=0) | (colBlue+1=14&rowBlue-1=0) | (colBlue+1=0&rowBlue-1=1) | (colBlue+1=14&rowBlue-1=1) | (colBlue+1=0&rowBlue-1=2) | (colBlue+1=14&rowBlue-1=2) | (colBlue+1=0&rowBlue-1=3) | (colBlue+1=14&rowBlue-1=3) | (colBlue+1=0&rowBlue-1=4) | (colBlue+1=14&rowBlue-1=4) | (colBlue+1=0&rowBlue-1=5) | (colBlue+1=14&rowBlue-1=5) | (colBlue+1=0&rowBlue-1=6) | (colBlue+1=14&rowBlue-1=6) | (colBlue+1=0&rowBlue-1=7) | (colBlue+1=14&rowBlue-1=7) | (colBlue+1=0&rowBlue-1=8) | (colBlue+1=14&rowBlue-1=8) | (colBlue+1=0&rowBlue-1=9) | (colBlue+1=14&rowBlue-1=9) | (colBlue+1=0&rowBlue-1=10) | (colBlue+1=14&rowBlue-1=10) | (colBlue+1=0&rowBlue-1=11) | (colBlue+1=14&rowBlue-1=11) | (colBlue+1=0&rowBlue-1=12) | (colBlue+1=14&rowBlue-1=12) | (colBlue+1=0&rowBlue-1=13) | (colBlue+1=14&rowBlue-1=13) | (colBlue+1=0&rowBlue-1=14) | (colBlue+1=1&rowBlue-1=14) | (colBlue+1=2&rowBlue-1=14) | (colBlue+1=3&rowBlue-1=14) | (colBlue+1=4&rowBlue-1=14) | (colBlue+1=5&rowBlue-1=14) | (colBlue+1=6&rowBlue-1=14) | (colBlue+1=7&rowBlue-1=14) | (colBlue+1=8&rowBlue-1=14) | (colBlue+1=9&rowBlue-1=14) | (colBlue+1=10&rowBlue-1=14) | (colBlue+1=11&rowBlue-1=14) | (colBlue+1=12&rowBlue-1=14) | (colBlue+1=13&rowBlue-1=14) | (colBlue+1=14&rowBlue-1=14);
|
|
formula BlueCannotSlipNorthWest = (colBlue-1=0&rowBlue-1=0) | (colBlue-1=1&rowBlue-1=0) | (colBlue-1=2&rowBlue-1=0) | (colBlue-1=3&rowBlue-1=0) | (colBlue-1=4&rowBlue-1=0) | (colBlue-1=5&rowBlue-1=0) | (colBlue-1=6&rowBlue-1=0) | (colBlue-1=7&rowBlue-1=0) | (colBlue-1=8&rowBlue-1=0) | (colBlue-1=9&rowBlue-1=0) | (colBlue-1=10&rowBlue-1=0) | (colBlue-1=11&rowBlue-1=0) | (colBlue-1=12&rowBlue-1=0) | (colBlue-1=13&rowBlue-1=0) | (colBlue-1=14&rowBlue-1=0) | (colBlue-1=0&rowBlue-1=1) | (colBlue-1=14&rowBlue-1=1) | (colBlue-1=0&rowBlue-1=2) | (colBlue-1=14&rowBlue-1=2) | (colBlue-1=0&rowBlue-1=3) | (colBlue-1=14&rowBlue-1=3) | (colBlue-1=0&rowBlue-1=4) | (colBlue-1=14&rowBlue-1=4) | (colBlue-1=0&rowBlue-1=5) | (colBlue-1=14&rowBlue-1=5) | (colBlue-1=0&rowBlue-1=6) | (colBlue-1=14&rowBlue-1=6) | (colBlue-1=0&rowBlue-1=7) | (colBlue-1=14&rowBlue-1=7) | (colBlue-1=0&rowBlue-1=8) | (colBlue-1=14&rowBlue-1=8) | (colBlue-1=0&rowBlue-1=9) | (colBlue-1=14&rowBlue-1=9) | (colBlue-1=0&rowBlue-1=10) | (colBlue-1=14&rowBlue-1=10) | (colBlue-1=0&rowBlue-1=11) | (colBlue-1=14&rowBlue-1=11) | (colBlue-1=0&rowBlue-1=12) | (colBlue-1=14&rowBlue-1=12) | (colBlue-1=0&rowBlue-1=13) | (colBlue-1=14&rowBlue-1=13) | (colBlue-1=0&rowBlue-1=14) | (colBlue-1=1&rowBlue-1=14) | (colBlue-1=2&rowBlue-1=14) | (colBlue-1=3&rowBlue-1=14) | (colBlue-1=4&rowBlue-1=14) | (colBlue-1=5&rowBlue-1=14) | (colBlue-1=6&rowBlue-1=14) | (colBlue-1=7&rowBlue-1=14) | (colBlue-1=8&rowBlue-1=14) | (colBlue-1=9&rowBlue-1=14) | (colBlue-1=10&rowBlue-1=14) | (colBlue-1=11&rowBlue-1=14) | (colBlue-1=12&rowBlue-1=14) | (colBlue-1=13&rowBlue-1=14) | (colBlue-1=14&rowBlue-1=14);
|
|
formula BlueCannotSlipSouth = (colBlue=0&rowBlue+1=0) | (colBlue=1&rowBlue+1=0) | (colBlue=2&rowBlue+1=0) | (colBlue=3&rowBlue+1=0) | (colBlue=4&rowBlue+1=0) | (colBlue=5&rowBlue+1=0) | (colBlue=6&rowBlue+1=0) | (colBlue=7&rowBlue+1=0) | (colBlue=8&rowBlue+1=0) | (colBlue=9&rowBlue+1=0) | (colBlue=10&rowBlue+1=0) | (colBlue=11&rowBlue+1=0) | (colBlue=12&rowBlue+1=0) | (colBlue=13&rowBlue+1=0) | (colBlue=14&rowBlue+1=0) | (colBlue=0&rowBlue+1=1) | (colBlue=14&rowBlue+1=1) | (colBlue=0&rowBlue+1=2) | (colBlue=14&rowBlue+1=2) | (colBlue=0&rowBlue+1=3) | (colBlue=14&rowBlue+1=3) | (colBlue=0&rowBlue+1=4) | (colBlue=14&rowBlue+1=4) | (colBlue=0&rowBlue+1=5) | (colBlue=14&rowBlue+1=5) | (colBlue=0&rowBlue+1=6) | (colBlue=14&rowBlue+1=6) | (colBlue=0&rowBlue+1=7) | (colBlue=14&rowBlue+1=7) | (colBlue=0&rowBlue+1=8) | (colBlue=14&rowBlue+1=8) | (colBlue=0&rowBlue+1=9) | (colBlue=14&rowBlue+1=9) | (colBlue=0&rowBlue+1=10) | (colBlue=14&rowBlue+1=10) | (colBlue=0&rowBlue+1=11) | (colBlue=14&rowBlue+1=11) | (colBlue=0&rowBlue+1=12) | (colBlue=14&rowBlue+1=12) | (colBlue=0&rowBlue+1=13) | (colBlue=14&rowBlue+1=13) | (colBlue=0&rowBlue+1=14) | (colBlue=1&rowBlue+1=14) | (colBlue=2&rowBlue+1=14) | (colBlue=3&rowBlue+1=14) | (colBlue=4&rowBlue+1=14) | (colBlue=5&rowBlue+1=14) | (colBlue=6&rowBlue+1=14) | (colBlue=7&rowBlue+1=14) | (colBlue=8&rowBlue+1=14) | (colBlue=9&rowBlue+1=14) | (colBlue=10&rowBlue+1=14) | (colBlue=11&rowBlue+1=14) | (colBlue=12&rowBlue+1=14) | (colBlue=13&rowBlue+1=14) | (colBlue=14&rowBlue+1=14);
|
|
formula BlueCannotSlipSouthEast = (colBlue+1=0&rowBlue+1=0) | (colBlue+1=1&rowBlue+1=0) | (colBlue+1=2&rowBlue+1=0) | (colBlue+1=3&rowBlue+1=0) | (colBlue+1=4&rowBlue+1=0) | (colBlue+1=5&rowBlue+1=0) | (colBlue+1=6&rowBlue+1=0) | (colBlue+1=7&rowBlue+1=0) | (colBlue+1=8&rowBlue+1=0) | (colBlue+1=9&rowBlue+1=0) | (colBlue+1=10&rowBlue+1=0) | (colBlue+1=11&rowBlue+1=0) | (colBlue+1=12&rowBlue+1=0) | (colBlue+1=13&rowBlue+1=0) | (colBlue+1=14&rowBlue+1=0) | (colBlue+1=0&rowBlue+1=1) | (colBlue+1=14&rowBlue+1=1) | (colBlue+1=0&rowBlue+1=2) | (colBlue+1=14&rowBlue+1=2) | (colBlue+1=0&rowBlue+1=3) | (colBlue+1=14&rowBlue+1=3) | (colBlue+1=0&rowBlue+1=4) | (colBlue+1=14&rowBlue+1=4) | (colBlue+1=0&rowBlue+1=5) | (colBlue+1=14&rowBlue+1=5) | (colBlue+1=0&rowBlue+1=6) | (colBlue+1=14&rowBlue+1=6) | (colBlue+1=0&rowBlue+1=7) | (colBlue+1=14&rowBlue+1=7) | (colBlue+1=0&rowBlue+1=8) | (colBlue+1=14&rowBlue+1=8) | (colBlue+1=0&rowBlue+1=9) | (colBlue+1=14&rowBlue+1=9) | (colBlue+1=0&rowBlue+1=10) | (colBlue+1=14&rowBlue+1=10) | (colBlue+1=0&rowBlue+1=11) | (colBlue+1=14&rowBlue+1=11) | (colBlue+1=0&rowBlue+1=12) | (colBlue+1=14&rowBlue+1=12) | (colBlue+1=0&rowBlue+1=13) | (colBlue+1=14&rowBlue+1=13) | (colBlue+1=0&rowBlue+1=14) | (colBlue+1=1&rowBlue+1=14) | (colBlue+1=2&rowBlue+1=14) | (colBlue+1=3&rowBlue+1=14) | (colBlue+1=4&rowBlue+1=14) | (colBlue+1=5&rowBlue+1=14) | (colBlue+1=6&rowBlue+1=14) | (colBlue+1=7&rowBlue+1=14) | (colBlue+1=8&rowBlue+1=14) | (colBlue+1=9&rowBlue+1=14) | (colBlue+1=10&rowBlue+1=14) | (colBlue+1=11&rowBlue+1=14) | (colBlue+1=12&rowBlue+1=14) | (colBlue+1=13&rowBlue+1=14) | (colBlue+1=14&rowBlue+1=14);
|
|
formula BlueCannotSlipSouthWest = (colBlue-1=0&rowBlue+1=0) | (colBlue-1=1&rowBlue+1=0) | (colBlue-1=2&rowBlue+1=0) | (colBlue-1=3&rowBlue+1=0) | (colBlue-1=4&rowBlue+1=0) | (colBlue-1=5&rowBlue+1=0) | (colBlue-1=6&rowBlue+1=0) | (colBlue-1=7&rowBlue+1=0) | (colBlue-1=8&rowBlue+1=0) | (colBlue-1=9&rowBlue+1=0) | (colBlue-1=10&rowBlue+1=0) | (colBlue-1=11&rowBlue+1=0) | (colBlue-1=12&rowBlue+1=0) | (colBlue-1=13&rowBlue+1=0) | (colBlue-1=14&rowBlue+1=0) | (colBlue-1=0&rowBlue+1=1) | (colBlue-1=14&rowBlue+1=1) | (colBlue-1=0&rowBlue+1=2) | (colBlue-1=14&rowBlue+1=2) | (colBlue-1=0&rowBlue+1=3) | (colBlue-1=14&rowBlue+1=3) | (colBlue-1=0&rowBlue+1=4) | (colBlue-1=14&rowBlue+1=4) | (colBlue-1=0&rowBlue+1=5) | (colBlue-1=14&rowBlue+1=5) | (colBlue-1=0&rowBlue+1=6) | (colBlue-1=14&rowBlue+1=6) | (colBlue-1=0&rowBlue+1=7) | (colBlue-1=14&rowBlue+1=7) | (colBlue-1=0&rowBlue+1=8) | (colBlue-1=14&rowBlue+1=8) | (colBlue-1=0&rowBlue+1=9) | (colBlue-1=14&rowBlue+1=9) | (colBlue-1=0&rowBlue+1=10) | (colBlue-1=14&rowBlue+1=10) | (colBlue-1=0&rowBlue+1=11) | (colBlue-1=14&rowBlue+1=11) | (colBlue-1=0&rowBlue+1=12) | (colBlue-1=14&rowBlue+1=12) | (colBlue-1=0&rowBlue+1=13) | (colBlue-1=14&rowBlue+1=13) | (colBlue-1=0&rowBlue+1=14) | (colBlue-1=1&rowBlue+1=14) | (colBlue-1=2&rowBlue+1=14) | (colBlue-1=3&rowBlue+1=14) | (colBlue-1=4&rowBlue+1=14) | (colBlue-1=5&rowBlue+1=14) | (colBlue-1=6&rowBlue+1=14) | (colBlue-1=7&rowBlue+1=14) | (colBlue-1=8&rowBlue+1=14) | (colBlue-1=9&rowBlue+1=14) | (colBlue-1=10&rowBlue+1=14) | (colBlue-1=11&rowBlue+1=14) | (colBlue-1=12&rowBlue+1=14) | (colBlue-1=13&rowBlue+1=14) | (colBlue-1=14&rowBlue+1=14);
|
|
formula BlueCannotSlipWest = (colBlue-1=0&rowBlue=0) | (colBlue-1=1&rowBlue=0) | (colBlue-1=2&rowBlue=0) | (colBlue-1=3&rowBlue=0) | (colBlue-1=4&rowBlue=0) | (colBlue-1=5&rowBlue=0) | (colBlue-1=6&rowBlue=0) | (colBlue-1=7&rowBlue=0) | (colBlue-1=8&rowBlue=0) | (colBlue-1=9&rowBlue=0) | (colBlue-1=10&rowBlue=0) | (colBlue-1=11&rowBlue=0) | (colBlue-1=12&rowBlue=0) | (colBlue-1=13&rowBlue=0) | (colBlue-1=14&rowBlue=0) | (colBlue-1=0&rowBlue=1) | (colBlue-1=14&rowBlue=1) | (colBlue-1=0&rowBlue=2) | (colBlue-1=14&rowBlue=2) | (colBlue-1=0&rowBlue=3) | (colBlue-1=14&rowBlue=3) | (colBlue-1=0&rowBlue=4) | (colBlue-1=14&rowBlue=4) | (colBlue-1=0&rowBlue=5) | (colBlue-1=14&rowBlue=5) | (colBlue-1=0&rowBlue=6) | (colBlue-1=14&rowBlue=6) | (colBlue-1=0&rowBlue=7) | (colBlue-1=14&rowBlue=7) | (colBlue-1=0&rowBlue=8) | (colBlue-1=14&rowBlue=8) | (colBlue-1=0&rowBlue=9) | (colBlue-1=14&rowBlue=9) | (colBlue-1=0&rowBlue=10) | (colBlue-1=14&rowBlue=10) | (colBlue-1=0&rowBlue=11) | (colBlue-1=14&rowBlue=11) | (colBlue-1=0&rowBlue=12) | (colBlue-1=14&rowBlue=12) | (colBlue-1=0&rowBlue=13) | (colBlue-1=14&rowBlue=13) | (colBlue-1=0&rowBlue=14) | (colBlue-1=1&rowBlue=14) | (colBlue-1=2&rowBlue=14) | (colBlue-1=3&rowBlue=14) | (colBlue-1=4&rowBlue=14) | (colBlue-1=5&rowBlue=14) | (colBlue-1=6&rowBlue=14) | (colBlue-1=7&rowBlue=14) | (colBlue-1=8&rowBlue=14) | (colBlue-1=9&rowBlue=14) | (colBlue-1=10&rowBlue=14) | (colBlue-1=11&rowBlue=14) | (colBlue-1=12&rowBlue=14) | (colBlue-1=13&rowBlue=14) | (colBlue-1=14&rowBlue=14);
|
|
formula BlueIsOnLava = (colBlue=7&rowBlue=1) | (colBlue=8&rowBlue=1) | (colBlue=9&rowBlue=1) | (colBlue=10&rowBlue=1) | (colBlue=7&rowBlue=2) | (colBlue=8&rowBlue=2) | (colBlue=9&rowBlue=2) | (colBlue=10&rowBlue=2) | (colBlue=4&rowBlue=5) | (colBlue=5&rowBlue=5) | (colBlue=11&rowBlue=7) | (colBlue=12&rowBlue=7) | (colBlue=13&rowBlue=7) | (colBlue=11&rowBlue=8) | (colBlue=12&rowBlue=8) | (colBlue=13&rowBlue=8) | (colBlue=4&rowBlue=9) | (colBlue=5&rowBlue=9) | (colBlue=11&rowBlue=9) | (colBlue=12&rowBlue=9) | (colBlue=13&rowBlue=9) | (colBlue=4&rowBlue=10) | (colBlue=5&rowBlue=10) | (colBlue=4&rowBlue=11) | (colBlue=5&rowBlue=11);
|
|
formula BlueIsOnGoal = (colBlue=13&rowBlue=1);
|
|
formula collision = (colAgent=colBlue&rowAgent=rowBlue);
|
|
label "collision" = collision;
|
|
init
|
|
true
|
|
endinit
|
|
|
|
|
|
module Agent
|
|
colAgent : [1..13];
|
|
rowAgent : [1..13];
|
|
viewAgent : [0..3];
|
|
|
|
[Agent_turn_right] !AgentIsOnSlippery & !AgentIsOnLava &true -> 1.000000: (viewAgent'=mod(viewAgent+1,4));
|
|
[Agent_turn_left] !AgentIsOnSlippery & !AgentIsOnLava &viewAgent>0 -> 1.000000: (viewAgent'=viewAgent-1);
|
|
[Agent_turn_left] !AgentIsOnSlippery & !AgentIsOnLava &viewAgent=0 -> 1.000000: (viewAgent'=3);
|
|
[Agent_move_North] viewAgent=3 & !AgentIsOnSlippery & !AgentIsOnLava & !AgentIsOnGoal & !AgentCannotMoveNorthWall -> 1.000000: (rowAgent'=rowAgent-1);
|
|
[Agent_move_East] viewAgent=0 & !AgentIsOnSlippery & !AgentIsOnLava & !AgentIsOnGoal & !AgentCannotMoveEastWall -> 1.000000: (colAgent'=colAgent+1);
|
|
[Agent_move_South] viewAgent=1 & !AgentIsOnSlippery & !AgentIsOnLava & !AgentIsOnGoal & !AgentCannotMoveSouthWall -> 1.000000: (rowAgent'=rowAgent+1);
|
|
[Agent_move_West] viewAgent=2 & !AgentIsOnSlippery & !AgentIsOnLava & !AgentIsOnGoal & !AgentCannotMoveWestWall -> 1.000000: (colAgent'=colAgent-1);
|
|
[Agent_move_North] viewAgent=3 & AgentIsOnSlipperyNorth & !AgentCannotSlipNorth & !AgentCannotSlipNorthEast & !AgentCannotSlipNorthWest -> 0.950000: (rowAgent'=rowAgent-1) + 0.025000: (rowAgent'=rowAgent-1)&(colAgent'=colAgent+1) + 0.025000: (rowAgent'=rowAgent-1)&(colAgent'=colAgent-1);
|
|
[Agent_move_North] viewAgent=3 & AgentIsOnSlipperyNorth & AgentCannotSlipNorth & !AgentCannotSlipNorthEast & !AgentCannotSlipNorthWest -> 0.000000: (rowAgent'=rowAgent-1)&(colAgent'=colAgent+1) + 0.000000: (rowAgent'=rowAgent-1)&(colAgent'=colAgent-1);
|
|
[Agent_move_North] viewAgent=3 & AgentIsOnSlipperyNorth & !AgentCannotSlipNorth & AgentCannotSlipNorthEast & !AgentCannotSlipNorthWest -> 0.950000: (rowAgent'=rowAgent-1) + 0.050000: (rowAgent'=rowAgent-1)&(colAgent'=colAgent-1);
|
|
[Agent_move_North] viewAgent=3 & AgentIsOnSlipperyNorth & !AgentCannotSlipNorth & !AgentCannotSlipNorthEast & AgentCannotSlipNorthWest -> 0.950000: (rowAgent'=rowAgent-1) + 0.050000: (rowAgent'=rowAgent-1)&(colAgent'=colAgent+1);
|
|
[Agent_move_North] viewAgent=3 & AgentIsOnSlipperyNorth & AgentCannotSlipNorth & AgentCannotSlipNorthEast & !AgentCannotSlipNorthWest -> 1.000000: (rowAgent'=rowAgent-1)&(colAgent'=colAgent-1);
|
|
[Agent_move_North] viewAgent=3 & AgentIsOnSlipperyNorth & !AgentCannotSlipNorth & AgentCannotSlipNorthEast & AgentCannotSlipNorthWest -> 1.000000: (rowAgent'=rowAgent-1);
|
|
[Agent_move_North] viewAgent=3 & AgentIsOnSlipperyNorth & AgentCannotSlipNorth & !AgentCannotSlipNorthEast & AgentCannotSlipNorthWest -> 1.000000: (rowAgent'=rowAgent-1)&(colAgent'=colAgent+1);
|
|
[Agent_move_North] viewAgent=3 & AgentIsOnSlipperyNorth & AgentCannotSlipNorth & AgentCannotSlipNorthEast & AgentCannotSlipNorthWest -> true;
|
|
[Agent_move_West] viewAgent=2 & AgentIsOnSlipperyNorth & !AgentCannotSlipWest & !AgentCannotSlipNorthWest -> 0.950000: (colAgent'=colAgent-1) + 0.050000: (colAgent'=colAgent-1)&(rowAgent'=rowAgent-1);
|
|
[Agent_move_West] viewAgent=2 & AgentIsOnSlipperyNorth & AgentCannotSlipWest & !AgentCannotSlipNorthWest -> 1.000000: (colAgent'=colAgent-1)&(rowAgent'=rowAgent-1);
|
|
[Agent_move_West] viewAgent=2 & AgentIsOnSlipperyNorth & !AgentCannotSlipWest & AgentCannotSlipNorthWest -> 1.000000: (colAgent'=colAgent-1);
|
|
[Agent_move_West] viewAgent=2 & AgentIsOnSlipperyNorth & AgentCannotSlipWest & AgentCannotSlipNorthWest -> true;
|
|
[Agent_move_East] viewAgent=0 & AgentIsOnSlipperyNorth & !AgentCannotSlipEast & !AgentCannotSlipNorthEast -> 0.950000: (colAgent'=colAgent+1) + 0.050000: (colAgent'=colAgent+1)&(rowAgent'=rowAgent-1);
|
|
[Agent_move_East] viewAgent=0 & AgentIsOnSlipperyNorth & AgentCannotSlipEast & !AgentCannotSlipNorthEast -> 1.000000: (colAgent'=colAgent+1)&(rowAgent'=rowAgent-1);
|
|
[Agent_move_East] viewAgent=0 & AgentIsOnSlipperyNorth & !AgentCannotSlipEast & AgentCannotSlipNorthEast -> 1.000000: (colAgent'=colAgent+1);
|
|
[Agent_move_East] viewAgent=0 & AgentIsOnSlipperyNorth & AgentCannotSlipEast & AgentCannotSlipNorthEast -> true;
|
|
[Agent_move_South] viewAgent=1 & AgentIsOnSlipperyNorth & !AgentCannotSlipSouth -> 0.950000: (rowAgent'=rowAgent+1) + 0.050000: true;
|
|
[Agent_move_South] viewAgent=1 & AgentIsOnSlipperyNorth & AgentCannotSlipSouth -> 1.000000: true;
|
|
[Agent_turn_right] AgentIsOnSlipperyNorth & !AgentCannotSlipNorth & true -> 0.950000: (viewAgent'=mod(viewAgent+1,4)) + 0.050000: (rowAgent'=rowAgent-1);
|
|
[Agent_turn_right] AgentIsOnSlipperyNorth & AgentCannotSlipNorth & true -> 1.000000: (viewAgent'=mod(viewAgent+1,4));
|
|
[Agent_turn_left] AgentIsOnSlipperyNorth & !AgentCannotSlipNorth & viewAgent>0 -> 0.950000: (viewAgent'=viewAgent-1) + 0.050000: (rowAgent'=rowAgent-1);
|
|
[Agent_turn_left] AgentIsOnSlipperyNorth & !AgentCannotSlipNorth & viewAgent=0 -> 0.950000: (viewAgent'=3) + 0.050000: (rowAgent'=rowAgent-1);
|
|
[Agent_turn_left] AgentIsOnSlipperyNorth & AgentCannotSlipNorth & viewAgent>0 -> 1.000000: (viewAgent'=viewAgent-1);
|
|
[Agent_turn_left] AgentIsOnSlipperyNorth & AgentCannotSlipNorth & viewAgent=0 -> 1.000000: (viewAgent'=3);
|
|
[Agent_move_East] viewAgent=0 & AgentIsOnSlipperyEast & !AgentCannotSlipEast & !AgentCannotSlipSouthEast & !AgentCannotSlipNorthEast -> 0.950000: (colAgent'=colAgent+1) + 0.025000: (colAgent'=colAgent+1)&(rowAgent'=rowAgent+1) + 0.025000: (colAgent'=colAgent+1)&(rowAgent'=rowAgent-1);
|
|
[Agent_move_East] viewAgent=0 & AgentIsOnSlipperyEast & AgentCannotSlipEast & !AgentCannotSlipSouthEast & !AgentCannotSlipNorthEast -> 0.000000: (colAgent'=colAgent+1)&(rowAgent'=rowAgent+1) + 0.000000: (colAgent'=colAgent+1)&(rowAgent'=rowAgent-1);
|
|
[Agent_move_East] viewAgent=0 & AgentIsOnSlipperyEast & !AgentCannotSlipEast & AgentCannotSlipSouthEast & !AgentCannotSlipNorthEast -> 0.950000: (colAgent'=colAgent+1) + 0.050000: (colAgent'=colAgent+1)&(rowAgent'=rowAgent-1);
|
|
[Agent_move_East] viewAgent=0 & AgentIsOnSlipperyEast & !AgentCannotSlipEast & !AgentCannotSlipSouthEast & AgentCannotSlipNorthEast -> 0.950000: (colAgent'=colAgent+1) + 0.050000: (colAgent'=colAgent+1)&(rowAgent'=rowAgent+1);
|
|
[Agent_move_East] viewAgent=0 & AgentIsOnSlipperyEast & AgentCannotSlipEast & AgentCannotSlipSouthEast & !AgentCannotSlipNorthEast -> 1.000000: (colAgent'=colAgent+1)&(rowAgent'=rowAgent-1);
|
|
[Agent_move_East] viewAgent=0 & AgentIsOnSlipperyEast & !AgentCannotSlipEast & AgentCannotSlipSouthEast & AgentCannotSlipNorthEast -> 1.000000: (colAgent'=colAgent+1);
|
|
[Agent_move_East] viewAgent=0 & AgentIsOnSlipperyEast & AgentCannotSlipEast & !AgentCannotSlipSouthEast & AgentCannotSlipNorthEast -> 1.000000: (colAgent'=colAgent+1)&(rowAgent'=rowAgent+1);
|
|
[Agent_move_East] viewAgent=0 & AgentIsOnSlipperyEast & AgentCannotSlipEast & AgentCannotSlipSouthEast & AgentCannotSlipNorthEast -> true;
|
|
[Agent_move_North] viewAgent=3 & AgentIsOnSlipperyEast & !AgentCannotSlipNorth & !AgentCannotSlipNorthEast -> 0.950000: (rowAgent'=rowAgent-1) + 0.050000: (colAgent'=colAgent+1)&(rowAgent'=rowAgent-1);
|
|
[Agent_move_North] viewAgent=3 & AgentIsOnSlipperyEast & AgentCannotSlipNorth & !AgentCannotSlipNorthEast -> 1.000000: (colAgent'=colAgent+1)&(rowAgent'=rowAgent-1);
|
|
[Agent_move_North] viewAgent=3 & AgentIsOnSlipperyEast & !AgentCannotSlipNorth & AgentCannotSlipNorthEast -> 1.000000: (rowAgent'=rowAgent-1);
|
|
[Agent_move_North] viewAgent=3 & AgentIsOnSlipperyEast & AgentCannotSlipNorth & AgentCannotSlipNorthEast -> true;
|
|
[Agent_move_South] viewAgent=1 & AgentIsOnSlipperyEast & !AgentCannotSlipSouth & !AgentCannotSlipSouthEast -> 0.950000: (rowAgent'=rowAgent+1) + 0.050000: (colAgent'=colAgent+1)&(rowAgent'=rowAgent+1);
|
|
[Agent_move_South] viewAgent=1 & AgentIsOnSlipperyEast & AgentCannotSlipSouth & !AgentCannotSlipSouthEast -> 1.000000: (colAgent'=colAgent+1)&(rowAgent'=rowAgent+1);
|
|
[Agent_move_South] viewAgent=1 & AgentIsOnSlipperyEast & !AgentCannotSlipSouth & AgentCannotSlipSouthEast -> 1.000000: (rowAgent'=rowAgent+1);
|
|
[Agent_move_South] viewAgent=1 & AgentIsOnSlipperyEast & AgentCannotSlipSouth & AgentCannotSlipSouthEast -> true;
|
|
[Agent_move_West] viewAgent=2 & AgentIsOnSlipperyEast & !AgentCannotSlipEast -> 0.950000: (colAgent'=colAgent+1) + 0.050000: true;
|
|
[Agent_move_West] viewAgent=2 & AgentIsOnSlipperyEast & AgentCannotSlipEast -> 1.000000: true;
|
|
[Agent_turn_right] AgentIsOnSlipperyEast & !AgentCannotSlipEast & true -> 0.950000: (viewAgent'=mod(viewAgent+1,4)) + 0.050000: (colAgent'=colAgent+1);
|
|
[Agent_turn_right] AgentIsOnSlipperyEast & AgentCannotSlipEast & true -> 1.000000: (viewAgent'=mod(viewAgent+1,4));
|
|
[Agent_turn_left] AgentIsOnSlipperyEast & !AgentCannotSlipEast & viewAgent>0 -> 0.950000: (viewAgent'=viewAgent-1) + 0.050000: (colAgent'=colAgent+1);
|
|
[Agent_turn_left] AgentIsOnSlipperyEast & !AgentCannotSlipEast & viewAgent=0 -> 0.950000: (viewAgent'=3) + 0.050000: (colAgent'=colAgent+1);
|
|
[Agent_turn_left] AgentIsOnSlipperyEast & AgentCannotSlipEast & viewAgent>0 -> 1.000000: (viewAgent'=viewAgent-1);
|
|
[Agent_turn_left] AgentIsOnSlipperyEast & AgentCannotSlipEast & viewAgent=0 -> 1.000000: (viewAgent'=3);
|
|
[Agent_move_South] viewAgent=1 & AgentIsOnSlipperySouth & !AgentCannotSlipSouth & !AgentCannotSlipSouthEast & !AgentCannotSlipSouthWest -> 0.950000: (rowAgent'=rowAgent+1) + 0.025000: (rowAgent'=rowAgent+1)&(colAgent'=colAgent+1) + 0.025000: (rowAgent'=rowAgent+1)&(colAgent'=colAgent-1);
|
|
[Agent_move_South] viewAgent=1 & AgentIsOnSlipperySouth & AgentCannotSlipSouth & !AgentCannotSlipSouthEast & !AgentCannotSlipSouthWest -> 0.000000: (rowAgent'=rowAgent+1)&(colAgent'=colAgent+1) + 0.000000: (rowAgent'=rowAgent+1)&(colAgent'=colAgent-1);
|
|
[Agent_move_South] viewAgent=1 & AgentIsOnSlipperySouth & !AgentCannotSlipSouth & AgentCannotSlipSouthEast & !AgentCannotSlipSouthWest -> 0.950000: (rowAgent'=rowAgent+1) + 0.050000: (rowAgent'=rowAgent+1)&(colAgent'=colAgent-1);
|
|
[Agent_move_South] viewAgent=1 & AgentIsOnSlipperySouth & !AgentCannotSlipSouth & !AgentCannotSlipSouthEast & AgentCannotSlipSouthWest -> 0.950000: (rowAgent'=rowAgent+1) + 0.050000: (rowAgent'=rowAgent+1)&(colAgent'=colAgent+1);
|
|
[Agent_move_South] viewAgent=1 & AgentIsOnSlipperySouth & AgentCannotSlipSouth & AgentCannotSlipSouthEast & !AgentCannotSlipSouthWest -> 1.000000: (rowAgent'=rowAgent+1)&(colAgent'=colAgent-1);
|
|
[Agent_move_South] viewAgent=1 & AgentIsOnSlipperySouth & !AgentCannotSlipSouth & AgentCannotSlipSouthEast & AgentCannotSlipSouthWest -> 1.000000: (rowAgent'=rowAgent+1);
|
|
[Agent_move_South] viewAgent=1 & AgentIsOnSlipperySouth & AgentCannotSlipSouth & !AgentCannotSlipSouthEast & AgentCannotSlipSouthWest -> 1.000000: (rowAgent'=rowAgent+1)&(colAgent'=colAgent+1);
|
|
[Agent_move_South] viewAgent=1 & AgentIsOnSlipperySouth & AgentCannotSlipSouth & AgentCannotSlipSouthEast & AgentCannotSlipSouthWest -> true;
|
|
[Agent_move_West] viewAgent=2 & AgentIsOnSlipperySouth & !AgentCannotSlipWest & !AgentCannotSlipSouthWest -> 0.950000: (colAgent'=colAgent-1) + 0.050000: (colAgent'=colAgent-1)&(rowAgent'=rowAgent+1);
|
|
[Agent_move_West] viewAgent=2 & AgentIsOnSlipperySouth & AgentCannotSlipWest & !AgentCannotSlipSouthWest -> 1.000000: (colAgent'=colAgent-1)&(rowAgent'=rowAgent+1);
|
|
[Agent_move_West] viewAgent=2 & AgentIsOnSlipperySouth & !AgentCannotSlipWest & AgentCannotSlipSouthWest -> 1.000000: (colAgent'=colAgent-1);
|
|
[Agent_move_West] viewAgent=2 & AgentIsOnSlipperySouth & AgentCannotSlipWest & AgentCannotSlipSouthWest -> true;
|
|
[Agent_move_East] viewAgent=0 & AgentIsOnSlipperySouth & !AgentCannotSlipEast & !AgentCannotSlipSouthEast -> 0.950000: (colAgent'=colAgent+1) + 0.050000: (colAgent'=colAgent+1)&(rowAgent'=rowAgent+1);
|
|
[Agent_move_East] viewAgent=0 & AgentIsOnSlipperySouth & AgentCannotSlipEast & !AgentCannotSlipSouthEast -> 1.000000: (colAgent'=colAgent+1)&(rowAgent'=rowAgent+1);
|
|
[Agent_move_East] viewAgent=0 & AgentIsOnSlipperySouth & !AgentCannotSlipEast & AgentCannotSlipSouthEast -> 1.000000: (colAgent'=colAgent+1);
|
|
[Agent_move_East] viewAgent=0 & AgentIsOnSlipperySouth & AgentCannotSlipEast & AgentCannotSlipSouthEast -> true;
|
|
[Agent_move_North] viewAgent=3 & AgentIsOnSlipperySouth & !AgentCannotSlipSouth -> 0.950000: (rowAgent'=rowAgent-1) + 0.050000: true;
|
|
[Agent_move_North] viewAgent=3 & AgentIsOnSlipperySouth & AgentCannotSlipSouth -> 1.000000: true;
|
|
[Agent_turn_right] AgentIsOnSlipperySouth & !AgentCannotSlipSouth & true -> 0.950000: (viewAgent'=mod(viewAgent+1,4)) + 0.050000: (rowAgent'=rowAgent+1);
|
|
[Agent_turn_right] AgentIsOnSlipperySouth & AgentCannotSlipSouth & true -> 1.000000: (viewAgent'=mod(viewAgent+1,4));
|
|
[Agent_turn_left] AgentIsOnSlipperySouth & !AgentCannotSlipSouth & viewAgent>0 -> 0.950000: (viewAgent'=viewAgent-1) + 0.050000: (rowAgent'=rowAgent+1);
|
|
[Agent_turn_left] AgentIsOnSlipperySouth & !AgentCannotSlipSouth & viewAgent=0 -> 0.950000: (viewAgent'=3) + 0.050000: (rowAgent'=rowAgent+1);
|
|
[Agent_turn_left] AgentIsOnSlipperySouth & AgentCannotSlipSouth & viewAgent>0 -> 1.000000: (viewAgent'=viewAgent-1);
|
|
[Agent_turn_left] AgentIsOnSlipperySouth & AgentCannotSlipSouth & viewAgent=0 -> 1.000000: (viewAgent'=3);
|
|
[Agent_move_West] viewAgent=2 & AgentIsOnSlipperyWest & !AgentCannotSlipWest & !AgentCannotSlipSouthWest & !AgentCannotSlipNorthWest -> 0.950000: (colAgent'=colAgent-1) + 0.025000: (colAgent'=colAgent-1)&(rowAgent'=rowAgent+1) + 0.025000: (colAgent'=colAgent-1)&(rowAgent'=rowAgent-1);
|
|
[Agent_move_West] viewAgent=2 & AgentIsOnSlipperyWest & AgentCannotSlipWest & !AgentCannotSlipSouthWest & !AgentCannotSlipNorthWest -> 0.000000: (colAgent'=colAgent-1)&(rowAgent'=rowAgent+1) + 0.000000: (colAgent'=colAgent-1)&(rowAgent'=rowAgent-1);
|
|
[Agent_move_West] viewAgent=2 & AgentIsOnSlipperyWest & !AgentCannotSlipWest & AgentCannotSlipSouthWest & !AgentCannotSlipNorthWest -> 0.950000: (colAgent'=colAgent-1) + 0.050000: (colAgent'=colAgent-1)&(rowAgent'=rowAgent-1);
|
|
[Agent_move_West] viewAgent=2 & AgentIsOnSlipperyWest & !AgentCannotSlipWest & !AgentCannotSlipSouthWest & AgentCannotSlipNorthWest -> 0.950000: (colAgent'=colAgent-1) + 0.050000: (colAgent'=colAgent-1)&(rowAgent'=rowAgent+1);
|
|
[Agent_move_West] viewAgent=2 & AgentIsOnSlipperyWest & AgentCannotSlipWest & AgentCannotSlipSouthWest & !AgentCannotSlipNorthWest -> 1.000000: (colAgent'=colAgent-1)&(rowAgent'=rowAgent-1);
|
|
[Agent_move_West] viewAgent=2 & AgentIsOnSlipperyWest & !AgentCannotSlipWest & AgentCannotSlipSouthWest & AgentCannotSlipNorthWest -> 1.000000: (colAgent'=colAgent-1);
|
|
[Agent_move_West] viewAgent=2 & AgentIsOnSlipperyWest & AgentCannotSlipWest & !AgentCannotSlipSouthWest & AgentCannotSlipNorthWest -> 1.000000: (colAgent'=colAgent-1)&(rowAgent'=rowAgent+1);
|
|
[Agent_move_West] viewAgent=2 & AgentIsOnSlipperyWest & AgentCannotSlipWest & AgentCannotSlipSouthWest & AgentCannotSlipNorthWest -> true;
|
|
[Agent_move_North] viewAgent=3 & AgentIsOnSlipperyWest & !AgentCannotSlipNorth & !AgentCannotSlipNorthWest -> 0.950000: (rowAgent'=rowAgent-1) + 0.050000: (colAgent'=colAgent-1)&(rowAgent'=rowAgent-1);
|
|
[Agent_move_North] viewAgent=3 & AgentIsOnSlipperyWest & AgentCannotSlipNorth & !AgentCannotSlipNorthWest -> 1.000000: (colAgent'=colAgent-1)&(rowAgent'=rowAgent-1);
|
|
[Agent_move_North] viewAgent=3 & AgentIsOnSlipperyWest & !AgentCannotSlipNorth & AgentCannotSlipNorthWest -> 1.000000: (rowAgent'=rowAgent-1);
|
|
[Agent_move_North] viewAgent=3 & AgentIsOnSlipperyWest & AgentCannotSlipNorth & AgentCannotSlipNorthWest -> true;
|
|
[Agent_move_South] viewAgent=1 & AgentIsOnSlipperyWest & !AgentCannotSlipSouth & !AgentCannotSlipSouthWest -> 0.950000: (rowAgent'=rowAgent+1) + 0.050000: (colAgent'=colAgent-1)&(rowAgent'=rowAgent+1);
|
|
[Agent_move_South] viewAgent=1 & AgentIsOnSlipperyWest & AgentCannotSlipSouth & !AgentCannotSlipSouthWest -> 1.000000: (colAgent'=colAgent-1)&(rowAgent'=rowAgent+1);
|
|
[Agent_move_South] viewAgent=1 & AgentIsOnSlipperyWest & !AgentCannotSlipSouth & AgentCannotSlipSouthWest -> 1.000000: (rowAgent'=rowAgent+1);
|
|
[Agent_move_South] viewAgent=1 & AgentIsOnSlipperyWest & AgentCannotSlipSouth & AgentCannotSlipSouthWest -> true;
|
|
[Agent_move_East] viewAgent=0 & AgentIsOnSlipperyWest & !AgentCannotSlipWest -> 0.950000: (colAgent'=colAgent-1) + 0.050000: true;
|
|
[Agent_move_East] viewAgent=0 & AgentIsOnSlipperyWest & AgentCannotSlipWest -> 1.000000: true;
|
|
[Agent_turn_right] AgentIsOnSlipperyWest & !AgentCannotSlipWest & true -> 0.950000: (viewAgent'=mod(viewAgent+1,4)) + 0.050000: (colAgent'=colAgent-1);
|
|
[Agent_turn_right] AgentIsOnSlipperyWest & AgentCannotSlipWest & true -> 1.000000: (viewAgent'=mod(viewAgent+1,4));
|
|
[Agent_turn_left] AgentIsOnSlipperyWest & !AgentCannotSlipWest & viewAgent>0 -> 0.950000: (viewAgent'=viewAgent-1) + 0.050000: (colAgent'=colAgent-1);
|
|
[Agent_turn_left] AgentIsOnSlipperyWest & !AgentCannotSlipWest & viewAgent=0 -> 0.950000: (viewAgent'=3) + 0.050000: (colAgent'=colAgent-1);
|
|
[Agent_turn_left] AgentIsOnSlipperyWest & AgentCannotSlipWest & viewAgent>0 -> 1.000000: (viewAgent'=viewAgent-1);
|
|
[Agent_turn_left] AgentIsOnSlipperyWest & AgentCannotSlipWest & viewAgent=0 -> 1.000000: (viewAgent'=3);
|
|
[Agent_move_East] viewAgent=0 & AgentIsOnSlipperyNorthEast & !AgentCannotSlipNorthEast & !AgentCannotSlipEast -> 0.950000: (colAgent'=colAgent+1) + 0.050000: (rowAgent'=rowAgent-1)&(colAgent'=colAgent+1);
|
|
[Agent_move_East] viewAgent=0 & AgentIsOnSlipperyNorthEast & !AgentCannotSlipNorthEast & AgentCannotSlipEast -> 1.000000: (rowAgent'=rowAgent-1)&(colAgent'=colAgent+1);
|
|
[Agent_move_East] viewAgent=0 & AgentIsOnSlipperyNorthEast & AgentCannotSlipNorthEast & !AgentCannotSlipEast -> 1.000000: (colAgent'=colAgent+1);
|
|
[Agent_move_East] viewAgent=0 & AgentIsOnSlipperyNorthEast & AgentCannotSlipNorthEast & AgentCannotSlipEast -> 1.000000: true;
|
|
[Agent_move_North] viewAgent=3 & AgentIsOnSlipperyNorthEast & !AgentCannotSlipNorthEast & !AgentCannotSlipNorth -> 0.950000: (rowAgent'=rowAgent-1) + 0.050000: (colAgent'=colAgent+1)&(rowAgent'=rowAgent-1);
|
|
[Agent_move_North] viewAgent=3 & AgentIsOnSlipperyNorthEast & !AgentCannotSlipNorthEast & AgentCannotSlipNorth -> 1.000000: (rowAgent'=rowAgent-1)&(colAgent'=colAgent+1);
|
|
[Agent_move_North] viewAgent=3 & AgentIsOnSlipperyNorthEast & AgentCannotSlipNorthEast & !AgentCannotSlipNorth -> 1.000000: (rowAgent'=rowAgent-1);
|
|
[Agent_move_North] viewAgent=3 & AgentIsOnSlipperyNorthEast & AgentCannotSlipNorthEast & AgentCannotSlipNorth -> 1.000000: true;
|
|
[Agent_move_South] viewAgent=1 & AgentIsOnSlipperyNorthEast & !AgentCannotSlipNorthEast & !AgentCannotSlipEast & !AgentCannotSlipSouthEast & !AgentCannotSlipSouth -> 0.950000: (rowAgent'=rowAgent+1) + 0.016667: (rowAgent'=rowAgent-1)&(colAgent'=colAgent+1) + 0.016667: (colAgent'=colAgent+1) + 0.016667: (rowAgent'=rowAgent+1)&(colAgent'=colAgent+1);
|
|
[Agent_move_South] viewAgent=1 & AgentIsOnSlipperyNorthEast & !AgentCannotSlipNorthEast & !AgentCannotSlipEast & !AgentCannotSlipSouthEast & AgentCannotSlipSouth -> 0.333333: (rowAgent'=rowAgent-1)&(colAgent'=colAgent+1) + 0.333333: (colAgent'=colAgent+1) + 0.333333: (rowAgent'=rowAgent+1)&(colAgent'=colAgent+1);
|
|
[Agent_move_South] viewAgent=1 & AgentIsOnSlipperyNorthEast & !AgentCannotSlipNorthEast & !AgentCannotSlipEast & AgentCannotSlipSouthEast & !AgentCannotSlipSouth -> 0.982759: (rowAgent'=rowAgent+1) + 0.050847: (rowAgent'=rowAgent-1)&(colAgent'=colAgent+1) + 0.050847: (colAgent'=colAgent+1);
|
|
[Agent_move_South] viewAgent=1 & AgentIsOnSlipperyNorthEast & !AgentCannotSlipNorthEast & !AgentCannotSlipEast & AgentCannotSlipSouthEast & AgentCannotSlipSouth -> 0.500000: (rowAgent'=rowAgent-1)&(colAgent'=colAgent+1) + 0.500000: (colAgent'=colAgent+1);
|
|
[Agent_move_South] viewAgent=1 & AgentIsOnSlipperyNorthEast & !AgentCannotSlipNorthEast & AgentCannotSlipEast & !AgentCannotSlipSouthEast & !AgentCannotSlipSouth -> 0.982759: (rowAgent'=rowAgent+1) + 0.050847: (rowAgent'=rowAgent-1)&(colAgent'=colAgent+1) + 0.050847: (rowAgent'=rowAgent+1)&(colAgent'=colAgent+1);
|
|
[Agent_move_South] viewAgent=1 & AgentIsOnSlipperyNorthEast & !AgentCannotSlipNorthEast & AgentCannotSlipEast & !AgentCannotSlipSouthEast & AgentCannotSlipSouth -> 0.500000: (rowAgent'=rowAgent-1)&(colAgent'=colAgent+1) + 0.500000: (rowAgent'=rowAgent+1)&(colAgent'=colAgent+1);
|
|
[Agent_move_South] viewAgent=1 & AgentIsOnSlipperyNorthEast & !AgentCannotSlipNorthEast & AgentCannotSlipEast & AgentCannotSlipSouthEast & !AgentCannotSlipSouth -> 0.950000: (rowAgent'=rowAgent+1) + 0.051724: (rowAgent'=rowAgent-1)&(colAgent'=colAgent+1);
|
|
[Agent_move_South] viewAgent=1 & AgentIsOnSlipperyNorthEast & !AgentCannotSlipNorthEast & AgentCannotSlipEast & AgentCannotSlipSouthEast & AgentCannotSlipSouth -> 1.000000: (rowAgent'=rowAgent-1)&(colAgent'=colAgent+1);
|
|
[Agent_move_South] viewAgent=1 & AgentIsOnSlipperyNorthEast & AgentCannotSlipNorthEast & !AgentCannotSlipEast & !AgentCannotSlipSouthEast & !AgentCannotSlipSouth -> 0.982759: (rowAgent'=rowAgent+1) + 0.050847: (colAgent'=colAgent+1) + 0.050847: (rowAgent'=rowAgent+1)&(colAgent'=colAgent+1);
|
|
[Agent_move_South] viewAgent=1 & AgentIsOnSlipperyNorthEast & AgentCannotSlipNorthEast & !AgentCannotSlipEast & !AgentCannotSlipSouthEast & AgentCannotSlipSouth -> 0.500000: (colAgent'=colAgent+1) + 0.500000: (rowAgent'=rowAgent+1)&(colAgent'=colAgent+1);
|
|
[Agent_move_South] viewAgent=1 & AgentIsOnSlipperyNorthEast & AgentCannotSlipNorthEast & !AgentCannotSlipEast & AgentCannotSlipSouthEast & !AgentCannotSlipSouth -> 0.982759: (rowAgent'=rowAgent+1) + 0.051724: (colAgent'=colAgent+1);
|
|
[Agent_move_South] viewAgent=1 & AgentIsOnSlipperyNorthEast & AgentCannotSlipNorthEast & !AgentCannotSlipEast & AgentCannotSlipSouthEast & AgentCannotSlipSouth -> 1.000000: (colAgent'=colAgent+1);
|
|
[Agent_move_South] viewAgent=1 & AgentIsOnSlipperyNorthEast & AgentCannotSlipNorthEast & AgentCannotSlipEast & !AgentCannotSlipSouthEast & !AgentCannotSlipSouth -> 0.982759: (rowAgent'=rowAgent+1) + 0.051724: (rowAgent'=rowAgent+1)&(colAgent'=colAgent+1);
|
|
[Agent_move_South] viewAgent=1 & AgentIsOnSlipperyNorthEast & AgentCannotSlipNorthEast & AgentCannotSlipEast & !AgentCannotSlipSouthEast & AgentCannotSlipSouth -> 1.000000: (rowAgent'=rowAgent+1)&(colAgent'=colAgent+1);
|
|
[Agent_move_South] viewAgent=1 & AgentIsOnSlipperyNorthEast & AgentCannotSlipNorthEast & AgentCannotSlipEast & AgentCannotSlipSouthEast & !AgentCannotSlipSouth -> 1.000000: (rowAgent'=rowAgent+1);
|
|
[Agent_move_South] viewAgent=1 & AgentIsOnSlipperyNorthEast & AgentCannotSlipNorthEast & AgentCannotSlipEast & AgentCannotSlipSouthEast & AgentCannotSlipSouth -> 1.000000: true;
|
|
[Agent_move_West] viewAgent=2 & AgentIsOnSlipperyNorthEast & !AgentCannotSlipWest & !AgentCannotSlipNorthWest & !AgentCannotSlipNorth & !AgentCannotSlipNorthEast -> 0.950000: (colAgent'=colAgent-1) + 0.016667: (rowAgent'=rowAgent-1)&(colAgent'=colAgent-1) + 0.016667: (rowAgent'=rowAgent-1) + 0.016667: (rowAgent'=rowAgent-1)&(colAgent'=colAgent+1);
|
|
[Agent_move_West] viewAgent=2 & AgentIsOnSlipperyNorthEast & !AgentCannotSlipWest & !AgentCannotSlipNorthWest & !AgentCannotSlipNorth & AgentCannotSlipNorthEast -> 0.966102: (colAgent'=colAgent-1) + 0.050847: (rowAgent'=rowAgent-1)&(colAgent'=colAgent-1) + 0.050847: (rowAgent'=rowAgent-1);
|
|
[Agent_move_West] viewAgent=2 & AgentIsOnSlipperyNorthEast & !AgentCannotSlipWest & !AgentCannotSlipNorthWest & AgentCannotSlipNorth & !AgentCannotSlipNorthEast -> 0.966102: (colAgent'=colAgent-1) + 0.050847: (rowAgent'=rowAgent-1)&(colAgent'=colAgent-1) + 0.050847: (rowAgent'=rowAgent-1)&(colAgent'=colAgent+1);
|
|
[Agent_move_West] viewAgent=2 & AgentIsOnSlipperyNorthEast & !AgentCannotSlipWest & !AgentCannotSlipNorthWest & AgentCannotSlipNorth & AgentCannotSlipNorthEast -> 0.982759: (colAgent'=colAgent-1) + 0.051724: (rowAgent'=rowAgent-1)&(colAgent'=colAgent-1);
|
|
[Agent_move_West] viewAgent=2 & AgentIsOnSlipperyNorthEast & !AgentCannotSlipWest & AgentCannotSlipNorthWest & !AgentCannotSlipNorth & !AgentCannotSlipNorthEast -> 0.966102: (colAgent'=colAgent-1) + 0.050847: (rowAgent'=rowAgent-1) + 0.050847: (rowAgent'=rowAgent-1)&(colAgent'=colAgent+1);
|
|
[Agent_move_West] viewAgent=2 & AgentIsOnSlipperyNorthEast & !AgentCannotSlipWest & AgentCannotSlipNorthWest & !AgentCannotSlipNorth & AgentCannotSlipNorthEast -> 0.982759: (colAgent'=colAgent-1) + 0.051724: (rowAgent'=rowAgent-1);
|
|
[Agent_move_West] viewAgent=2 & AgentIsOnSlipperyNorthEast & !AgentCannotSlipWest & AgentCannotSlipNorthWest & AgentCannotSlipNorth & !AgentCannotSlipNorthEast -> 0.982759: (colAgent'=colAgent-1) + 0.051724: (rowAgent'=rowAgent-1)&(colAgent'=colAgent+1);
|
|
[Agent_move_West] viewAgent=2 & AgentIsOnSlipperyNorthEast & !AgentCannotSlipWest & AgentCannotSlipNorthWest & AgentCannotSlipNorth & AgentCannotSlipNorthEast -> 1.000000: (colAgent'=colAgent-1);
|
|
[Agent_move_West] viewAgent=2 & AgentIsOnSlipperyNorthEast & AgentCannotSlipWest & !AgentCannotSlipNorthWest & !AgentCannotSlipNorth & !AgentCannotSlipNorthEast -> 0.333333: (rowAgent'=rowAgent-1)&(colAgent'=colAgent-1) + 0.333333: (rowAgent'=rowAgent-1) + 0.333333: (rowAgent'=rowAgent-1)&(colAgent'=colAgent+1);
|
|
[Agent_move_West] viewAgent=2 & AgentIsOnSlipperyNorthEast & AgentCannotSlipWest & !AgentCannotSlipNorthWest & !AgentCannotSlipNorth & AgentCannotSlipNorthEast -> 0.500000: (rowAgent'=rowAgent-1)&(colAgent'=colAgent-1) + 0.500000: (rowAgent'=rowAgent-1);
|
|
[Agent_move_West] viewAgent=2 & AgentIsOnSlipperyNorthEast & AgentCannotSlipWest & !AgentCannotSlipNorthWest & AgentCannotSlipNorth & !AgentCannotSlipNorthEast -> 0.500000: (rowAgent'=rowAgent-1)&(colAgent'=colAgent-1) + 0.500000: (rowAgent'=rowAgent-1)&(colAgent'=colAgent+1);
|
|
[Agent_move_West] viewAgent=2 & AgentIsOnSlipperyNorthEast & AgentCannotSlipWest & !AgentCannotSlipNorthWest & AgentCannotSlipNorth & AgentCannotSlipNorthEast -> 1.000000: (rowAgent'=rowAgent-1)&(colAgent'=colAgent-1);
|
|
[Agent_move_West] viewAgent=2 & AgentIsOnSlipperyNorthEast & AgentCannotSlipWest & AgentCannotSlipNorthWest & !AgentCannotSlipNorth & !AgentCannotSlipNorthEast -> 0.500000: (rowAgent'=rowAgent-1) + 0.500000: (rowAgent'=rowAgent-1)&(colAgent'=colAgent+1);
|
|
[Agent_move_West] viewAgent=2 & AgentIsOnSlipperyNorthEast & AgentCannotSlipWest & AgentCannotSlipNorthWest & !AgentCannotSlipNorth & AgentCannotSlipNorthEast -> 1.000000: (rowAgent'=rowAgent-1);
|
|
[Agent_move_West] viewAgent=2 & AgentIsOnSlipperyNorthEast & AgentCannotSlipWest & AgentCannotSlipNorthWest & AgentCannotSlipNorth & !AgentCannotSlipNorthEast -> 1.000000: (rowAgent'=rowAgent-1)&(colAgent'=colAgent+1);
|
|
[Agent_move_West] viewAgent=2 & AgentIsOnSlipperyNorthEast & AgentCannotSlipWest & AgentCannotSlipNorthWest & AgentCannotSlipNorth & AgentCannotSlipNorthEast -> 1.000000: true;
|
|
[Agent_turn_right] AgentIsOnSlipperyNorthEast & true & true -> 1.000000: (viewAgent'=mod(viewAgent+1,4));
|
|
[Agent_turn_left] AgentIsOnSlipperyNorthEast & true & viewAgent>0 -> 1.000000: (viewAgent'=viewAgent-1);
|
|
[Agent_turn_left] AgentIsOnSlipperyNorthEast & true & viewAgent=0 -> 1.000000: (viewAgent'=3);
|
|
[Agent_on_goal]AgentIsOnGoal & clock=0 -> true;
|
|
endmodule
|
|
|
|
|
|
module Blue
|
|
colBlue : [1..13];
|
|
rowBlue : [1..13];
|
|
viewBlue : [0..3];
|
|
|
|
[Blue_turn_right] !BlueIsOnSlippery & !BlueIsOnLava &true -> 1.000000: (viewBlue'=mod(viewBlue+1,4));
|
|
[Blue_turn_left] !BlueIsOnSlippery & !BlueIsOnLava &viewBlue>0 -> 1.000000: (viewBlue'=viewBlue-1);
|
|
[Blue_turn_left] !BlueIsOnSlippery & !BlueIsOnLava &viewBlue=0 -> 1.000000: (viewBlue'=3);
|
|
[Blue_move_North] viewBlue=3 & !BlueIsOnSlippery & !BlueIsOnLava & !BlueIsOnGoal & !BlueCannotMoveNorthWall -> 1.000000: (rowBlue'=rowBlue-1);
|
|
[Blue_move_East] viewBlue=0 & !BlueIsOnSlippery & !BlueIsOnLava & !BlueIsOnGoal & !BlueCannotMoveEastWall -> 1.000000: (colBlue'=colBlue+1);
|
|
[Blue_move_South] viewBlue=1 & !BlueIsOnSlippery & !BlueIsOnLava & !BlueIsOnGoal & !BlueCannotMoveSouthWall -> 1.000000: (rowBlue'=rowBlue+1);
|
|
[Blue_move_West] viewBlue=2 & !BlueIsOnSlippery & !BlueIsOnLava & !BlueIsOnGoal & !BlueCannotMoveWestWall -> 1.000000: (colBlue'=colBlue-1);
|
|
[Blue_move_North] viewBlue=3 & BlueIsOnSlipperyNorth & !BlueCannotSlipNorth & !BlueCannotSlipNorthEast & !BlueCannotSlipNorthWest -> 0.950000: (rowBlue'=rowBlue-1) + 0.025000: (rowBlue'=rowBlue-1)&(colBlue'=colBlue+1) + 0.025000: (rowBlue'=rowBlue-1)&(colBlue'=colBlue-1);
|
|
[Blue_move_North] viewBlue=3 & BlueIsOnSlipperyNorth & BlueCannotSlipNorth & !BlueCannotSlipNorthEast & !BlueCannotSlipNorthWest -> 0.000000: (rowBlue'=rowBlue-1)&(colBlue'=colBlue+1) + 0.000000: (rowBlue'=rowBlue-1)&(colBlue'=colBlue-1);
|
|
[Blue_move_North] viewBlue=3 & BlueIsOnSlipperyNorth & !BlueCannotSlipNorth & BlueCannotSlipNorthEast & !BlueCannotSlipNorthWest -> 0.950000: (rowBlue'=rowBlue-1) + 0.050000: (rowBlue'=rowBlue-1)&(colBlue'=colBlue-1);
|
|
[Blue_move_North] viewBlue=3 & BlueIsOnSlipperyNorth & !BlueCannotSlipNorth & !BlueCannotSlipNorthEast & BlueCannotSlipNorthWest -> 0.950000: (rowBlue'=rowBlue-1) + 0.050000: (rowBlue'=rowBlue-1)&(colBlue'=colBlue+1);
|
|
[Blue_move_North] viewBlue=3 & BlueIsOnSlipperyNorth & BlueCannotSlipNorth & BlueCannotSlipNorthEast & !BlueCannotSlipNorthWest -> 1.000000: (rowBlue'=rowBlue-1)&(colBlue'=colBlue-1);
|
|
[Blue_move_North] viewBlue=3 & BlueIsOnSlipperyNorth & !BlueCannotSlipNorth & BlueCannotSlipNorthEast & BlueCannotSlipNorthWest -> 1.000000: (rowBlue'=rowBlue-1);
|
|
[Blue_move_North] viewBlue=3 & BlueIsOnSlipperyNorth & BlueCannotSlipNorth & !BlueCannotSlipNorthEast & BlueCannotSlipNorthWest -> 1.000000: (rowBlue'=rowBlue-1)&(colBlue'=colBlue+1);
|
|
[Blue_move_North] viewBlue=3 & BlueIsOnSlipperyNorth & BlueCannotSlipNorth & BlueCannotSlipNorthEast & BlueCannotSlipNorthWest -> true;
|
|
[Blue_move_West] viewBlue=2 & BlueIsOnSlipperyNorth & !BlueCannotSlipWest & !BlueCannotSlipNorthWest -> 0.950000: (colBlue'=colBlue-1) + 0.050000: (colBlue'=colBlue-1)&(rowBlue'=rowBlue-1);
|
|
[Blue_move_West] viewBlue=2 & BlueIsOnSlipperyNorth & BlueCannotSlipWest & !BlueCannotSlipNorthWest -> 1.000000: (colBlue'=colBlue-1)&(rowBlue'=rowBlue-1);
|
|
[Blue_move_West] viewBlue=2 & BlueIsOnSlipperyNorth & !BlueCannotSlipWest & BlueCannotSlipNorthWest -> 1.000000: (colBlue'=colBlue-1);
|
|
[Blue_move_West] viewBlue=2 & BlueIsOnSlipperyNorth & BlueCannotSlipWest & BlueCannotSlipNorthWest -> true;
|
|
[Blue_move_East] viewBlue=0 & BlueIsOnSlipperyNorth & !BlueCannotSlipEast & !BlueCannotSlipNorthEast -> 0.950000: (colBlue'=colBlue+1) + 0.050000: (colBlue'=colBlue+1)&(rowBlue'=rowBlue-1);
|
|
[Blue_move_East] viewBlue=0 & BlueIsOnSlipperyNorth & BlueCannotSlipEast & !BlueCannotSlipNorthEast -> 1.000000: (colBlue'=colBlue+1)&(rowBlue'=rowBlue-1);
|
|
[Blue_move_East] viewBlue=0 & BlueIsOnSlipperyNorth & !BlueCannotSlipEast & BlueCannotSlipNorthEast -> 1.000000: (colBlue'=colBlue+1);
|
|
[Blue_move_East] viewBlue=0 & BlueIsOnSlipperyNorth & BlueCannotSlipEast & BlueCannotSlipNorthEast -> true;
|
|
[Blue_move_South] viewBlue=1 & BlueIsOnSlipperyNorth & !BlueCannotSlipSouth -> 0.950000: (rowBlue'=rowBlue+1) + 0.050000: true;
|
|
[Blue_move_South] viewBlue=1 & BlueIsOnSlipperyNorth & BlueCannotSlipSouth -> 1.000000: true;
|
|
[Blue_turn_right] BlueIsOnSlipperyNorth & !BlueCannotSlipNorth & true -> 0.950000: (viewBlue'=mod(viewBlue+1,4)) + 0.050000: (rowBlue'=rowBlue-1);
|
|
[Blue_turn_right] BlueIsOnSlipperyNorth & BlueCannotSlipNorth & true -> 1.000000: (viewBlue'=mod(viewBlue+1,4));
|
|
[Blue_turn_left] BlueIsOnSlipperyNorth & !BlueCannotSlipNorth & viewBlue>0 -> 0.950000: (viewBlue'=viewBlue-1) + 0.050000: (rowBlue'=rowBlue-1);
|
|
[Blue_turn_left] BlueIsOnSlipperyNorth & !BlueCannotSlipNorth & viewBlue=0 -> 0.950000: (viewBlue'=3) + 0.050000: (rowBlue'=rowBlue-1);
|
|
[Blue_turn_left] BlueIsOnSlipperyNorth & BlueCannotSlipNorth & viewBlue>0 -> 1.000000: (viewBlue'=viewBlue-1);
|
|
[Blue_turn_left] BlueIsOnSlipperyNorth & BlueCannotSlipNorth & viewBlue=0 -> 1.000000: (viewBlue'=3);
|
|
[Blue_move_East] viewBlue=0 & BlueIsOnSlipperyEast & !BlueCannotSlipEast & !BlueCannotSlipSouthEast & !BlueCannotSlipNorthEast -> 0.950000: (colBlue'=colBlue+1) + 0.025000: (colBlue'=colBlue+1)&(rowBlue'=rowBlue+1) + 0.025000: (colBlue'=colBlue+1)&(rowBlue'=rowBlue-1);
|
|
[Blue_move_East] viewBlue=0 & BlueIsOnSlipperyEast & BlueCannotSlipEast & !BlueCannotSlipSouthEast & !BlueCannotSlipNorthEast -> 0.000000: (colBlue'=colBlue+1)&(rowBlue'=rowBlue+1) + 0.000000: (colBlue'=colBlue+1)&(rowBlue'=rowBlue-1);
|
|
[Blue_move_East] viewBlue=0 & BlueIsOnSlipperyEast & !BlueCannotSlipEast & BlueCannotSlipSouthEast & !BlueCannotSlipNorthEast -> 0.950000: (colBlue'=colBlue+1) + 0.050000: (colBlue'=colBlue+1)&(rowBlue'=rowBlue-1);
|
|
[Blue_move_East] viewBlue=0 & BlueIsOnSlipperyEast & !BlueCannotSlipEast & !BlueCannotSlipSouthEast & BlueCannotSlipNorthEast -> 0.950000: (colBlue'=colBlue+1) + 0.050000: (colBlue'=colBlue+1)&(rowBlue'=rowBlue+1);
|
|
[Blue_move_East] viewBlue=0 & BlueIsOnSlipperyEast & BlueCannotSlipEast & BlueCannotSlipSouthEast & !BlueCannotSlipNorthEast -> 1.000000: (colBlue'=colBlue+1)&(rowBlue'=rowBlue-1);
|
|
[Blue_move_East] viewBlue=0 & BlueIsOnSlipperyEast & !BlueCannotSlipEast & BlueCannotSlipSouthEast & BlueCannotSlipNorthEast -> 1.000000: (colBlue'=colBlue+1);
|
|
[Blue_move_East] viewBlue=0 & BlueIsOnSlipperyEast & BlueCannotSlipEast & !BlueCannotSlipSouthEast & BlueCannotSlipNorthEast -> 1.000000: (colBlue'=colBlue+1)&(rowBlue'=rowBlue+1);
|
|
[Blue_move_East] viewBlue=0 & BlueIsOnSlipperyEast & BlueCannotSlipEast & BlueCannotSlipSouthEast & BlueCannotSlipNorthEast -> true;
|
|
[Blue_move_North] viewBlue=3 & BlueIsOnSlipperyEast & !BlueCannotSlipNorth & !BlueCannotSlipNorthEast -> 0.950000: (rowBlue'=rowBlue-1) + 0.050000: (colBlue'=colBlue+1)&(rowBlue'=rowBlue-1);
|
|
[Blue_move_North] viewBlue=3 & BlueIsOnSlipperyEast & BlueCannotSlipNorth & !BlueCannotSlipNorthEast -> 1.000000: (colBlue'=colBlue+1)&(rowBlue'=rowBlue-1);
|
|
[Blue_move_North] viewBlue=3 & BlueIsOnSlipperyEast & !BlueCannotSlipNorth & BlueCannotSlipNorthEast -> 1.000000: (rowBlue'=rowBlue-1);
|
|
[Blue_move_North] viewBlue=3 & BlueIsOnSlipperyEast & BlueCannotSlipNorth & BlueCannotSlipNorthEast -> true;
|
|
[Blue_move_South] viewBlue=1 & BlueIsOnSlipperyEast & !BlueCannotSlipSouth & !BlueCannotSlipSouthEast -> 0.950000: (rowBlue'=rowBlue+1) + 0.050000: (colBlue'=colBlue+1)&(rowBlue'=rowBlue+1);
|
|
[Blue_move_South] viewBlue=1 & BlueIsOnSlipperyEast & BlueCannotSlipSouth & !BlueCannotSlipSouthEast -> 1.000000: (colBlue'=colBlue+1)&(rowBlue'=rowBlue+1);
|
|
[Blue_move_South] viewBlue=1 & BlueIsOnSlipperyEast & !BlueCannotSlipSouth & BlueCannotSlipSouthEast -> 1.000000: (rowBlue'=rowBlue+1);
|
|
[Blue_move_South] viewBlue=1 & BlueIsOnSlipperyEast & BlueCannotSlipSouth & BlueCannotSlipSouthEast -> true;
|
|
[Blue_move_West] viewBlue=2 & BlueIsOnSlipperyEast & !BlueCannotSlipEast -> 0.950000: (colBlue'=colBlue+1) + 0.050000: true;
|
|
[Blue_move_West] viewBlue=2 & BlueIsOnSlipperyEast & BlueCannotSlipEast -> 1.000000: true;
|
|
[Blue_turn_right] BlueIsOnSlipperyEast & !BlueCannotSlipEast & true -> 0.950000: (viewBlue'=mod(viewBlue+1,4)) + 0.050000: (colBlue'=colBlue+1);
|
|
[Blue_turn_right] BlueIsOnSlipperyEast & BlueCannotSlipEast & true -> 1.000000: (viewBlue'=mod(viewBlue+1,4));
|
|
[Blue_turn_left] BlueIsOnSlipperyEast & !BlueCannotSlipEast & viewBlue>0 -> 0.950000: (viewBlue'=viewBlue-1) + 0.050000: (colBlue'=colBlue+1);
|
|
[Blue_turn_left] BlueIsOnSlipperyEast & !BlueCannotSlipEast & viewBlue=0 -> 0.950000: (viewBlue'=3) + 0.050000: (colBlue'=colBlue+1);
|
|
[Blue_turn_left] BlueIsOnSlipperyEast & BlueCannotSlipEast & viewBlue>0 -> 1.000000: (viewBlue'=viewBlue-1);
|
|
[Blue_turn_left] BlueIsOnSlipperyEast & BlueCannotSlipEast & viewBlue=0 -> 1.000000: (viewBlue'=3);
|
|
[Blue_move_South] viewBlue=1 & BlueIsOnSlipperySouth & !BlueCannotSlipSouth & !BlueCannotSlipSouthEast & !BlueCannotSlipSouthWest -> 0.950000: (rowBlue'=rowBlue+1) + 0.025000: (rowBlue'=rowBlue+1)&(colBlue'=colBlue+1) + 0.025000: (rowBlue'=rowBlue+1)&(colBlue'=colBlue-1);
|
|
[Blue_move_South] viewBlue=1 & BlueIsOnSlipperySouth & BlueCannotSlipSouth & !BlueCannotSlipSouthEast & !BlueCannotSlipSouthWest -> 0.000000: (rowBlue'=rowBlue+1)&(colBlue'=colBlue+1) + 0.000000: (rowBlue'=rowBlue+1)&(colBlue'=colBlue-1);
|
|
[Blue_move_South] viewBlue=1 & BlueIsOnSlipperySouth & !BlueCannotSlipSouth & BlueCannotSlipSouthEast & !BlueCannotSlipSouthWest -> 0.950000: (rowBlue'=rowBlue+1) + 0.050000: (rowBlue'=rowBlue+1)&(colBlue'=colBlue-1);
|
|
[Blue_move_South] viewBlue=1 & BlueIsOnSlipperySouth & !BlueCannotSlipSouth & !BlueCannotSlipSouthEast & BlueCannotSlipSouthWest -> 0.950000: (rowBlue'=rowBlue+1) + 0.050000: (rowBlue'=rowBlue+1)&(colBlue'=colBlue+1);
|
|
[Blue_move_South] viewBlue=1 & BlueIsOnSlipperySouth & BlueCannotSlipSouth & BlueCannotSlipSouthEast & !BlueCannotSlipSouthWest -> 1.000000: (rowBlue'=rowBlue+1)&(colBlue'=colBlue-1);
|
|
[Blue_move_South] viewBlue=1 & BlueIsOnSlipperySouth & !BlueCannotSlipSouth & BlueCannotSlipSouthEast & BlueCannotSlipSouthWest -> 1.000000: (rowBlue'=rowBlue+1);
|
|
[Blue_move_South] viewBlue=1 & BlueIsOnSlipperySouth & BlueCannotSlipSouth & !BlueCannotSlipSouthEast & BlueCannotSlipSouthWest -> 1.000000: (rowBlue'=rowBlue+1)&(colBlue'=colBlue+1);
|
|
[Blue_move_South] viewBlue=1 & BlueIsOnSlipperySouth & BlueCannotSlipSouth & BlueCannotSlipSouthEast & BlueCannotSlipSouthWest -> true;
|
|
[Blue_move_West] viewBlue=2 & BlueIsOnSlipperySouth & !BlueCannotSlipWest & !BlueCannotSlipSouthWest -> 0.950000: (colBlue'=colBlue-1) + 0.050000: (colBlue'=colBlue-1)&(rowBlue'=rowBlue+1);
|
|
[Blue_move_West] viewBlue=2 & BlueIsOnSlipperySouth & BlueCannotSlipWest & !BlueCannotSlipSouthWest -> 1.000000: (colBlue'=colBlue-1)&(rowBlue'=rowBlue+1);
|
|
[Blue_move_West] viewBlue=2 & BlueIsOnSlipperySouth & !BlueCannotSlipWest & BlueCannotSlipSouthWest -> 1.000000: (colBlue'=colBlue-1);
|
|
[Blue_move_West] viewBlue=2 & BlueIsOnSlipperySouth & BlueCannotSlipWest & BlueCannotSlipSouthWest -> true;
|
|
[Blue_move_East] viewBlue=0 & BlueIsOnSlipperySouth & !BlueCannotSlipEast & !BlueCannotSlipSouthEast -> 0.950000: (colBlue'=colBlue+1) + 0.050000: (colBlue'=colBlue+1)&(rowBlue'=rowBlue+1);
|
|
[Blue_move_East] viewBlue=0 & BlueIsOnSlipperySouth & BlueCannotSlipEast & !BlueCannotSlipSouthEast -> 1.000000: (colBlue'=colBlue+1)&(rowBlue'=rowBlue+1);
|
|
[Blue_move_East] viewBlue=0 & BlueIsOnSlipperySouth & !BlueCannotSlipEast & BlueCannotSlipSouthEast -> 1.000000: (colBlue'=colBlue+1);
|
|
[Blue_move_East] viewBlue=0 & BlueIsOnSlipperySouth & BlueCannotSlipEast & BlueCannotSlipSouthEast -> true;
|
|
[Blue_move_North] viewBlue=3 & BlueIsOnSlipperySouth & !BlueCannotSlipSouth -> 0.950000: (rowBlue'=rowBlue-1) + 0.050000: true;
|
|
[Blue_move_North] viewBlue=3 & BlueIsOnSlipperySouth & BlueCannotSlipSouth -> 1.000000: true;
|
|
[Blue_turn_right] BlueIsOnSlipperySouth & !BlueCannotSlipSouth & true -> 0.950000: (viewBlue'=mod(viewBlue+1,4)) + 0.050000: (rowBlue'=rowBlue+1);
|
|
[Blue_turn_right] BlueIsOnSlipperySouth & BlueCannotSlipSouth & true -> 1.000000: (viewBlue'=mod(viewBlue+1,4));
|
|
[Blue_turn_left] BlueIsOnSlipperySouth & !BlueCannotSlipSouth & viewBlue>0 -> 0.950000: (viewBlue'=viewBlue-1) + 0.050000: (rowBlue'=rowBlue+1);
|
|
[Blue_turn_left] BlueIsOnSlipperySouth & !BlueCannotSlipSouth & viewBlue=0 -> 0.950000: (viewBlue'=3) + 0.050000: (rowBlue'=rowBlue+1);
|
|
[Blue_turn_left] BlueIsOnSlipperySouth & BlueCannotSlipSouth & viewBlue>0 -> 1.000000: (viewBlue'=viewBlue-1);
|
|
[Blue_turn_left] BlueIsOnSlipperySouth & BlueCannotSlipSouth & viewBlue=0 -> 1.000000: (viewBlue'=3);
|
|
[Blue_move_West] viewBlue=2 & BlueIsOnSlipperyWest & !BlueCannotSlipWest & !BlueCannotSlipSouthWest & !BlueCannotSlipNorthWest -> 0.950000: (colBlue'=colBlue-1) + 0.025000: (colBlue'=colBlue-1)&(rowBlue'=rowBlue+1) + 0.025000: (colBlue'=colBlue-1)&(rowBlue'=rowBlue-1);
|
|
[Blue_move_West] viewBlue=2 & BlueIsOnSlipperyWest & BlueCannotSlipWest & !BlueCannotSlipSouthWest & !BlueCannotSlipNorthWest -> 0.000000: (colBlue'=colBlue-1)&(rowBlue'=rowBlue+1) + 0.000000: (colBlue'=colBlue-1)&(rowBlue'=rowBlue-1);
|
|
[Blue_move_West] viewBlue=2 & BlueIsOnSlipperyWest & !BlueCannotSlipWest & BlueCannotSlipSouthWest & !BlueCannotSlipNorthWest -> 0.950000: (colBlue'=colBlue-1) + 0.050000: (colBlue'=colBlue-1)&(rowBlue'=rowBlue-1);
|
|
[Blue_move_West] viewBlue=2 & BlueIsOnSlipperyWest & !BlueCannotSlipWest & !BlueCannotSlipSouthWest & BlueCannotSlipNorthWest -> 0.950000: (colBlue'=colBlue-1) + 0.050000: (colBlue'=colBlue-1)&(rowBlue'=rowBlue+1);
|
|
[Blue_move_West] viewBlue=2 & BlueIsOnSlipperyWest & BlueCannotSlipWest & BlueCannotSlipSouthWest & !BlueCannotSlipNorthWest -> 1.000000: (colBlue'=colBlue-1)&(rowBlue'=rowBlue-1);
|
|
[Blue_move_West] viewBlue=2 & BlueIsOnSlipperyWest & !BlueCannotSlipWest & BlueCannotSlipSouthWest & BlueCannotSlipNorthWest -> 1.000000: (colBlue'=colBlue-1);
|
|
[Blue_move_West] viewBlue=2 & BlueIsOnSlipperyWest & BlueCannotSlipWest & !BlueCannotSlipSouthWest & BlueCannotSlipNorthWest -> 1.000000: (colBlue'=colBlue-1)&(rowBlue'=rowBlue+1);
|
|
[Blue_move_West] viewBlue=2 & BlueIsOnSlipperyWest & BlueCannotSlipWest & BlueCannotSlipSouthWest & BlueCannotSlipNorthWest -> true;
|
|
[Blue_move_North] viewBlue=3 & BlueIsOnSlipperyWest & !BlueCannotSlipNorth & !BlueCannotSlipNorthWest -> 0.950000: (rowBlue'=rowBlue-1) + 0.050000: (colBlue'=colBlue-1)&(rowBlue'=rowBlue-1);
|
|
[Blue_move_North] viewBlue=3 & BlueIsOnSlipperyWest & BlueCannotSlipNorth & !BlueCannotSlipNorthWest -> 1.000000: (colBlue'=colBlue-1)&(rowBlue'=rowBlue-1);
|
|
[Blue_move_North] viewBlue=3 & BlueIsOnSlipperyWest & !BlueCannotSlipNorth & BlueCannotSlipNorthWest -> 1.000000: (rowBlue'=rowBlue-1);
|
|
[Blue_move_North] viewBlue=3 & BlueIsOnSlipperyWest & BlueCannotSlipNorth & BlueCannotSlipNorthWest -> true;
|
|
[Blue_move_South] viewBlue=1 & BlueIsOnSlipperyWest & !BlueCannotSlipSouth & !BlueCannotSlipSouthWest -> 0.950000: (rowBlue'=rowBlue+1) + 0.050000: (colBlue'=colBlue-1)&(rowBlue'=rowBlue+1);
|
|
[Blue_move_South] viewBlue=1 & BlueIsOnSlipperyWest & BlueCannotSlipSouth & !BlueCannotSlipSouthWest -> 1.000000: (colBlue'=colBlue-1)&(rowBlue'=rowBlue+1);
|
|
[Blue_move_South] viewBlue=1 & BlueIsOnSlipperyWest & !BlueCannotSlipSouth & BlueCannotSlipSouthWest -> 1.000000: (rowBlue'=rowBlue+1);
|
|
[Blue_move_South] viewBlue=1 & BlueIsOnSlipperyWest & BlueCannotSlipSouth & BlueCannotSlipSouthWest -> true;
|
|
[Blue_move_East] viewBlue=0 & BlueIsOnSlipperyWest & !BlueCannotSlipWest -> 0.950000: (colBlue'=colBlue-1) + 0.050000: true;
|
|
[Blue_move_East] viewBlue=0 & BlueIsOnSlipperyWest & BlueCannotSlipWest -> 1.000000: true;
|
|
[Blue_turn_right] BlueIsOnSlipperyWest & !BlueCannotSlipWest & true -> 0.950000: (viewBlue'=mod(viewBlue+1,4)) + 0.050000: (colBlue'=colBlue-1);
|
|
[Blue_turn_right] BlueIsOnSlipperyWest & BlueCannotSlipWest & true -> 1.000000: (viewBlue'=mod(viewBlue+1,4));
|
|
[Blue_turn_left] BlueIsOnSlipperyWest & !BlueCannotSlipWest & viewBlue>0 -> 0.950000: (viewBlue'=viewBlue-1) + 0.050000: (colBlue'=colBlue-1);
|
|
[Blue_turn_left] BlueIsOnSlipperyWest & !BlueCannotSlipWest & viewBlue=0 -> 0.950000: (viewBlue'=3) + 0.050000: (colBlue'=colBlue-1);
|
|
[Blue_turn_left] BlueIsOnSlipperyWest & BlueCannotSlipWest & viewBlue>0 -> 1.000000: (viewBlue'=viewBlue-1);
|
|
[Blue_turn_left] BlueIsOnSlipperyWest & BlueCannotSlipWest & viewBlue=0 -> 1.000000: (viewBlue'=3);
|
|
[Blue_move_East] viewBlue=0 & BlueIsOnSlipperyNorthEast & !BlueCannotSlipNorthEast & !BlueCannotSlipEast -> 0.950000: (colBlue'=colBlue+1) + 0.050000: (rowBlue'=rowBlue-1)&(colBlue'=colBlue+1);
|
|
[Blue_move_East] viewBlue=0 & BlueIsOnSlipperyNorthEast & !BlueCannotSlipNorthEast & BlueCannotSlipEast -> 1.000000: (rowBlue'=rowBlue-1)&(colBlue'=colBlue+1);
|
|
[Blue_move_East] viewBlue=0 & BlueIsOnSlipperyNorthEast & BlueCannotSlipNorthEast & !BlueCannotSlipEast -> 1.000000: (colBlue'=colBlue+1);
|
|
[Blue_move_East] viewBlue=0 & BlueIsOnSlipperyNorthEast & BlueCannotSlipNorthEast & BlueCannotSlipEast -> 1.000000: true;
|
|
[Blue_move_North] viewBlue=3 & BlueIsOnSlipperyNorthEast & !BlueCannotSlipNorthEast & !BlueCannotSlipNorth -> 0.950000: (rowBlue'=rowBlue-1) + 0.050000: (colBlue'=colBlue+1)&(rowBlue'=rowBlue-1);
|
|
[Blue_move_North] viewBlue=3 & BlueIsOnSlipperyNorthEast & !BlueCannotSlipNorthEast & BlueCannotSlipNorth -> 1.000000: (rowBlue'=rowBlue-1)&(colBlue'=colBlue+1);
|
|
[Blue_move_North] viewBlue=3 & BlueIsOnSlipperyNorthEast & BlueCannotSlipNorthEast & !BlueCannotSlipNorth -> 1.000000: (rowBlue'=rowBlue-1);
|
|
[Blue_move_North] viewBlue=3 & BlueIsOnSlipperyNorthEast & BlueCannotSlipNorthEast & BlueCannotSlipNorth -> 1.000000: true;
|
|
[Blue_move_South] viewBlue=1 & BlueIsOnSlipperyNorthEast & !BlueCannotSlipNorthEast & !BlueCannotSlipEast & !BlueCannotSlipSouthEast & !BlueCannotSlipSouth -> 0.950000: (rowBlue'=rowBlue+1) + 0.016667: (rowBlue'=rowBlue-1)&(colBlue'=colBlue+1) + 0.016667: (colBlue'=colBlue+1) + 0.016667: (rowBlue'=rowBlue+1)&(colBlue'=colBlue+1);
|
|
[Blue_move_South] viewBlue=1 & BlueIsOnSlipperyNorthEast & !BlueCannotSlipNorthEast & !BlueCannotSlipEast & !BlueCannotSlipSouthEast & BlueCannotSlipSouth -> 0.333333: (rowBlue'=rowBlue-1)&(colBlue'=colBlue+1) + 0.333333: (colBlue'=colBlue+1) + 0.333333: (rowBlue'=rowBlue+1)&(colBlue'=colBlue+1);
|
|
[Blue_move_South] viewBlue=1 & BlueIsOnSlipperyNorthEast & !BlueCannotSlipNorthEast & !BlueCannotSlipEast & BlueCannotSlipSouthEast & !BlueCannotSlipSouth -> 0.982759: (rowBlue'=rowBlue+1) + 0.050847: (rowBlue'=rowBlue-1)&(colBlue'=colBlue+1) + 0.050847: (colBlue'=colBlue+1);
|
|
[Blue_move_South] viewBlue=1 & BlueIsOnSlipperyNorthEast & !BlueCannotSlipNorthEast & !BlueCannotSlipEast & BlueCannotSlipSouthEast & BlueCannotSlipSouth -> 0.500000: (rowBlue'=rowBlue-1)&(colBlue'=colBlue+1) + 0.500000: (colBlue'=colBlue+1);
|
|
[Blue_move_South] viewBlue=1 & BlueIsOnSlipperyNorthEast & !BlueCannotSlipNorthEast & BlueCannotSlipEast & !BlueCannotSlipSouthEast & !BlueCannotSlipSouth -> 0.982759: (rowBlue'=rowBlue+1) + 0.050847: (rowBlue'=rowBlue-1)&(colBlue'=colBlue+1) + 0.050847: (rowBlue'=rowBlue+1)&(colBlue'=colBlue+1);
|
|
[Blue_move_South] viewBlue=1 & BlueIsOnSlipperyNorthEast & !BlueCannotSlipNorthEast & BlueCannotSlipEast & !BlueCannotSlipSouthEast & BlueCannotSlipSouth -> 0.500000: (rowBlue'=rowBlue-1)&(colBlue'=colBlue+1) + 0.500000: (rowBlue'=rowBlue+1)&(colBlue'=colBlue+1);
|
|
[Blue_move_South] viewBlue=1 & BlueIsOnSlipperyNorthEast & !BlueCannotSlipNorthEast & BlueCannotSlipEast & BlueCannotSlipSouthEast & !BlueCannotSlipSouth -> 0.950000: (rowBlue'=rowBlue+1) + 0.051724: (rowBlue'=rowBlue-1)&(colBlue'=colBlue+1);
|
|
[Blue_move_South] viewBlue=1 & BlueIsOnSlipperyNorthEast & !BlueCannotSlipNorthEast & BlueCannotSlipEast & BlueCannotSlipSouthEast & BlueCannotSlipSouth -> 1.000000: (rowBlue'=rowBlue-1)&(colBlue'=colBlue+1);
|
|
[Blue_move_South] viewBlue=1 & BlueIsOnSlipperyNorthEast & BlueCannotSlipNorthEast & !BlueCannotSlipEast & !BlueCannotSlipSouthEast & !BlueCannotSlipSouth -> 0.982759: (rowBlue'=rowBlue+1) + 0.050847: (colBlue'=colBlue+1) + 0.050847: (rowBlue'=rowBlue+1)&(colBlue'=colBlue+1);
|
|
[Blue_move_South] viewBlue=1 & BlueIsOnSlipperyNorthEast & BlueCannotSlipNorthEast & !BlueCannotSlipEast & !BlueCannotSlipSouthEast & BlueCannotSlipSouth -> 0.500000: (colBlue'=colBlue+1) + 0.500000: (rowBlue'=rowBlue+1)&(colBlue'=colBlue+1);
|
|
[Blue_move_South] viewBlue=1 & BlueIsOnSlipperyNorthEast & BlueCannotSlipNorthEast & !BlueCannotSlipEast & BlueCannotSlipSouthEast & !BlueCannotSlipSouth -> 0.982759: (rowBlue'=rowBlue+1) + 0.051724: (colBlue'=colBlue+1);
|
|
[Blue_move_South] viewBlue=1 & BlueIsOnSlipperyNorthEast & BlueCannotSlipNorthEast & !BlueCannotSlipEast & BlueCannotSlipSouthEast & BlueCannotSlipSouth -> 1.000000: (colBlue'=colBlue+1);
|
|
[Blue_move_South] viewBlue=1 & BlueIsOnSlipperyNorthEast & BlueCannotSlipNorthEast & BlueCannotSlipEast & !BlueCannotSlipSouthEast & !BlueCannotSlipSouth -> 0.982759: (rowBlue'=rowBlue+1) + 0.051724: (rowBlue'=rowBlue+1)&(colBlue'=colBlue+1);
|
|
[Blue_move_South] viewBlue=1 & BlueIsOnSlipperyNorthEast & BlueCannotSlipNorthEast & BlueCannotSlipEast & !BlueCannotSlipSouthEast & BlueCannotSlipSouth -> 1.000000: (rowBlue'=rowBlue+1)&(colBlue'=colBlue+1);
|
|
[Blue_move_South] viewBlue=1 & BlueIsOnSlipperyNorthEast & BlueCannotSlipNorthEast & BlueCannotSlipEast & BlueCannotSlipSouthEast & !BlueCannotSlipSouth -> 1.000000: (rowBlue'=rowBlue+1);
|
|
[Blue_move_South] viewBlue=1 & BlueIsOnSlipperyNorthEast & BlueCannotSlipNorthEast & BlueCannotSlipEast & BlueCannotSlipSouthEast & BlueCannotSlipSouth -> 1.000000: true;
|
|
[Blue_move_West] viewBlue=2 & BlueIsOnSlipperyNorthEast & !BlueCannotSlipWest & !BlueCannotSlipNorthWest & !BlueCannotSlipNorth & !BlueCannotSlipNorthEast -> 0.950000: (colBlue'=colBlue-1) + 0.016667: (rowBlue'=rowBlue-1)&(colBlue'=colBlue-1) + 0.016667: (rowBlue'=rowBlue-1) + 0.016667: (rowBlue'=rowBlue-1)&(colBlue'=colBlue+1);
|
|
[Blue_move_West] viewBlue=2 & BlueIsOnSlipperyNorthEast & !BlueCannotSlipWest & !BlueCannotSlipNorthWest & !BlueCannotSlipNorth & BlueCannotSlipNorthEast -> 0.966102: (colBlue'=colBlue-1) + 0.050847: (rowBlue'=rowBlue-1)&(colBlue'=colBlue-1) + 0.050847: (rowBlue'=rowBlue-1);
|
|
[Blue_move_West] viewBlue=2 & BlueIsOnSlipperyNorthEast & !BlueCannotSlipWest & !BlueCannotSlipNorthWest & BlueCannotSlipNorth & !BlueCannotSlipNorthEast -> 0.966102: (colBlue'=colBlue-1) + 0.050847: (rowBlue'=rowBlue-1)&(colBlue'=colBlue-1) + 0.050847: (rowBlue'=rowBlue-1)&(colBlue'=colBlue+1);
|
|
[Blue_move_West] viewBlue=2 & BlueIsOnSlipperyNorthEast & !BlueCannotSlipWest & !BlueCannotSlipNorthWest & BlueCannotSlipNorth & BlueCannotSlipNorthEast -> 0.982759: (colBlue'=colBlue-1) + 0.051724: (rowBlue'=rowBlue-1)&(colBlue'=colBlue-1);
|
|
[Blue_move_West] viewBlue=2 & BlueIsOnSlipperyNorthEast & !BlueCannotSlipWest & BlueCannotSlipNorthWest & !BlueCannotSlipNorth & !BlueCannotSlipNorthEast -> 0.966102: (colBlue'=colBlue-1) + 0.050847: (rowBlue'=rowBlue-1) + 0.050847: (rowBlue'=rowBlue-1)&(colBlue'=colBlue+1);
|
|
[Blue_move_West] viewBlue=2 & BlueIsOnSlipperyNorthEast & !BlueCannotSlipWest & BlueCannotSlipNorthWest & !BlueCannotSlipNorth & BlueCannotSlipNorthEast -> 0.982759: (colBlue'=colBlue-1) + 0.051724: (rowBlue'=rowBlue-1);
|
|
[Blue_move_West] viewBlue=2 & BlueIsOnSlipperyNorthEast & !BlueCannotSlipWest & BlueCannotSlipNorthWest & BlueCannotSlipNorth & !BlueCannotSlipNorthEast -> 0.982759: (colBlue'=colBlue-1) + 0.051724: (rowBlue'=rowBlue-1)&(colBlue'=colBlue+1);
|
|
[Blue_move_West] viewBlue=2 & BlueIsOnSlipperyNorthEast & !BlueCannotSlipWest & BlueCannotSlipNorthWest & BlueCannotSlipNorth & BlueCannotSlipNorthEast -> 1.000000: (colBlue'=colBlue-1);
|
|
[Blue_move_West] viewBlue=2 & BlueIsOnSlipperyNorthEast & BlueCannotSlipWest & !BlueCannotSlipNorthWest & !BlueCannotSlipNorth & !BlueCannotSlipNorthEast -> 0.333333: (rowBlue'=rowBlue-1)&(colBlue'=colBlue-1) + 0.333333: (rowBlue'=rowBlue-1) + 0.333333: (rowBlue'=rowBlue-1)&(colBlue'=colBlue+1);
|
|
[Blue_move_West] viewBlue=2 & BlueIsOnSlipperyNorthEast & BlueCannotSlipWest & !BlueCannotSlipNorthWest & !BlueCannotSlipNorth & BlueCannotSlipNorthEast -> 0.500000: (rowBlue'=rowBlue-1)&(colBlue'=colBlue-1) + 0.500000: (rowBlue'=rowBlue-1);
|
|
[Blue_move_West] viewBlue=2 & BlueIsOnSlipperyNorthEast & BlueCannotSlipWest & !BlueCannotSlipNorthWest & BlueCannotSlipNorth & !BlueCannotSlipNorthEast -> 0.500000: (rowBlue'=rowBlue-1)&(colBlue'=colBlue-1) + 0.500000: (rowBlue'=rowBlue-1)&(colBlue'=colBlue+1);
|
|
[Blue_move_West] viewBlue=2 & BlueIsOnSlipperyNorthEast & BlueCannotSlipWest & !BlueCannotSlipNorthWest & BlueCannotSlipNorth & BlueCannotSlipNorthEast -> 1.000000: (rowBlue'=rowBlue-1)&(colBlue'=colBlue-1);
|
|
[Blue_move_West] viewBlue=2 & BlueIsOnSlipperyNorthEast & BlueCannotSlipWest & BlueCannotSlipNorthWest & !BlueCannotSlipNorth & !BlueCannotSlipNorthEast -> 0.500000: (rowBlue'=rowBlue-1) + 0.500000: (rowBlue'=rowBlue-1)&(colBlue'=colBlue+1);
|
|
[Blue_move_West] viewBlue=2 & BlueIsOnSlipperyNorthEast & BlueCannotSlipWest & BlueCannotSlipNorthWest & !BlueCannotSlipNorth & BlueCannotSlipNorthEast -> 1.000000: (rowBlue'=rowBlue-1);
|
|
[Blue_move_West] viewBlue=2 & BlueIsOnSlipperyNorthEast & BlueCannotSlipWest & BlueCannotSlipNorthWest & BlueCannotSlipNorth & !BlueCannotSlipNorthEast -> 1.000000: (rowBlue'=rowBlue-1)&(colBlue'=colBlue+1);
|
|
[Blue_move_West] viewBlue=2 & BlueIsOnSlipperyNorthEast & BlueCannotSlipWest & BlueCannotSlipNorthWest & BlueCannotSlipNorth & BlueCannotSlipNorthEast -> 1.000000: true;
|
|
[Blue_turn_right] BlueIsOnSlipperyNorthEast & true & true -> 1.000000: (viewBlue'=mod(viewBlue+1,4));
|
|
[Blue_turn_left] BlueIsOnSlipperyNorthEast & true & viewBlue>0 -> 1.000000: (viewBlue'=viewBlue-1);
|
|
[Blue_turn_left] BlueIsOnSlipperyNorthEast & true & viewBlue=0 -> 1.000000: (viewBlue'=3);
|
|
endmodule
|
|
|
|
|
|
module Arbiter
|
|
clock : [0..1];
|
|
[Agent_turn_left] clock=0 -> (clock'=1) ;
|
|
[Agent_turn_right] clock=0 -> (clock'=1) ;
|
|
[Agent_move_East] clock=0 -> (clock'=1) ;
|
|
[Agent_move_North] clock=0 -> (clock'=1) ;
|
|
[Agent_move_South] clock=0 -> (clock'=1) ;
|
|
[Agent_move_West] clock=0 -> (clock'=1) ;
|
|
[Blue_turn_left] clock=1 -> (clock'=0) ;
|
|
[Blue_turn_right] clock=1 -> (clock'=0) ;
|
|
[Blue_move_East] clock=1 -> (clock'=0) ;
|
|
[Blue_move_North] clock=1 -> (clock'=0) ;
|
|
[Blue_move_South] clock=1 -> (clock'=0) ;
|
|
[Blue_move_West] clock=1 -> (clock'=0) ;
|
|
endmodule
|
|
|
|
player Agent
|
|
[Agent_turn_left], [Agent_turn_right], [Agent_move_East], [Agent_move_North], [Agent_move_South], [Agent_move_West], [Agent_on_goal]
|
|
endplayer
|
|
player Blue
|
|
[Blue_turn_left], [Blue_turn_right], [Blue_move_East], [Blue_move_North], [Blue_move_South], [Blue_move_West]
|
|
endplayer
|