|  | 
 
| 523066680 银牌会员
 
      SuperCleaner
 
 
 积分 2362
 发帖 1133
 注册 2008-2-2
 状态 离线
 | 
| 『楼 主』:
 八数码问题,游戏
 
使用 LLM 解释/回答一下 
 
 
如下所示初始状态: 123
 485
 76.
 
 存在一个最优移动步骤如下:
 123         123         123        123        123
 485  -->   485  -->   4.5  -->  45.  -->   456
 76.          7.6          786        786        78.
 
 我觉得这是一个非常适合用批处理制作的一个游戏,
 很类似于手机上的拼图游戏(图片包括一个空位,分成9块,打乱后,要求用户通过移动图块还原图片)
 
 不知大家有兴趣否?
 
 
 
 
 
 |  
                  |  综合型编程论坛
 
 我的作品索引
 |  | 
|  2009-6-3 05:46 |  | 
|  | 
 
| moniuming 银牌会员
 
      永远的菜鸟
 
 
 
 积分 1335
 发帖 574
 注册 2007-11-27
 来自 广西
 状态 离线
 |  | 
|  2009-6-3 06:33 |  | 
|  | 
 
| yishanju 银牌会员
 
      [b]看你妹啊[/b]
 
 
 积分 1488
 发帖 1357
 注册 2006-5-20
 状态 离线
 | 
| 『第 3 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
如果支持方向键操作,那可玩性是比较高的 
 
 
 
 
 |  
                  |  
 有问题请发论坛或者自行搜索,再短消息问我的统统是SB
 |  | 
|  2009-6-3 10:58 |  | 
|  | 
 
| 523066680 银牌会员
 
      SuperCleaner
 
 
 积分 2362
 发帖 1133
 注册 2008-2-2
 状态 离线
 |  | 
|  2009-6-4 02:59 |  | 
|  | 
 
| slore 铂金会员
 
        
 
 
 
 积分 5212
 发帖 2478
 注册 2007-2-8
 状态 离线
 | 
| 『第 5 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
 
 
 
 
 |  
                  |  S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore
 |  | 
|  2009-6-4 04:21 |  | 
|  | 
 
| wxcute 中级用户
 
    
 
 
 
 积分 458
 发帖 211
 注册 2006-7-26
 状态 离线
 | 
| 『第 6 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
这个题目有意思。
 回 3 楼,配合 CHOICE.EXE 就很好了。
 
 
 
 
 
 |  
                  |  ┌───────┐
 ├→学习→实践→┤
 └───────┘
 |  | 
|  2009-6-4 09:23 |  | 
|  | 
 
| netbenton 银牌会员
 
      批处理编程迷
 
 
 积分 1916
 发帖 752
 注册 2008-12-28
 来自 广西
 状态 离线
 | 
