<!-- 실제로는 x1==x2 or y1==y2 이기 때문에 배치된 Lock은 선분의 형태가 됨 -->
<Lock Direction="West" x1="30" x2="30" y1="46" y2="47" >
<Key x="16" y="44" /> <!-- Lock에 해당하는 Key의 좌표 -->
<Key x="29" y="33" />
</Lock>
<Lock Direction="East" x1="34" x2="34" y1="41" y2="43" >
<Key x="40" y="41" />
</Lock>
</LockKeyAllocation>
<Sokoban>
<Block x="5" y="5" /> <!-- block 을 cell 단위로 표시 -->
<Block x="10" y="10" />
</Sokoban>
<!-- 아래 부터 cell 단위의 solution path -->
<!-- (startx, starty) 에서 시작하여 (goalx, goaly)를 향해 움직이면서 -->
<!- 'Key획득', 'Lock열기', 'sokoban 풀기', 'Monster 죽이기' 등의 Action을 한다. -->
<SolutionPath startx="1" starty="1" goalx="1" goaly="10">
<Action x="1" y="1" type="Move" exp="0" /> <!-- exp는 지금까지의 누적 경험치 임 -->
<Action x="1" y="2" type="Move" exp="0" />
<Action x="1" y="3" type="Move" exp="0" />
<Action x="1" y="3" type="GetKey" exp="100" /> <!-- Key획득 -->
<Action x="1" y="4" type="Move" exp="100" />
<Action x="1" y="5" type="Move" exp="100" />
<Action x="1" y="5" type="UnLock" exp="600"> <!-- Lock열기 -->
<Lock x="0" y="5" Direction="South" /> <!-- 지워야 할 lock 을 cell 단위로 표시 -->
<Lock x="1" y="5" Direction="South" />
<Lock x="2" y="5" Direction="South" />
</Action>
<Action x="1" y="6" type="Move" exp="600">
<Action x="1" y="6" type="SolveSokoban" exp="1000"> <!-- Sokoban puzzle 풀기 -->
<Block x="5" y="5" /> <!-- 지워야 할 block 을 cell 단위로 표시 -->
<Block x="10" y="10" />
</Action>
<Action x="1" y="7" type="Move" exp="1000" />
<Action x="1" y="8" type="Move" exp="1000" />
<Action x="1" y="8" type="KillMonster" exp="1400" /> <!-- Monster 죽이기 -->
<Action x="1" y="9" type="Move" exp="1400" />
<Action x="1" y="10" type="Move" exp="1400" />
</SolutionPath>
</LevelDefinition>