读书人

日前俄罗斯方块很热啊各种语言,各种精

发布时间: 2012-12-15 15:16:03 作者: rapoo

最近俄罗斯方块很热啊,各种语言,各种精简哇,分享一个批处理俄罗斯方块
本帖最后由 chang_bo 于 2012-03-13 12:12:11 编辑


set/a r=!random!%%nx+1
set err=

set ttr=!_ttr!
set _ttr=!ran%r%!
::随机取一个图标,

if not defined ttr goto :loop

set mx=!_%ttr:~,2%!
set k=%ttr:~2%
set str=!%ttr%!

set _str=!%_ttr%!


setlocal enabledelayedexpansion
for %%a in (!_str!) do set/a one=0x%%a,x=one/4+8,y=one%%4&set kk!x!.!y!=■
for /l %%a in (8,1,11) do for /l %%b in (0,1,3) do (
if defined kk%%a.%%b (set kk%%a=!kk%%a!!kk%%a.%%b!) else (set kk%%a=!kk%%a! )
)
endlocal&set ebu8=%kk8%&set ebu9=%kk9%&set ebu10=%kk10%&set ebu11=%kk11%
::对预备图标的处理


:cont
for /f "tokens=1,2" %%a in (%~n0.tmp) do (
if %%b geq 6 (call :error %%b&exit)
if %%a neq !test! (
set bs=!str!&set/a bm=m,bk=k
set/a !k%%b!=1
if "%%b" equ "3" (for %%b in ("!ttr:~,2!!k!") do set str=!%%~b!)
setlocal enabledelayedexpansion
(%d-v:#=3%)
rem 调用函数把图标点放置到总坐标空间
if defined err (
endlocal
set/a m=bm,k=bk
set str=!bs!
if "%%b" equ "4" goto :jmpout
) else (
(%d-e:#=18%)
rem 调用显示函数
endlocal
)
)
set test=%%a
)


set ti=1!time:~7,1!!time:~9,2!
if !ti! lss !bti! (set /a tn=ti-bti+1000) else (set /a tn=ti-bti)
if !tn! gtr !down! (
set/a bti=ti,n+=1
setlocal enabledelayedexpansion
(%d-v:#=3%)
if defined err (
endlocal
goto :jmpout
) else (
(%d-e:#=18%)
endlocal
)
)

goto :cont

:jmpout
set/a n-=1
(%d-v:#=3%)
set m=18

for /l %%a in (18,-1,2) do for %%b in ("!ebuf:@=%%a!") do if "%%~b" neq "■■■■■■■■■■■" (set e!m!=%%~b&set/a m-=1)

if !m! neq 1 (
for /l %%a in (!m!,-1,2) do set "e%%a=           "
for /l %%a in (18,-1,2) do (
for /l %%b in (0,1,10) do set r%%a.%%b=!e%%a:~%%b,1!
)
set/a "fen=fen+(m-1)*10,guan=fen/150+1"
)

if !n! leq 2 (
echo 游戏结束!
ping -n 3 127.1 >nul
goto :restart
)
goto :loop

:para2
mode con: cols=30 lines=2
echo a左 d右 w转 s加速 q退出
:p_lp
set/a n=n%%10+1
choice /c adwsgq /n >nul
>%~n0.tmp echo;%n% %errorlevel%
if %errorlevel% geq 6 exit
goto :p_lp

:error
if %1 equ 6 echo 谢谢使用,再见。。。
if %1 gtr 6 echo 对不起!choice.exe 文件不存在,不能运行。。。
ping -n 3 127.1 >nul
goto :eof


[最优解释]
分分分
[其他解释]
不错,收藏下来试试。谢谢分享
------其他解决方案--------------------


牛呀!!!!!!!!!!!!
[其他解释]
这个在qq群里见有人发过,的确是高人
[其他解释]
批处理也可以实现俄罗斯方块,真是牛人呀.
[其他解释]
去年作品展我们的作品中插了个俄罗斯方块,但是到现在还没有吃透其中的算法与实现。
[其他解释]
要求版主推荐!!!!!!!!!
[其他解释]
该回复于2012-03-07 13:09:56被版主删除
[其他解释]
要求版主推荐!!!!!!!!!
[其他解释]
之前见过,不过没这么多,这个对初学者很有教育意义啊,支持。
[其他解释]
要求版主推荐!!!!!!!!!
[其他解释]
值得学习学习。
[其他解释]
猛!大牛人
[其他解释]
要求版主推荐!!!!!!!!!
[其他解释]
该回复于2012-03-08 08:29:17被版主删除
[其他解释]
要求版主推荐!!!!!!!!!
[其他解释]

引用:
出错,打不到choice.exe文件.

那是因为你的电脑上没有这个文件
http://baike.baidu.com/view/2730511.html?fromTaglist
[其他解释]
出错,打不到choice.exe文件.
[其他解释]
顶起........
[其他解释]
该回复于2012-03-09 08:33:51被版主删除
[其他解释]
这个很精采。。。
[其他解释]
god.这是我玩到过最炫的命令行。你是哥。
[其他解释]
该回复于2012-03-12 11:43:40被版主删除
[其他解释]
该回复于2012-03-12 11:42:13被版主删除
[其他解释]
see that so fun
[其他解释]
这个还真少见的
[其他解释]
多少行?
[其他解释]
太猛了 学习一下
[其他解释]
补个
字数补丁.exe
[其他解释]
出错了。。。
===》

应有分号。处理资源 'file:///C:/Documents and Settings/user/桌面/俄罗斯方块.xml' 时出错。第 1 行,位置: 14

@echo off&rem

《===


[其他解释]
太牛了

[其他解释]
该回复于2012-03-12 11:35:22被版主删除
[其他解释]
该回复于2012-03-12 11:51:20被版主删除


[其他解释]
楼主。。牛。。。你用什么方法学编程的??
[其他解释]
该回复于2012-03-12 11:50:47被版主删除
[其他解释]
该回复于2012-03-12 11:52:09被版主删除
[其他解释]
太牛了!!!!!
[其他解释]
法克这也行
[其他解释]
地球已经阻止不了你了!
[其他解释]
该回复于2012-03-12 13:02:45被版主删除
[其他解释]
到处是俄罗斯方块
[其他解释]
按键没有反映啊
[其他解释]
这太牛了
[其他解释]
盖茨都要惊诧啊
[其他解释]
按键没有反映
[其他解释]
牛逼。,。。
[其他解释]
一个个牛人啊,强
[其他解释]



又诞生了新的一位大牛……
[其他解释]

批处理都能写俄罗斯方块,额的神啊!太牛了!师傅收留我吧!
[其他解释]
都是高人 羡慕ing
[其他解释]
该回复于2012-03-12 15:04:10被版主删除
[其他解释]
又诞生了新的一位大牛……
[其他解释]
观摩楼主
[其他解释]
很nx了。
[其他解释]
见识了,各种欢乐各种奇思妙想啊,
[其他解释]
能把精力放在做 一些有意义的事情么?????
[其他解释]
犀利........
[其他解释]
犀利........
[其他解释]
楼主厉害啊,一直到android去咯
[其他解释]
我只写过扫雷
[其他解释]
地球已经阻止不了你了!
[其他解释]
果然很强大
[其他解释]
这个是什么语言?DOS语言
[其他解释]
额,
[其他解释]
太厉害了 真心厉害 哈哈!
[其他解释]
靠,批处理都能整出俄罗斯方块,牛啊
[其他解释]
占个楼先,一会儿再发表意见
------其他解决方案--------------------


牛人啊 表示看不大懂
[其他解释]
该回复于2012-03-13 08:35:06被版主删除
[其他解释]
老厉害了
[其他解释]
bat的 也可以啊?
[其他解释]
怎么能获得积分,求高手
[其他解释]
最近方块貌似很热啊,各种欢乐……
[其他解释]
@echo off&rem 俄罗斯方块游戏,由netbenton编写,在bathome首发,完成时间:2009年9月25日 ver 2.0
if "%1" equ "para2" goto :para2

set "d-v=for %%a in (!str!) do set/a one=0x%%a,x=one/4+n,y=one%%4+m&(for %%b in ("r!x!.!y!") do if "!%%~b!" equ " " (set r!x!.!y!=■) else (set err=1))"
::函数d-v,把str中的图标数据,放置到总坐标空间中,如果有覆盖,则err=1。调用方法:(%d-v%)
::变量使用:one x y

set "d-e=set aec=!cr!!cr! ┌───────────┐!cr!&(for /l %%a in (2,1,#) do for %%b in ("│!ebuf:@=%%a!│  !ebu%%a!") do set aec=!aec! %%~b!cr!)&cls&echo;!aec! └───────────┘"
::函数d-e,把总坐标空间显示出来,调用方法:(%d-e:#=行数%)
set ebu4=第!guan!关
set ebu6=总分:!fen!
set cr=^



[其他解释]
该回复于2012-03-13 10:04:10被版主删除
[其他解释]
该回复于2012-03-13 09:28:24被版主删除
[其他解释]
谢谢楼主分享!
[其他解释]
该回复于2012-03-13 09:03:02被版主删除
[其他解释]
收藏了 谢谢楼主
[其他解释]
收藏了 NB
[其他解释]
顶, 这个真是精采。。
[其他解释]
支持楼主!
[其他解释]
哇塞 这个猛料了 佩服佩服
[其他解释]
。。。不懂啊~~用什么来编译啊?是用Java妈?

[其他解释]
接分,表示完全看不懂
[其他解释]
又一个牛人诞生了……
[其他解释]
该回复于2012-03-13 10:00:30被版主删除
[其他解释]
强帖必须留痕
[其他解释]
null
[其他解释]
牛!!!再用批处理实现个连连看
[其他解释]
null
[其他解释]
null
[其他解释]
看不懂
------其他解决方案--------------------


谢谢分享。
[其他解释]
没有积分了,没办法
[其他解释]
无语了,打开直接无限执行打开游戏,一下开了好多!!!!......
[其他解释]
null
[其他解释]
null
[其他解释]
null
[其他解释]
null

读书人网 >windows

热点推荐