| 『第 7 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
@echo offgoto :begin
 
 
 
 批处理拼图
 ┍=┯=┯=┐
 │!a1!│!a2!│!a3!│
 ┝=┿=┿=┥
 │!a4!│!a5!│!a6!│
 ┝=┿=┿=┥
 │!a7!│!a8!│!a9!│
 ┕=┷=┷=┙
 用方向键控制
 按 Esc 键退出
 ┍=┯=┯=┐
 │!a1!│!a2!│!a3!│
 ┝=┿=┿=┥
 │!a4!│!a5!│!a6!│
 ┝=┿=┿=┥
 │!a7!│!a8!│!a9!│
 ┕=┷=┷=┙
 
 :begin
 chcp 437 >nul
 graftabl 936>nul
 (echo e 100 B8 00 00 CD 16 88 E0 B4 4C CD 21
 echo r cx
 echo b
 echo n in.com
 echo w
 echo q)|debug>nul
 
 set com80=if !m! gtr 1 set /a m-=1
 set com72=if !m! lss 3 set /a m+=1
 set com77=if !n! gtr 1 set /a n-=1
 set com75=if !n! lss 3 set /a n+=1
 setlocal enabledelayedexpansion
 for %%a in (1 2 3 4 5 6 7 8) do set a%%a=%%a
 set "a9= "
 set/a m=3,n=3,chbe=9
 set ai1=b 9 8 7 4 1 2 3 6
 set ai2=l 1 2 5 8 7 4
 set ai3=l 2 3 6 9 8 5
 set ai4=l 4 5 6 9 8 7
 set ai5=l 1 2 3 6 5 4
 set ai6=s 1 2 5 4
 set ai7=s 2 3 6 5
 set ai8=s 4 5 8 7
 set ai9=s 5 6 9 8
 set NL=6
 set NB=8
 set NS=4
 set/a ran=!random!%%5+5
 set aiall=9
 for /l %%a in (0,1,%ran%) do (call :random)
 call :change aiall
 call :print
 set total=0
 :loop
 ping -n 1 127.1 >nul
 call in.com
 if "%errorlevel%" equ "1" goto :quit
 if not defined com%errorlevel% goto :loop
 set comm=!com%errorlevel%!
 %comm%
 set/a chto=m*3+n-3
 if !chto! equ !chbe! goto :loop
 cls
 for /f "tokens=1,2 delims=-" %%a in ("!a%chbe%!-!a%chto%!") do (set a!chbe!=%%b&set a!chto!=%%a)
 set chbe=!chto!
 set/a total+=1
 call :print
 if "!a1!!a2!!a3!!a4!!a5!!a6!!a7!!a8!!a9!" equ "12345678 " echo 厉害!用了!total!步。&pause
 goto :loop
 
 :quit
 echo 谢谢使用,再见!
 ping -n 2 127.1 >nul
 goto :eof
 
 :print
 for /f "skip=2 delims=" %%a in (%~f0) do (
 if "%%a" equ ":begin" goto :echoend
 echo;		%%a
 )
 :echoend
 echo;
 goto :eof
 
 :change
 set ver=!%1:~,1!
 for %%a in (!%1:~1!) do (
 for /f "tokens=1,2 delims=-" %%b in ("a!ver!-!a%%a!") do (
 set a%%a=!%%b!
 set %%b=%%c
 )
 set ver=%%a
 
 )
 set/a chbe=ver
 set/a ver-=1,"m=ver/3+1",n=ver%%3+1
 goto :eof
 
 :random
 set v=0
 for /l %%a in (1,1,9) do (
 if "!ai%%a:%chbe%=!" neq "!ai%%a!" (
 set /a v+=1
 set r!v!=!ai%%a!
 )
 )
 set/a ran=!random!%%v+1
 set/a r=N!r%ran%:~,1!
 set str=!r%ran%:~1!
 set str=!str:*%chbe%=!%str%
 set/a ran=!random!%%r*2+4
 set str=!str:~,%ran%!
 set aiall=!aiall!!str!
 set chbe=!str:~-2!
 goto :eof
 
为了能用方向键控制,用debug生成了一个in.com 三方命令 
可随机打乱,有两个图是准备做成两人 pk
 
 Last edited by netbenton on 2009-6-6 at 00:03 ] 
 
 
 
 
 |  
                  |  精简
 =>    个人
  网志  |  | 
|  2009-6-4 09:39 |  | 
|  | 
 
| 523066680 银牌会员
 
      SuperCleaner
 
 
 积分 2362
 发帖 1133
 注册 2008-2-2
 状态 离线
 | 
|      『第 8 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
又来网吧喽,时间不多~ @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= "
 set blank=33
 ::目前空格所在位置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,&echo, q = exit
 set /p inp="(w a s d) (q): "
 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
 
 
 Last edited by 523066680 on 2009-6-5 at 03:13 ]
 
 
 
 
 
 
 |  
                  |  综合型编程论坛
 
 我的作品索引
 |  | 
|  2009-6-5 02:44 |  | 
|  | 
 
| netbenton 银牌会员
 
      批处理编程迷
 
 
 积分 1916
 发帖 752
 注册 2008-12-28
 来自 广西
 状态 离线
 | 
