Towers of Hanoi: Difference between revisions
Content added Content deleted
(Added Elixir) |
Simple9371 (talk | contribs) (Add Batch File) |
||
Line 231: | Line 231: | ||
Towers of Hanoi puzzle completed! |
Towers of Hanoi puzzle completed! |
||
</pre> |
</pre> |
||
=={{header|Batch File}}== |
|||
<lang dos>@echo off |
|||
setlocal enabledelayedexpansion |
|||
%==The main thing==% |
|||
%==First param - Number of disks==% |
|||
%==Second param - Start pole==% |
|||
%==Third param - End pole==% |
|||
%==Fourth param - Helper pole==% |
|||
call :move 4 START END HELPER |
|||
echo. |
|||
pause |
|||
exit /b 0 |
|||
%==The "function"==% |
|||
:move |
|||
setlocal |
|||
set n=%1 |
|||
set from=%2 |
|||
set to=%3 |
|||
set via=%4 |
|||
if %n% equ 1 ( |
|||
echo Move disk from %from% to pole %to%. |
|||
) else ( |
|||
set /a x=!n!-1 |
|||
call :move !x! %from% %via% %to% |
|||
call :move 1 %from% %to% %via% |
|||
call :move !x! %via% %to% %from% |
|||
) |
|||
exit /b 0</lang> |
|||
{{Out}} |
|||
<pre>Move disk from START to pole HELPER. |
|||
Move disk from START to pole END. |
|||
Move disk from HELPER to pole END. |
|||
Move disk from START to pole HELPER. |
|||
Move disk from END to pole START. |
|||
Move disk from END to pole HELPER. |
|||
Move disk from START to pole HELPER. |
|||
Move disk from START to pole END. |
|||
Move disk from HELPER to pole END. |
|||
Move disk from HELPER to pole START. |
|||
Move disk from END to pole START. |
|||
Move disk from HELPER to pole END. |
|||
Move disk from START to pole HELPER. |
|||
Move disk from START to pole END. |
|||
Move disk from HELPER to pole END. |
|||
Press any key to continue . . .</pre> |
|||
=={{header|BBC BASIC}}== |
=={{header|BBC BASIC}}== |