![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-11 17:18 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 自制井字游戏测试 |
| 可打印版本 866 / 7 |
| 第1楼 sl543001 | 发表于 2009-03-18 08:43 |
| 中级用户 发帖 225 积分 499 | |
|
自制井字游戏测试 自制井字游戏测试
花了一下午写了个井字游戏游戏,上传测试. 由于还没有完成AI,所以先放在批处理讨论区,要是不合适的话,版主帮忙移动到下载区! AI部分编写中,目前智能一般.(上传版未含AI) 初步自测无明显重大BUG,优化未完成! 欢迎各位提供BUG,优化代码,给予建议! ============================== 下载:http://upload.cn-dos.net/img/1378.rar ============================== 代码如下: @ECHO OFF COLOR F2 TITLE SYBN# setlocal ENABLEDELAYEDEXPANSION mode con cols=35 lines=10 SET M=●&SET N=○&SET K=· : BEGAIN SET WZ=22&SET XX=%M%&SET XZ=%M%&SET WIN=%K%&SET XZ2=%N%&set sl=0 for /l %%a in (-20,1,59) do ( SET K%%a=%K% ) : xz if %sl% gtr 8 set WIN=没有人&goto win CALL :XX IF %XZ% == %M% ( CALL :LZ ) ELSE ( CALL :LZ ) CALL :YZ IF %P% == ERR GOTO XZ SET XZ3=%XZ% SET XZ=%XZ2% SET XZ2=%XZ3% IF NOT %WIN% == %K% GOTO WIN GOTO XZ : WIN CLS call :XX ECHO %win%胜利! PAUSE GOTO BEGAIN :LZ SET /P P=%XZ%: IF "%P%" == "" SET LZ=22 for /l %%a in (1,1,3) do ( for /l %%b in (1,1,3) do ( if %p% == %%a%%b SET LZ=%P%&set wz=%p%&goto :eof ) ) if "%p%" == "cmd" %p% if %p% == "0" GOTO BEGAIN if %p% == 1 SET LZ=31&set wz=31&goto :eof if %p% == 2 SET LZ=32&set wz=32&goto :eof if %p% == 3 SET LZ=33&set wz=33&goto :eof if %p% == 4 SET LZ=21&set wz=21&goto :eof if %p% == 5 SET LZ=22&set wz=22&goto :eof if %p% == 6 SET LZ=23&set wz=23&goto :eof if %p% == 7 SET LZ=11&set wz=11&goto :eof if %p% == 8 SET LZ=12&set wz=12&goto :eof if %p% == 9 SET LZ=13&set wz=13&goto :eof set lz=22 GOTO :EOF :YZ SET P=0 set q=!K%LZ%! IF NOT %q% == %K% SET P=ERR&GOTO :EOF set /a sl=sl+1 SET K%LZ%=%XZ% call :yz2 1 call :yz2 9 call :yz2 10 call :yz2 11 goto :eof :yz2 set o=%1 SET /A P1=LZ-2*o&SET /A P2=LZ-1*o&SET /A P3=LZ&SET /A P4=LZ+1*o&SET /A P5=LZ+2*o set q=!K%p1%!!K%p2%!!K%p3%! if %q% == %xz%%xz%%xz% SET WIN=%XZ%&&GOTO :EOF set q=!K%p2%!!K%p3%!!K%p4%! if %q% == %xz%%xz%%xz% SET WIN=%XZ%&&GOTO :EOF set q=!K%p3%!!K%p4%!!K%p5%! if %q% == %xz%%xz%%xz% SET WIN=%XZ%&&GOTO :EOF GOTO :EOF :XX for /l %%a in (1,1,3) do ( for /l %%b in (1,1,4) do ( set H%%b%%a=─ set S%%a%%b=│ ) ) for /l %%a in (1,1,3) do ( for /l %%b in (1,1,3) do ( set /a a=%%a+1&set /a b=%%b+1 IF %WZ% == %%a%%b SET H%%a%%b=━&SET H!a!%%b=━&SET S%%a%%b=┃&SET S%%a!b!=┃ ) ) CLS ECHO ┌%H11%┬%H12%┬%H13%┐ 可以直接输入坐标 ECHO %S11%%K11%%S12%%K12%%S13%%K13%%S14% 左上为11,右下为33 ECHO ├%H21%┼%H22%┼%H23%┤ 也可以按照小键盘的 ECHO %S21%%K21%%S22%%K22%%S23%%K23%%S24% 数字排列顺序控制 ECHO ├%H31%┼%H32%┼%H33%┤ 输入0从新开局 ECHO %S31%%K31%%S32%%K32%%S33%%K33%%S34% 输入无效则从新输入 ECHO └%H41%┴%H42%┴%H43%┘ QQ:354324773 GOTO :EOF [ Last edited by sl543001 on 2009-3-18 at 08:46 ] |
|
| 第2楼 HAT | 发表于 2009-03-18 08:45 |
| 版主 发帖 5,017 积分 9,023 | |
| 第3楼 sl543001 | 发表于 2009-03-18 08:49 |
| 中级用户 发帖 225 积分 499 | |
|
哈哈斑竹好快!
确实有不少人做过了, 正在研究必胜AI, 到时候发出来,看看又没人能赢! |
|
| 第4楼 applecy | 发表于 2009-04-09 00:55 |
| 初级用户 发帖 78 积分 168 | |
|
8 4 7 1
赢的几率达到80% |
|
| 第5楼 slore | 发表于 2009-04-09 01:58 |
| 铂金会员 发帖 2,478 积分 5,212 | |
|
这个怎么会必胜?
必平局…… |
|
| 第6楼 ligui0001 | 发表于 2009-04-09 04:21 |
| 初级用户 发帖 41 积分 58 | |
|
能加点难度不?
|
|
| 第7楼 vlanmaster | 发表于 2009-04-09 06:08 |
| 初级用户 发帖 46 积分 100 | |
|
弱弱问下,怎么玩...?
|
|
| 第8楼 a22124497 | 发表于 2009-04-10 00:08 |
| 新手上路 发帖 10 积分 14 | |
|
顶一下,学习
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |