Maze solving: Difference between revisions
Content added Content deleted
Line 1,434:
=={{header|EasyLang}}==
[https://easylang.dev/show/#cod=fVTbbtswDH3XVxDoSy6oK6UOkABrfyQwBjeWEyGxFMhZuu7rR+ourFgeYvNQFMnDQz/B1P+RcJJa2v6ujIZeDzCb60PpE3sCNit0v4HYMo2PDazAIWsQbCScc3iBhYZn4M12ya5Sw3ToQONBTfEf/fFysuYX3so5ZzdrjjCfzedPl7eBhgHA8Sp7Sy+jsaDoWrgbCHcRjj81oqE6dPKA4O83mguFycUSJjNgyuT6KlyDepSuo7linv1+n6HJPCTetoIRI0ZsaYMXFFY+aeXxjtgKRLONz+B1vbi/+SrlDRnhgjXMjON8oMIP2BcyJWDxrJfQeTImz8TNzJGN6YBGajSRRcaQ7tnAK7TQlaS1MJhPjcSJUM+AoMV5mglUhJRF0FU0HIYukkvviA9IcEk3FbWmmM7NhKQRQVJCdBQ01iHFpIo2U3BNW8OkHsj/5tVDowsU9RdZ6eU/MgkaEWkU1Vldn9okkzJ+B2ERmsT+r0sHV45y6c5hSwLvYhuOUUiFs0zK2U/dt+95a1hqmmUF4D4FQuzFUYlKjpy4VSCsXoavCk6L4FcA/13qLP61k3sbxB8sF6AsbqmzX1HwTdhk/FBIGiUPAh7dpnsZxyL3nFc74VpHfflZ+64DtT48S+rDyv5SDNOMWdKtEwj4CZ/jhNtK6Isz9mBGx4dIPsxHHzOvRb8LqNcsfIr98e7bSprXbjDOjlUW8vZELChyHflv6dUncxH5NOb45g7InGnY7XaVJ7FXwA0rnrRA/pBgvhruhLcJyf8C Run it]
<syntaxhighlight lang="text">
# maze generation and solving
#
size = 15
n = 2 * size + 1
Line 1,459 ⟶ 1,461:
proc m_maze pos . .
m[pos] = 0
d[] = [ 1 2 3 4 ]
for i = 4 downto 1
Line 1,467 ⟶ 1,469:
if m[pos + dir] = 1 and m[pos + 2 * dir] = 1
m[pos + dir] = 0
.
.
Line 1,483 ⟶ 1,485:
.
h = 2 * random 15 - n + n * 2 * random 15
m[endpos] = 0
.
#
proc mark pos col . .
Line 1,497 ⟶ 1,499:
.
proc solve dir0 pos . found .
sleep 0.05
if pos = endpos
Line 1,508 ⟶ 1,510:
posn = pos + offs[dir]
if dir <> dir0 and m[posn] = 0 and found = 0
if found = 0
sleep 0.08
.
Line 1,517 ⟶ 1,519:
.
sleep 1
</syntaxhighlight>
|