|      『第 9 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
拼图游戏做好了! 
***开局随机打乱,并保证是可以拼成的。 
***两人同时对战。
 @echo offset ec3=                          批处理拼图比赛
 set ec4=        靓女                                              靓仔
 set ec5=    ┍=┯=┯=┐                                        ┍=┯=┯=┐
 set ec6=    │!b1!│!b2!│!b3!│                                        │!a1!│!a2!│!a3!│
 set ec7=    ┝=┿=┿=┥                                        ┝=┿=┿=┥
 set ec8=    │!b4!│!b5!│!b6!│                                        │!a4!│!a5!│!a6!│
 set ec9=    ┝=┿=┿=┥                                        ┝=┿=┿=┥
 set ec10=    │!b7!│!b8!│!b9!│                                        │!a7!│!a8!│!a9!│
 set ec11=    ┕=┷=┷=┙                                        ┕=┷=┷=┙
 set ec12=上W,下S,左A,右D                                     用方向键控制
 set ec13=                          按 Esc 键退出
 set ec14= !msg!
 set ec15= !msg1!
 set ec16= !msg2!
 set ec17= !msg3!
 set Namea=靓仔
 set Nameb=靓女
 chcp 437 >nul
 graftabl 936>nul
 (echo e 100 B8 00 00 CD 16 88 E0 B4 4C CD 21
 echo r cx
 echo b
 echo n in.com
 echo w
 echo q)|debug>nul
 
 set com80=if !m! gtr 1 set /a m-=1
 set com72=if !m! lss 3 set /a m+=1
 set com77=if !n! gtr 1 set /a n-=1
 set com75=if !n! lss 3 set /a n+=1
 
 set com31=if !x! gtr 1 set /a x-=1
 set com17=if !x! lss 3 set /a x+=1
 set com32=if !y! gtr 1 set /a y-=1
 set com30=if !y! lss 3 set /a y+=1
 for %%a in (1 2 3 4 5 6 7 8) do set a%%a=%%a
 set "a9= "
 set ai1=b 9 8 7 4 1 2 3 6
 set ai2=l 1 2 5 8 7 4
 set ai3=l 2 3 6 9 8 5
 set ai4=l 4 5 6 9 8 7
 set ai5=l 1 2 3 6 5 4
 set ai6=s 1 2 5 4
 set ai7=s 2 3 6 5
 set ai8=s 4 5 8 7
 set ai9=s 5 6 9 8
 set NL=6
 set NB=8
 set NS=4
 setlocal enabledelayedexpansion
 
 :begin
 set wina=
 set winb=
 set/a gg+=1
 
 set msg3=!msg2!
 set msg2=!msg1!
 set msg1=!msg!
 set msg=第!gg!局:
 
 cls
 set/a m=3,n=3,chbe=9
 set/a ran=!random!%%8+8
 set aiall=9
 for /l %%a in (0,1,%ran%) do (call :random)
 call :change aiall
 set/a x=m,y=n,chae=chbe
 for %%a in (1 2 3 4 5 6 7 8 9) do set b%%a=!a%%a!
 for /l %%a in (0,1,18) do (for %%b in ("!ec%%a!") do echo;     %%~b)
 
 set/a totala=0,totalb=0
 :loop
 ping -n 1 127.1 >nul
 call in.com
 set error=!errorlevel!
 if "!error!" equ "1" goto :quit
 if not defined com!error! goto :loop
 for %%a in (!error!) do set comm=!com%%a!
 if !error! gtr 40 (set man=a) else (set man=b)
 %comm%
 if !man! equ b (
 set/a chto=x*3+y-3
 set/a chbx=chbe
 ) else (
 set/a chto=m*3+n-3
 set/a chbx=chae
 )
 
 if !chto! equ !chbx! goto :loop
 
 for /f "tokens=1,2 delims=-" %%a in ("!%man%%chbx%!-!%man%%chto%!") do (set %man%!chbx!=%%b&set %man%!chto!=%%a)
 set ch%man%e=!chto!
 set/a total%man%+=1
 cls
 for /l %%a in (0,1,18) do (for %%b in ("!ec%%a!") do echo;     %%~b)
 set str=
 for /l %%a in (1,1,9) do (set str=!str!!%man%%%a!)
 if "!str!" equ "12345678 !win%man%!" echo !Name%man%!赢了,用了!total%man%!步。&set win%man%=#&set msg=!msg!  !Name%man%!用了!total%man%!步&pause&if defined wina (if defined winb goto :begin)
 goto :loop
 
 :quit
 echo 谢谢使用,再见!
 ping -n 2 127.1 >nul
 goto :eof
 
 :change
 set ver=!%1:~,1!
 for %%a in (!%1:~1!) do (
 for /f "tokens=1,2 delims=-" %%b in ("a!ver!-!a%%a!") do (
 set a%%a=!%%b!
 set %%b=%%c
 )
 set ver=%%a
 
 )
 set/a chbe=ver
 set/a ver-=1,"m=ver/3+1",n=ver%%3+1
 goto :eof
 
 :random
 set v=0
 for /l %%a in (1,1,9) do (
 if "!ai%%a:%chbe%=!" neq "!ai%%a!" (
 set /a v+=1
 set r!v!=!ai%%a!
 )
 )
 set/a ran=!random!%%v+1
 set/a r=N!r%ran%:~,1!
 set str=!r%ran%:~1!
 set str=!str:*%chbe%=!%str%
 set/a ran=!random!%%r*2+4
 set str=!str:~,%ran%!
 set aiall=!aiall!!str!
 set chbe=!str:~-2!
 goto :eof
 
 Last edited by netbenton on 2009-6-7 at 00:19 ]
 
 
 
 
 
 
 |  
                  |  精简
 =>    个人
  网志  |  | 
|  2009-6-6 16:41 |  | 
|  | 
 
| 523066680 银牌会员
 
      SuperCleaner
 
 
 积分 2362
 发帖 1133
 注册 2008-2-2
 状态 离线
 |  | 
|  2009-6-14 02:17 |  |