[bat小游戏]八数码
发表于 : 2016年10月08日 11:58
由 batboy
Code: [show] | [select all]
@echo off
setlocal enabledelayedexpansion
mode con cols=35 lines=15
set /a num11=1, num12=2, num13=3
set /a num21=4, num22=8, num23=5
set /a num31=7, num32=6
set "num33= "
::目前空格所在位置blank=33
set blank=33
::移动操作数
set /a ccw=+10, cca=+1, ccs=-10, ccd=-1
:loop
cls
echo,
echo, %num11% %num12% %num13%
echo, %num21% %num22% %num23%
echo, %num31% %num32% %num33%
if "%num11%%num12%%num13%%num21%%num22%%num23%%num31%%num32%"=="12345678" (
echo,The end
pause>nul
exit
)
echo,
set /p show=w,a,s,d or q:<nul
for /f "delims=" %%a in ('xcopy /w "%~fs0" "%~fs0" 2^>nul') do if not defined key set "key=%%a"
set "inp=%key:~-1%"
set "key="
if "%inp%"=="q" exit
if defined cc%inp% (set /a blanknext= blank + cc%inp%)
if defined num%blanknext% (
set /a num%blank%=num%blanknext%, blank=blanknext
set "num%blanknext%= "
)
goto :loop