中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 批处理:跳舞机 上一主题 | 下一主题
PPdos
高级用户




积分 783
发帖 268
注册 2006-12-26
状态 离线
『楼 主』:  批处理:跳舞机

(困难总是有地~娱乐总是要地)大家都玩过跳舞机游戏的吧~

难一下你:

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

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

希望多款式思路 类比出新:各就位~~预备~------跳!

2007-1-14 17:59
查看资料  发短消息 网志   编辑帖子  回复  引用回复
namejm
荣誉版主

batch fan


积分 5226
发帖 1737
注册 2006-3-10
来自 成都
状态 离线
『第 2 楼』:  

  累计计分倒是可以做到,但是过关加速就有点难以理解了:怎样才能过关?也就是说,在什么情况下可以计分?——批处理对绝大部分鼠标点击事件不会产生任何反应的。

[ Last edited by namejm on 2007-1-14 at 12:18 PM ]



尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
2007-1-14 22:08
查看资料  发短消息 网志   编辑帖子  回复  引用回复
namejm
荣誉版主

batch fan


积分 5226
发帖 1737
注册 2006-3-10
来自 成都
状态 离线
『第 3 楼』:  

  发一个演示代码,没有解决在什么情况下可以计分的问题:
@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 ]

   此帖被 +9 点积分      点击查看详情   
评分人:【 redtek 分数: +5  时间:2007-1-15 01:22
评分人:【 everest79 分数: +4  时间:2007-1-15 16:20




尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
2007-1-14 22:10
查看资料  发短消息 网志   编辑帖子  回复  引用回复
chainliq
高级用户

学无尽止


积分 635
发帖 244
注册 2006-4-15
来自 广西贵港
状态 离线
『第 4 楼』:  

楼主玩劲舞玩过头啦,呵呵``



学无尽止
2007-1-15 01:14
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (86682419)  编辑帖子  回复  引用回复
redtek
金牌会员





积分 2902
发帖 1147
注册 2006-9-21
状态 离线
『第 5 楼』:  



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

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

[ Last edited by redtek on 2007-1-14 at 12:27 PM ]



    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
2007-1-15 01:24
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
vkill
金牌会员





积分 4103
发帖 1744
注册 2006-1-20
来自 甘肃.临泽
状态 离线
『第 6 楼』:  

批处理要是等你输入必须回车的啊~

2007-1-15 01:27
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
tghksj
社区乞丐

此图片另存后死机



积分 -49
发帖 90
注册 2006-12-2
状态 离线
『第 7 楼』:  

今天早上看这个帖子的时候想的问题正如6楼

感觉不是批处理能力所在.



我的网络笔记本.[color=Red]非联系本人请勿访问![/color]http://w.vicp.net[img]http://zhenlove.com.cn/cndos/fileup/files/QM2.jpg[/img]
2007-1-15 02:20
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zh159
金牌会员




积分 3687
发帖 1467
注册 2005-8-8
状态 离线
『第 8 楼』:  

可以考虑用choice /c 123456780 /t 3 /d 0 /n /m [↓↑←→↖↗↙↘]进行选择然后判断对错

调整/t 3秒数速度

2007-1-15 02:40
查看资料  发短消息 网志   编辑帖子  回复  引用回复
PPdos
高级用户




积分 783
发帖 268
注册 2006-12-26
状态 离线
『第 9 楼』:  

计分 是在操作符合屏幕显示的时候+1可以设置上限为100分 如果GEQ 100就显示速

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

学会了或与异或的位运算 感谢但因我分加完了给与口头加分 +5 ^^

2007-1-15 06:39
查看资料  发短消息 网志   编辑帖子  回复  引用回复
namejm
荣誉版主

batch fan


积分 5226
发帖 1737
注册 2006-3-10
来自 成都
状态 离线
『第 10 楼』:  

  按照跳舞机的工作原理,当某个格子里的图形显示出来的时候,要迅速地在那个格子上踩上一脚,过期不候。在批处理中,如何在图形显示出来的时候,准确无误地“踩”上那一脚才是问题的关键。但是非常不幸,批处理窗口内容没法对鼠标的点击产生反应。按照 zh159 兄的说法,choice.exe 可能派得上用场。



尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
2007-1-15 09:32
查看资料  发短消息 网志   编辑帖子  回复  引用回复
zh159
金牌会员




积分 3687
发帖 1467
注册 2005-8-8
状态 离线
『第 11 楼』:  

可惜choice只能以秒作单位,能有0.5秒最好,买个便宜的USB数字小键盘和跳舞毯改造一下,完善记分代码就OK

这些都可以写出来,思路也有,只是过程罗嗦,没多少空写。

2007-1-15 23:11
查看资料  发短消息 网志   编辑帖子  回复  引用回复
minmin888
初级用户





积分 127
发帖 62
注册 2007-4-19
状态 离线
『第 12 楼』:  

奇思妙想,期待源码!

2007-5-8 13:54
查看资料  发短消息 网志   编辑帖子  回复  引用回复
everest79
金牌会员

一叶枝头,万树皆春



积分 2564
发帖 1127
注册 2006-12-25
状态 离线
『第 13 楼』:  

改版主的
@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


2007-5-8 16:32
查看资料  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: