{*** TRANSITIONS ***} road1(ACTION) = ($setv n s e w ne nw se sw u d) ($hit .ME gard1 gard5 road2 road3 gard2 gard3 gard6 gard7 0 0) ($miss 0 0 0 0 0 0 0 0 cg cg); road2(ACTION) = ($hit .ME gard2 gard6 road7 road1 gard2 gard1 gard6 gard5 0 0) ($miss 0 0 0 0 0 0 0 0 cg cg); road3(ACTION) = ($hit .ME gard3 gard7 road1 road8 gard1 gard3 gard5 gard7 0 0) ($miss 0 0 0 entr8 0 0 0 0 cg cg); road4(ACTION) = ($hit .ME farm1 road7 frst1 gard2 frst1 gard2 frst1 gard2 0 0) ($miss 0 0 0 0 0 0 0 0 cg cg); road5(ACTION) = ($hit .ME road7 road6 frst1 gard6 frst1 gard6 frst1 gard6 0 0) ($miss 0 0 0 0 0 0 0 0 cg cg); road6(ACTION) = ($hit .ME road5 town1 frst1 gard6 frst1 gard6 frst1 gard6 0 0) ($miss 0 0 0 0 0 0 0 0 cg cg); road7(ACTION) = ($hit .ME road4 road5 frst1 road2 frst1 gard2 frst1 gard6 0 0) ($miss 0 0 0 0 0 0 0 0 cg cg); road8(ACTION) = ($miss tress tress east8 west8 cg cg cg cg cg cg); east8 = ( ($eq @HWY8 0) : ($move .ME road3) { ELSE } : (dump8 ($cont road8)) ($setg HWY8 ($minus @HWY8 1)) (get8 ($cont roadx)) (Slook 0 ($loc .ME)) ($setg LOOKP FALSE) ); west8 = (dump8 ($cont road8)) ($setg HWY8 ($plus @HWY8 1)) (get8 ($cont roadx)) (Slook 0 ($loc .ME)) ($setg LOOKP FALSE); dump8 = (($link %1) : (dump8 ($link %1))) { start at bottom } (($ne %1 .ME) : { Everything else leaves } ($setp %1 RDLOC @HWY8) { Retain its location on HWY 8 } ($move %1 roadx) { Put it in the box } ); get8 = ( %1 : (get8 ($link %1)) (($eq ($prop %1 RDLOC) @HWY8) : ($move %1 road8) ) ); entr8 = (dump8 ($cont road8)) ($setg HWY8 0) (get8 ($cont roadx)); gard1(ACTION) = ($hit .ME gard4 road1 gard2 gard3 0 0 0 0 0 0 ) ($miss 0 0 0 0 cg cg cg cg cg cg); gard2(ACTION) = ($hit .ME gard4 road2 gard2 gard1 0 0 0 0 0 0 ) ($miss 0 0 0 0 cg cg cg cg cg cg); gard3(ACTION) = ($hit .ME gard4 road3 gard1 gard3 0 0 0 0 0 0 ) ($miss 0 0 0 0 cg cg cg cg cg cg); gard4(ACTION) = ($hit .ME gard4 gard1 gard2 gard3 0 0 0 0 0 0 ) ($miss 0 0 0 0 cg cg cg cg cg cg); gard5(ACTION) = ($hit .ME road1 gard8 gard6 gard7 0 0 0 0 0 0 ) ($miss 0 0 0 0 cg cg cg cg cg cg); gard6(ACTION) = ($hit .ME road2 gard8 gard6 gard5 0 0 0 0 0 0 ) ($miss 0 0 0 0 cg cg cg cg cg cg); gard7(ACTION) = ($hit .ME road3 gard8 gard5 gard7 0 0 0 0 0 0 ) ($miss 0 0 0 0 cg cg cg cg cg cg); gard8(ACTION) = ($hit .ME gard5 gard8 gard6 gard7 0 0 0 0 0 0 ) ($miss 0 0 0 0 cg cg cg cg cg cg); frst1(ACTION) = ($hit .ME frst3 frst1 frst2 frst2 0 0 0 0 0 0) ($miss 0 0 0 0 cg cg cg cg cg cg); frst2(ACTION) = ($hit .ME frst1 frst2 frst3 frst1 0 0 0 0 0 0) ($miss 0 0 0 0 cg cg cg cg cg cg); frst3(ACTION) = ($hit .ME frst1 frst3 frst2 frst2 0 0 0 0 0 0) ($miss 0 0 0 0 cg cg cg cg cg cg); frst4(ACTION) = ($hit .ME frst4 frst2 frst1 road7 0 0 0 0 0 0) ($miss 0 0 0 0 cg cg cg cg cg cg); farm1 (ACTION) =($hit .ME farm2 road4 farm3 farm4 farm3 farm4 0 0 0 0) ($miss 0 0 0 0 0 0 cg cg cg cg); farm2 (ACTION) = ($hit .ME farm6 farm1 farm7 0 0 0 0 0 farm7 0) ($miss 0 0 0 cg cg cg cg cg 0 cg); farm3 (ACTION) = ($hit .ME farm5 farm1 frst1 0 0 farm5 0 farm1 0 0) ($miss 0 0 0 cg cg 0 cg 0 cg cg); farm4 (ACTION) = ($hit .ME farm5 farm1 0 gard4 farm5 0 farm1 0 0 0) ($miss 0 0 cg 0 0 cg 0 cg cg cg); farm5 (ACTION) = ($hit .ME 0 0 farm3 farm4 0 0 farm3 farm4 0 0) ($miss cg cg 0 0 cg cg 0 0 cg cg); farm6 (ACTION) = ($hit .ME 0 farm2 0 0 0 0 0 0 0 0) ($miss cg 0 cg cg cg cg cg cg cg cg ); farm7 (ACTION) = ($hit .ME 0 0 farm2 0 0 0 0 0 0 farm2) ($miss cg cg 0 PanL cg cg cg cg cg PanL); town1 (ACTION) =($hit .ME road6 town2 town3 town4 0 0 0 0 0 0) ($miss 0 0 0 0 cg cg cg cg cg cg); town2 (ACTION) =($hit .ME town1 0 town5 town6 0 0 0 0 0 0) ($miss 0 cg 0 0 cg cg cg cg cg cg); town3 (ACTION) =($hit .ME 0 0 0 town1 0 0 0 0 0 0) ($miss cg cg cg 0 cg cg cg cg cg cg); town4 (ACTION) =($hit .ME 0 0 town1 0 0 0 0 0 0 0) ($miss cg cg 0 cg cg cg cg cg cg cg); town5 (ACTION) =($hit .ME 0 0 0 town2 0 0 0 0 0 0) ($miss cg cg cg 0 cg cg cg cg cg cg) (TWN5x); town6 (ACTION) =($hit .ME 0 0 town2 0 0 0 0 0 0 0) ($miss cg cg 0 cg cg cg cg cg cg cg); cel01 (ACTION) = ($hit .ME cel02 0 0 cel04 0 0 0 0 farm7 0) ($miss 0 ny cg 0 cg cg cg cg 0 cg); cel02 (ACTION) = ($hit .ME cel05 cel01 0 0 0 0 0 0 0 0) ($miss 0 0 ny cg cg cg cg cg cg cg); cel03 (ACTION) = ($hit .ME 0 cel05 0 cel13 cel09 0 0 0 0 cel09) ($miss cg 0 cg 0 0 cg cg cg cg 0); cel04 (ACTION) = ($hit .ME cel10 0 cel01 cel08 0 0 0 0 0 cel10) ($miss 0 cg 0 0 cg cg cg cg cg 0 ); MV56=($setg Cel6x 5); MV76=($setg Cel6x 7); MV67=( ($and ($ne @Cel6x 7) ($prop dragon AWAKE)): ($say "The ice dragon blocks your attempt to cross!\n\n") : ($move .ME cel07) ); MV65=( ($and ($ne @Cel6x 5) ($prop dragon AWAKE)): ($say "The ice dragon blocks your attempt to leave!\n") : ($move .ME cel05) ); cel05 (ACTION) = ($hit .ME cel03 cel02 0 0 cel06 0 0 0 0 0) ($miss 0 0 cg cg MV56 ny cg cg cg cg); cel06 (ACTION) = ($hit .ME 0 0 0 0 0 0 0 0 0 0) ($miss cg cg MV67 MV65 cg cg cg cg cg cg) (($eq ($loc .ME) cel06) {still here}: ($setg LOOKP TRUE) ) ; cel07 (ACTION) = ($hit .ME 0 0 0 cel06 0 0 0 0 0 0) ($miss cg cg cg MV76 cg cg cg cg cg cg); cel08 (ACTION) = ($hit .ME 0 0 cel04 0 0 0 0 0 0 0) ($miss cg cg 0 ny cg cg cg cg cg cg); cel09 (ACTION) = ($hit .ME 0 0 0 0 0 0 0 0 0 0) ($miss ny cg cg cg cg cg cg cg cg cg); cel10 (ACTION) = ($hit .ME 0 cel04 0 0 0 0 0 0 0 cel11) ($miss cg 0 cg ny cg cg cg cg cg 0); cel11 (ACTION) = ($hit .ME 0 0 cel12 0 0 0 0 0 0 0) ($miss ny cg 0 cg cg cg cg cg cg cg); cel12 (ACTION) = ($hit .ME cel11 0 0 0 0 0 0 0 0 0) ($miss 0 cg ny cg cg cg cg cg cg cg); cel13 (ACTION) = (($eq ($verb) down): (($prop cel13 HOLED): ($say "You plunge into the icy waters!\n") ($move .ME cel14) ($exit 0) ) ) ($hit .ME 0 0 cel03 0 0 0 0 0 0 0) ($miss cg cg 0 ny cg cg cg cg cg cg);