中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-14 18:59
楼 主 批处理:跳舞机 发表于 2007-01-14 17:59 ·  美国 弗吉尼亚州 华盛顿县 Microsoft
高级用户
★★
积分 783
发帖 268
注册 2006-12-26 17:18
UID 74627
性别 男
状态 离线
(困难总是有地~娱乐总是要地)大家都玩过跳舞机游戏的吧~

难一下你:

要求:随机出现上下左右的箭头,累积计分 过关加速,格式不限

材料:↓↑←→↖ ↗ ↙ ↘▲▼◤ ◢ ◣◥ (建议从简)

希望多款式思路 类比出新:各就位~~预备~------跳!
2 发表于 2007-01-14 22:08 ·  中国 广东 电信
荣誉版主
★★★★
batch fan
积分 5,226
发帖 1,737
注册 2006-03-10 00:38
UID 51697
来自 成都
状态 离线
  累计计分倒是可以做到,但是过关加速就有点难以理解了:怎样才能过关?也就是说,在什么情况下可以计分?——批处理对绝大部分鼠标点击事件不会产生任何反应的。

[ Last edited by namejm on 2007-1-14 at 12:18 PM ]
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
3 发表于 2007-01-14 22:10 ·  中国 广东 电信
荣誉版主
★★★★
batch fan
积分 5,226
发帖 1,737
注册 2006-03-10 00:38
UID 51697
来自 成都
状态 离线
  发一个演示代码,没有解决在什么情况下可以计分的问题:

@echo off
mode con cols=40 lines=20
set str=↓↑←→↖↗↙↘▲▼◤◢◣◥

:begin
for /l %%i in (1,1,9) do set n%%i=
set /a num=%random%%%14
call set char=%%str:~%num%,1%%
set /a num=%random%%%9+1
set n%num%=%char%
call :result
goto begin

:result
cls
echo.
echo.
echo.
echo.
echo.
echo ┌──┬──┬──┐
echo │ %n1% │ %n2% │ %n3% │
echo ├──┼──┼──┤
echo │ %n4% │ %n5% │ %n6% │
echo ├──┼──┼──┤
echo │ %n7% │ %n8% │ %n9% │
echo └──┴──┴──┘
ping -n 2 127.1>nul
goto :eof


[ Last edited by namejm on 2007-1-14 at 10:00 AM ]
本帖最近评分记录 (共 2 条) 点击查看详情
评分人分数时间
redtek +5 2007-01-15 01:22
everest79 +4 2007-01-15 16:20
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
4 发表于 2007-01-15 01:14 ·  中国 广西 贵港 电信
高级用户
★★
学无尽止
积分 635
发帖 244
注册 2006-04-15 05:07
UID 53857
性别 男
来自 广西贵港
状态 离线
楼主玩劲舞玩过头啦,呵呵``
学无尽止
5 发表于 2007-01-15 01:24 ·  中国 北京 东城区 联通
金牌会员
★★★★
积分 2,902
发帖 1,147
注册 2006-09-21 12:00
UID 63324
性别 男
状态 离线


┌──┬──┬──┐
│  │  │  │
├──┼──┼──┤
│  │  │ ↖ │
├──┼──┼──┤
│  │  │  │
└──┴──┴──┘


namejm兄这个代码有意思~~:)
猛然间看这个 “动画” 一样的运行过程,特别象 “记忆力测试” 游戏~:)

[ Last edited by redtek on 2007-1-14 at 12:27 PM ]
    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
6 发表于 2007-01-15 01:27 ·  中国 甘肃 陇南 电信
金牌会员
★★★★
积分 4,103
发帖 1,744
注册 2006-01-20 13:00
UID 49241
性别 男
来自 甘肃.临泽
状态 离线
批处理要是等你输入必须回车的啊~
7 发表于 2007-01-15 02:20 ·  中国 山东 济南 电信
社区乞丐
★★
此图片另存后死机
积分 -49
发帖 90
注册 2006-12-02 13:00
UID 72412
性别 男
状态 离线
今天早上看这个帖子的时候想的问题正如6楼

感觉不是批处理能力所在.
我的网络笔记本.非联系本人请勿访问!http://w.vicp.net
8 发表于 2007-01-15 02:40 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
UID 44210
状态 离线
可以考虑用choice /c 123456780 /t 3 /d 0 /n /m 进行选择然后判断对错

调整/t 3秒数速度
9 发表于 2007-01-15 06:39 ·  美国 弗吉尼亚州 华盛顿县 Microsoft
高级用户
★★
积分 783
发帖 268
注册 2006-12-26 17:18
UID 74627
性别 男
状态 离线
计分 是在操作符合屏幕显示的时候+1可以设置上限为100分 如果GEQ 100就显示速

度提升 此题目是由9527的发廊标志引发的 但在实现上确实难度 ,但在斑竹的启发下

学会了或与异或的位运算 感谢但因我分加完了给与口头加分 +5 ^^
10 发表于 2007-01-15 09:32 ·  中国 广东 电信
荣誉版主
★★★★
batch fan
积分 5,226
发帖 1,737
注册 2006-03-10 00:38
UID 51697
来自 成都
状态 离线
  按照跳舞机的工作原理,当某个格子里的图形显示出来的时候,要迅速地在那个格子上踩上一脚,过期不候。在批处理中,如何在图形显示出来的时候,准确无误地“踩”上那一脚才是问题的关键。但是非常不幸,批处理窗口内容没法对鼠标的点击产生反应。按照 zh159 兄的说法,choice.exe 可能派得上用场。
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
11 发表于 2007-01-15 23:11 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
UID 44210
状态 离线
可惜choice只能以秒作单位,能有0.5秒最好,买个便宜的USB数字小键盘和跳舞毯改造一下,完善记分代码就OK

这些都可以写出来,思路也有,只是过程罗嗦,没多少空写。
12 发表于 2007-05-08 13:54 ·  中国 广东 中山 电信
初级用户
★★
积分 127
发帖 62
注册 2007-04-19 12:43
UID 85744
性别 男
状态 离线
奇思妙想,期待源码!
13 发表于 2007-05-08 16:32 ·  中国 广东 广州 黄埔区 电信
金牌会员
★★★★
一叶枝头,万树皆春
积分 2,564
发帖 1,127
注册 2006-12-25 22:57
UID 74552
性别 男
状态 离线
改版主的

@echo off 2>nul 3>nul&mode con cols=40 lines=20&set/atitle=%random%
:top
set str= ↙↓↘← →↖↑↗
for /l %%i in (1,1,9) do set "n%%i= %%i "&&call :pri
ping 127.1 -n 2 >nul
for /l %%i in (1,1,9) do (
call set "n%%i=%%str:~%%i,1%% "
call :pri
ping 127.1 -n 1 >nul
)
for /l %%i in (1,1,9) do set "n%%i= "&set n5=End&set ax=0
echo CreateObject("WScript.Shell").AppActivate "test">%temp%\%title%.vbs
echo Wscript.Sleep"800">>%temp%\%title%.vbs
echo CreateObject("WScript.Shell").SendKeys "{enter}">>%temp%\%title%.vbs
echo start...&pause>nul

:st
set /a cc+=1,dd=cc%%10,num=%random%%%9+1,1/(num-5)||set /a num+=%random%%%3+1
call set "n%num%=%%str:~%num%,1%% "&&color %dd%7
:pri
cls&title=%title%&echo.&echo\&echo/
echo ┌──┬──┬──┐
echo │ %n7%│ %n8%│ %n9%│
echo ├──┼──┼──┤
echo │ %n4%│ %n5%│ %n6%│
echo ├──┼──┼──┤
echo │ %n1%│ %n2%│ %n3%│
echo └──┴──┴──┘
echo end:5 rest:0
set/a in=10,%num%||goto :eof
cscript //logo //b %temp%\%title%.vbs
set/p in=
set/a 1/(5-in)||goto end
set/a 1/(num-in)&&set/aax-=1||set/aax+=1
set/a 1/(1*in)||set num=&&goto top
set "n%num%= "
goto st

:end
echo %ax%&del /f /q %temp%\%title%.vbs
pause
论坛跳转: