中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 批处理游戏--走迷宫-天罗地网
作者:
标题: 批处理游戏--走迷宫-天罗地网 上一主题 | 下一主题
ZJHJ
高级用户





积分 609
发帖 374
注册 2006-8-2
状态 离线
『楼 主』:  批处理游戏--走迷宫-天罗地网


———————————————————————
转移自 DOS软件下载 & 游戏分享 (下载室)
明显发错版块,予以扣分处理。
——管理员
———————————————————————




@echo off
[color=red]
———————————————————————
转移自 [url=http://www.cn-dos.net/forum/forumdisplay.php?fid=4][b]DOS软件下载 & 游戏分享 (下载室)[/b][/url]
明显发错版块,予以扣分处理。
——管理员
———————————————————————



[/color][code]@echo off
[color=red]
———————————————————————
转移自 [url=http://www.cn-dos.net/forum/forumdisplay.php?fid=4][b]DOS软件下载 & 游戏分享 (下载室)[/b][/url]
明显发错版块,予以扣分处理。
——管理员
———————————————————————



[/color][code]@echo off
::增加了难度
mode con cols=70 lines=14
title 走迷宫-天罗地网 QQ:251485609 by 2009.1 今天:%date%
setlocal enabledelayedexpansion
color 72
:fh
echo.
echo                           游戏   [ 天罗地网 ]  
echo.
echo      游戏规则:从棋盘中任意点出发,依次到达相对的两个边框后(每步前后
echo.
echo   必须相连不跳步),再返回原地出发点就算胜利!
echo.
echo                  (途中后有追兵前有堵击,你就等着瞧吧...)
echo.
echo               1、玩家先出发           2、追击方先堵击
echo.
echo                                             QQ:251485609
set /p wjh=     请玩家选择:
if not "%wjh%" equ "1" if not "%wjh%" equ "2" cls&echo 错误!&pause&cls&goto fh
:dxz
echo.
echo               1、普通型           2、增加难度
echo.
set /p ndxz=     选择难度:
if not "%ndxz%" equ "1" if not "%ndxz%" equ "2" cls&echo 错误!&pause&cls&goto dxz
cls
mode con cols=80 lines=68
:: 定义图形界面中的启始变量
set 纵轴=B C D E F G H I J K L M N O P Q R
for %%i in (a %纵轴% S) do (
        set /a n+=1
        set zc1%%i=!n!
)
set n=
for %%i in (a %纵轴% S) do (
        set /a n+=1
        set zc2!n!=%%i
)

:tx
for %%i in (a %纵轴% S) do (
    for /l %%j in (1,1,19) do (
        set we%%i%%j=*
    )
)
set A1=┏
set A19=┓
set S1=┗
set S19=┛
for /l %%i in (2,1,18) do set a%%i=┳
for /l %%i in (2,1,18) do set S%%i=┻
for %%i in (%纵轴%) do set %%i1=┣&set %%i19=┫
for %%i in (%纵轴%) do (
    for /l %%j in (2,1,18) do (
        set %%i%%j=╋
    )
)
set sos=1
set bls=
call:txcx
::以上产生启始图形界面
::以下为交替程序
:hq
if "%wjh%"=="2" call:dn ●  &goto bq
set /p ts= (输入时先字母后数字:如F6) 第%sos%手,请●方输入
if /i "%ts%"=="cxks" goto tx
if "!we%ts%!"=="*" (
set %ts%=●
set we%ts%=a
set /a sos+=1
set ss=%ts%
if "%sos%"=="1" set ss1=%ts%
) else (
echo  输入有误,请重新输入!
goto hq )
::刷新
call:txcx

:bq
if "%wjh%"=="1" call:dn ○  &goto hq
set /p ts= (输入时先字母后数字:如F6) 第%sos%手,请○方输入
if /i "%ts%"=="cxks" goto tx
if "!we%ts%!"=="*" (
set %ts%=○
set we%ts%=b
set /a sos+=1
set ss=%ts%
if "%sos%"=="2" set ss1=%ts%
) else (
echo  输入有误,请重新输入!
goto bq)
::刷新
call:txcx
goto hq

:txcx
::刷新棋盘
cls
echo                    输入 cxks 重新开局
::写入顶行数字
set /p =  <nul
for /l %%i in (1,1,8) do set /p=%%i   <nul
for /l %%i in (9,1,19) do set /p=%%i  <nul
echo.
::显示图形界面
for %%i in (A %纵轴%) do (
    set /p =%%i<nul
    for /l %%j in (1,1,18) do (
        set /p =!%%i%%j!━<nul
    )
    echo !%%i19!
    for /l %%j in (1,1,19) do (
        set /p = ┃ <nul
    )
    echo.
)
set /p =S<nul
for /l %%i in (1,1,18) do set /p =!S%%i!━<nul
echo !S19!
::写入底行数字
set /p =  <nul
for /l %%i in (1,1,8) do set /p=%%i   <nul
for /l %%i in (9,1,19) do set /p=%%i  <nul
echo.
::起点坐标判断
set    zbwq=%ss1:~1,2%>nul 2>nul
set /a qzbq=%ss1:~1,2%-1>nul 2>nul
set /a hzbq=%ss1:~1,2%+1>nul 2>nul
set    zmq=%ss1:~0,1%>nul 2>nul
set /a vr2q=zc1%zmq%-1>nul 2>nul
set /a vr1q=zc1%zmq%+1>nul 2>nul
set vr2q=!zc2%vr2q%!>nul 2>nul
set vr1q=!zc2%vr1q%!>nul 2>nul
::动态坐标判断
set    zbw=%ss:~1,2%>nul 2>nul
set /a qzb=%ss:~1,2%-1>nul 2>nul
set /a hzb=%ss:~1,2%+1>nul 2>nul
set    zm=%ss:~0,1%>nul 2>nul
set /a vr2=zc1%zm%-1>nul 2>nul
set /a vr1=zc1%zm%+1>nul 2>nul
set vr2=!zc2%vr2%!>nul 2>nul
set vr1=!zc2%vr1%!>nul 2>nul
if %sos% GTR 30   call:jszd
if %sos% GTR 30   call:jszd
goto :eof

::自动追击拦截
:dn
if %sos% equ 1 set ts=h8&goto wan
set pds=%ts%
set fy1=%pds:~0,1%
set fy2=%pds:~1%
:wa1
set /a ag1=zc1%fy1%+%random%%%3-%random%%%3
set  ag2=!zc2%ag1%!
set /a fy=fy2+%random%%%3-%random%%%3
if "!we%ag2%%fy%!"=="*" (
set ts=%ag2%%fy%
if "%ndxz%"=="2" if %sos% GTR 50  call :dynq
  )else goto wa1

:wan
set %ts%=%1
set we%ts%=%2
set /a sos+=1
set bls=%ts%
call:txcx
goto :eof

:dynq
if not "!%vr2%%ss:~1,2%!"=="╋" if not "!%zm%%qzb%!"=="╋" if not "!%zm%%hzb%!"=="╋" set ts=%vr1%%ss:~1,2%
if not "!%vr1%%ss:~1,2%!"=="╋" if not "!%zm%%qzb%!"=="╋" if not "!%zm%%hzb%!"=="╋" set ts=%vr2%%ss:~1,2%
if not "!%zm%%qzb%!"=="╋" if not "!%vr2%%zbw%!"=="╋" if not "!%vr1%%zbw%!"=="╋" set ts=%zm%%hzb%
if not "!%zm%%hzb%!"=="╋" if not "!%vr2%%zbw%!"=="╋" if not "!%vr1%%zbw%!"=="╋" set ts=%zm%%qzb%
goto :eof
::x左坐标%zm%%qzb%  x右坐标%zm%%hzb%  y上坐标%vr2%%ss:~1,2%  y下坐标%vr1%%ss:~1,2%
::图形  !%zm%%qzb%!       !%zm%%hzb%!      !%vr2%%ss:~1,2%!       !%vr1%%ss:~1,2%!

::胜利判断
:jszd
if "%ss%"=="%zmq%%qzbq%" goto wjsl
if "%ss%"=="%zmq%%hzbq%" goto wjsl
if "%ss%"=="%vr2q%%ss1:~1,2%" goto wjsl
if "%ss%"=="%vr1q%%ss1:~1,2%" goto wjsl
goto :eof
:wjsl
@echo off
mshta vbscript:createobject("sapi.spvoice").speak("wo, sheng, li, la,")(window.close)
@echo off
msg  %username% /    第%sos%手,玩家胜利!记特等功一次。
[/code]

[ Last edited by ZJHJ on 2009-2-4 at 22:31 ]

   此帖被 +2 点积分    点击查看详情   
评分人:【 DOSroot 分数: -6  时间:2009-2-4 06:00
评分人:【 BC 分数: +4  时间:2009-2-4 10:05
评分人:【 HAT 分数: +4  时间:2009-2-4 14:10


附件 1: 走迷宫-天罗地网.rar (2009-2-4 22:32, 1.83 K,下载次数: 23)
2009-2-3 23:52
查看资料  发短消息 网志   编辑帖子  回复  引用回复
BC
中级用户




积分 338
发帖 175
注册 2007-10-21
状态 离线
『第 2 楼』:  

不错啊,最好能加上choice就比较好玩了.



C:\
C:\Del BC
2009-2-4 10:06
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: