返回列表 发帖

[游戏娱乐] 重构批处理俄罗斯方块【完结】

本帖最后由 netbenton 于 2021-12-29 23:29 编辑

完结了,彩色俄罗斯方块!!!
一、完美计分,
二、升级加速。
三、随着等级上升,速度,加分都有加成。
四、随时切换【经典】和【复杂】玩法。
五、Esc 一键快速关闭。上班摸鱼时老板来了,一键极速消灭证据。
六、养眼的真彩显示,虚化背景方块帮你很好的对齐。消行时有闪烁特效。
七、高分记录前5名,可输入记录者呢称。
八、游戏速度如何?绝对让你满意,单核2.0G以上的CPU就可以畅玩。游戏速度控制得很好,是以时钟控制游戏速度的,
      不会因为电脑过快出现速度过快无法玩的情况。电脑越快,cpu占用率会越低。


程序文件连MK.exe一起打包了,共10.3Kb,不能直接贴出来,

压缩后再转码请看这里

mk.exe,在这里可以直接复制代码获得:mk.exe 三方

win10 操作系统测试通过。

终结版本。不再更更新了。

单文件下载。百度网盘:[url=链接:https://pan.baidu.com/s/1x0U6ZqEjFE5KZLuDedqRnQ ] 提取码:bath[/url]

Gif 动图演示:



谢谢!!
2

评分人数

    • slimay: 本顿大神终于回归!!!技术 + 1
    • 523066680: 青春又回来了PB + 18 技术 + 1

太强大了!!!!!

TOP

真的是太强了,  原来还有那么多花样

TOP

本帖最后由 netbenton 于 2021-12-26 01:06 编辑

最新、快版本。去掉了注释,变量名减短。可读性差了。


[url=链接:https://pan.baidu.com/s/15gaJrNs-gbKVyjH3X3604w]  提取码:bath[/url]

请看Gif动图。


TOP

本帖最后由 netbenton 于 2021-12-26 14:16 编辑

精简好了,主程序只有8K。论坛改得只帖子只能发10K了,3方打包不进来。

需要另行下载。
http://bbs.bathome.net/redirect. ... 0771&pid=249351
@echo off
title 批处理俄罗斯方块
::win10测试运行。由netbenton编写,bathome首发,更新于:20211226
MODE CON: COLS=40 LINES=24
(FOR /F "TOKENS=1 DELIMS==" %%A IN ('SET') DO SET %%A=
path %path%
)
set a=ga1=0 1 5 6;ga2=1 4 5 8;gb1=1 2 4 5;gb2=0 4 5 9;za1=4 5 6 7;za2=1 5 9 d;qa1=1 5 9 8;qa2=0 4 5 6;qa3=2 1 5 9;qa4=4 5 6 a;qb1=1 5 9 a;qb2=2 4 5 6;qb3=0 1 5 9;qb4=4 5 6 8;ta1=5 6 9 a;ta2=5 6 9 a;sa1=1 4 5 6;sa2=1 4 5 9;sa3=4 5 6 9;sa4=1 5 6 9;tw1=5 9;tw2=5 6;on1=9;on2=9;sh1=1 4 5 6 9;sh2=1 4 5 6 9;ao1=0 1 2 4 6;ao2=0 1 4 8 9;ao3=0 4 5 6 2;ao4=0 1 5 8 9;tt1=0 1 2 5 9;tt2=0 4 8 5 6;tt3=1 5 8 9 a;tt4=2 4 5 6 a;k3=k%%=mx,k+;k4=down;k1=y-;k2=y+;k5=暂停;k0=其它键;z=setlocal enabledelayedexpansion;a=!
set %a:;=&set %
if not exist mk.exe (
echo;缺少扩展键盘输入的三方【mk.exe】
pause&goto :eof
)
for /F "tokens=1 delims=#" %%a in ('"prompt #$E# & echo on & for %%b in (1) do rem"') do set "v=%%a"
echo;%v%[?25l
for %%a in (1037 1039 13232 1040 11313 12727) do set /a n+=1,k%%a=n
mk.exe /g
set/a odt=tt/1000,gmk=0,key1=0,l1=40,l2=120,l3=370,l4=1200,tt=%errorlevel%
%z%
set zmenu=%v%[37m%v%[10;26H 【!a!玩法!a!%v%[12;26H  第!a!guan!a!%v%[14;26H 消行:!a!fen!a!%v%[16;26H 【得分】%v%[17;26H !a!fens!a!
call :制表 23 22 zb
set s=a
for %%a in (b c d e f) do set %%a=!a!!s!!a!&set s=%%a
for /l %%b in (0,1,9) do (
set gLineText=!gLineText!!b!f!a!d@.%%b!a!!b!
set gLineEcho=!gLineEcho!!c!c!b!d!a!e@!a!.%%b!b!!c!
set pLineTo_0=!pLineTo_0!d@.%%b=0,
)
set pLineTo_0=!pLineTo_0:~,-1!
for /l %%a in (0,1,19) do (
set e%%a=%%a&set rs=!rs! %%a
for /f "tokens=*" %%b in ("!pLineTo_0:@=%%a!") do set/a %%b
set ech=!ech!%v%[B%v%[20D!gLineEcho:@=%%a!
)
set "rs=!rs! "
set n=0
for /l %%a in (30,1,37) do (
set c!n!=!v![%%am■
set f!n!=1
set /a n+=1
)
for /l %%a in (0,1,3) do (
set zz=!zz!%v%[B%v%[8D
for /l %%b in (0,1,3) do (
set zz=!zz!!b!c!a!k%%a.%%b!a!!b!
set k%%a.%%b=0
)
)
for /l %%a in (0,1,5) do (
set g#For=!g#For!!c!d!b!e!a!n%%a!a!!b!.!a!m%%a!a!!c!
set p#To_@=!p#To_@!d!b!e!a!n%%a!a!!b!.!a!m%%a!a!=@,
set p#To_0=!p#To_0!k!a!n%%a!a!.!a!m%%a!a!=@,
)
set f0=c0= ;zlin=0000000000;简单=sa_4 ta_1 qb_4 qa_4 za_2 ga_2 gb_2;复杂=!a!简单!a! tw_2 on_2 sh_2 ao_4 tt_4;z简单=复杂;z复杂=简单;玩法=简单;f0=0
set %f0:;=&set %
:rt
%z%
for %%a in (!%玩法%!) do (
for /f "tokens=1,2 delims=_" %%b in ("%%a") do (
  set _%%b=%%c
  for /l %%d in (1,1,%%c) do (
set/a nx+=1&set ran!nx!=%%b%%d
set/a $=0
set str1=
for %%e in (!%%b%%d!) do (
set /a x=0x%%e / 4,y=0x%%e %% 4
if !x! equ 0 (set x=) else (set x=!x!+)
if !y! equ 0 (set y=) else (set y=!y!+)
set str1=!str1!n!$!=!x!x,m!$!=!y!y,
set /a $+=1
)
set %%b%%d=!str1!$=!$!
  )
)
)
cls
set/a fen=0,guan=1,fens=0
set eev=%ech%
set eev=%eev%
set eev=%eev%
:l
set/a "x=-1,t=2,y=3,down=950/(guan*2<<2),bti=0"
set/a r=!random!%%nx+1,ro=rr,rr=r %% 7+1
set err=
set tr=!_tr!
set _tr=!ran%r%!
if not defined tr goto :l
set mx=!_%tr:~,2%!
set k=%tr:~2%
set str=!%tr%!
set _str=!%_tr%!
%z%
set /a x=0,y=0,!_str!,$k=$*13-1
set p#k=!p#To_0:~,%$k%!
set /a %p#k:@=rr%
for /f "tokens=*" %%a in ("%zz%") do (
endlocal
set ekv=%%~a
)
%z%
set /a x=0,y=0,!str!,$E=$*23,$P=$*20-1,$k=$*13-1
set p#k=!p#To_0:~,%$k%!
set /a %p#k:@=ro%
for /f "tokens=*" %%a in ("%zz%") do (
endlocal
set eek=%%~a
set p#=!p#To_@:~,%$P%!
set g#=!g#For:~,%$E%!
set z#=!zlin:~,%$%!
set p#k=!p#To_0:~,%$k%!
)
set p#=!p#:@=%ro%!
set "eek=!eek: =%v%[2C!"
echo;%v%[4;36H!ekv!%v%[0m%v%[1;1H!zb!%zmenu%
:c
set /a "tt=tt+9, gmk=gmk %% 5+1",kn=0,tin+=1,ti=tt/10-down
if "!gmk!" neq "5" (
if !ti! gtr !bti! (
set/a bti=tt/10,x+=1,!str!
FOR /F "TOKENS=*" %%A IN ("%g#%") DO FOR /F "TOKENS=*" %%A IN ("%%A") DO if "!z#!" equ "%%A" (
set /a x1=x,y1=y*2+11
set /p =%v%[1;23H!eev!%v%[!x1!;!y1!H!eek!%v%[23;4H空格变形,方向控制,回车暂停,Esc退出。<nul
) else (
goto :j
)
)
goto :c
)
if defined 暂停 (call :p&if defined 暂停 endlocal&set 玩法=!z%玩法%!&goto :rt) else (
mk.exe /g /c !tt! >tt.txt
for /f "tokens=1-5" %%1 in (tt.txt) do (
set /a kn+=1
   set /a key!kn!=k%%1%%2%%3
)
for /l %%a in (1,1,!kn!) do (
for /f %%b in ("!key%%a!") do (
if %%b geq 6 goto :exit
set bs=!str!
set/a by=y,bk=k,!k%%b!=1
if "%%b" equ "3" for %%b in ("!tr:~,2!!k!") do set str=!%%~b!
set /a !str!
FOR /F "TOKENS=*" %%A IN ("%g#%") DO FOR /F "TOKENS=*" %%A IN ("%%A") DO if "!z#!" equ "%%A" (
if "%%b" equ "3" (
%z%
set /a x=0,y=0,!str!
set /a %p#k:@=ro%
for /f "tokens=*" %%a in ("%zz%") do (
endlocal
set eek=%%~a
)
set "eek=!eek: =%v%[2C!"
)
set /a x1=x,y1=y*2+11
echo;%v%[1;23H!eev!%v%[!x1!;!y1!H!eek!
) else (
set/a y=by,k=bk
set str=!bs!
)
)
)
)
goto :c
:j
set /a x1=x,y1=y*2+11,x-=1,$=0
echo;%v%[1;23H!eev!%v%[!x1!;!y1!H!eek!
set /a !str!
for /f "tokens=*" %%a in ("%p#%") do (set /a %%a)
set/a m=0,n=1
for %%a in (!rs!) do (
set /a n+=1
FOR /F "TOKENS=*" %%A IN ("!gLineText:@=%%a!") DO FOR /F "TOKENS=*" %%A IN ("%%A") DO if "%%A" equ "1111111111" (
set "rs= %%a!rs: %%a = !"
set/a m+=1
set /a "!pLineTo_0:@=%%a!"
set  tx=!tx!!v![!n!;3H■■■■■■■■■■
)
)
if !m! neq 0 (
set n=0
for %%a in (!rs!) do (
set e!n!=%%a
set /a n+=1,$=n %% 8
mk /g >nul
if !$! lss 3 (
echo;!v![30m!tx!
) else (
echo;!v![3!$!m!tx!
)
)
set tx=
set/a "fen=fen+m,guan=fen/10+1,fens=fens+l!m!*guan"
)
set eev=%ech%
for /l %%a in (1,1,2) do for /f "tokens=*" %%b in ("!eev!") do set eev=%%b
if !x! leq 1 (
call :记录保存
endlocal
goto :rt
)
goto :l
:记录保存
echo 游戏结束!
mk /w /c 3000
cls
echo;
echo;高分排名:
echo;
%z%
for /l %%a in (1,1,5) do set name%%a=无名氏&set zf%%a=0
set n=0
for /f "tokens=1,2" %%a in (%~n0.ini) do (
set /a n+=1
set name!n!=%%a
set zf!n!=%%b
for %%c in (!n!) do echo; %%c !name%%c! !zf%%c!
)
echo;
echo;
for /l %%a in (1,1,5) do (
    if not defined find (
          if !fens! gtr !zf%%a! (
echo;真厉害!本次得分:!fens!分,超过了第%%a名记录保持者:
echo;【!name%%a!!zf%%a!
echo;请留下您的大名:
set /p name%%a=
set /a find=zf%%a,zf%%a=fens
         )
    ) else (
         set/a find=zf%%a,zf%%a=!find!
    )
)
(
for /l %%a in (1,1,5) do (
echo;!name%%a! !zf%%a!
)
)>%~n0.ini
endlocal
goto :eof
:exit
echo 谢谢使用,再见。。。
mk /w /c 3000  >nul
goto :eof
:p
set /a dt=tt/1000-odt
set /a zhen=tin/dt
title 【暂停】!zhen!#!down! 按F2切换玩法,其它键继续。。。
mk /w /c 999999999 >tt.txt
for /f "tokens=1-5" %%1 in (tt.txt) do set 暂停=%%1%%2%%3
if !暂停! neq 10113 set 暂停=
title 批处理俄罗斯方块
goto :eof
:制表 宽 高 变量名
%z%
set/a 宽2=%1-2,高2=%2-2
set "%3=!%3!!v!(0l!v!H"
for /l %%a in (1,1,!宽2!) do (
   set %3=!%3!q
)
set %3=!%3!k
for /l %%b in (1,1,!高2!) do (
   set %3=!%3!%v%[1B%v%[%1Dx%v%[!2!Cx
)
set %3=!%3!%v%[1B%v%[%1Dm
for /l %%a in (1,1,!宽2!) do (
   set %3=!%3!q
)
set "r=!%3!j!v!(B"
endlocal&set %3=%r%
goto :eofCOPY

TOP

本帖最后由 netbenton 于 2021-12-27 15:40 编辑

增加了背景虚块!!无可挑剔了。。。
@echo off
title 批处理俄罗斯方块
::win10测试运行。由netbenton编写,bathome首发,更新于:20211224
MODE CON: COLS=40 LINES=24
(FOR /F "TOKENS=1 DELIMS==" %%A IN ('SET') DO SET %%A=
path %path%
)
set a=ga1=0 1 5 6;ga2=1 4 5 8;gb1=1 2 4 5;gb2=0 4 5 9;za1=4 5 6 7;za2=1 5 9 d;qa1=1 5 9 8;qa2=0 4 5 6;qa3=2 1 5 9;qa4=4 5 6 a;qb1=1 5 9 a;qb2=2 4 5 6;qb3=0 1 5 9;qb4=4 5 6 8;ta1=5 6 9 a;ta2=5 6 9 a;sa1=1 4 5 6;sa2=1 4 5 9;sa3=4 5 6 9;sa4=1 5 6 9;tw1=5 9;tw2=5 6;on1=9;on2=9;sh1=1 4 5 6 9;sh2=1 4 5 6 9;ao1=0 1 2 4 6;ao2=0 1 4 8 9;ao3=0 4 5 6 2;ao4=0 1 5 8 9;tt1=0 1 2 5 9;tt2=0 4 8 5 6;tt3=1 5 8 9 a;tt4=2 4 5 6 a;k3=k%%=mx,k+;k4=down;k1=y-;k2=y+;k5=暂停;k0=其它键;z=setlocal enabledelayedexpansion;a=!
set %a:;=&set %
if not exist mk.exe (
echo;缺少扩展键盘输入的三方【mk.exe】
pause&goto :eof
)
for /F "tokens=1 delims=#" %%a in ('"prompt #$E# & echo on & for %%b in (1) do rem"') do set "v=%%a"
echo;%v%[?25l
for %%a in (1037 1039 13232 1040 11313 12727) do set /a n+=1,k%%a=n
mk.exe /g
set/a odt=tt/1000,gmk=0,key1=0,l1=40,l2=120,l3=370,l4=1200,tt=%errorlevel%
%z%
set zmenu=%v%[37m%v%[10;26H 【!a!玩法!a!%v%[12;26H  第!a!guan!a!%v%[14;26H 消行:!a!fen!a!%v%[16;26H 【得分】%v%[17;26H !a!fens!a!
call :制表 23 22 zb
set s=a
for %%a in (b c d e f) do set %%a=!a!!s!!a!&set s=%%a
for /l %%b in (0,1,9) do (
set gLineText=!gLineText!!b!f!a!d@.%%b!a!!b!
set gLineEcho=!gLineEcho!!c!c!b!d!a!e@!a!.%%b!b!!c!
set pLineTo_0=!pLineTo_0!d@.%%b=0,
)
set pLineTo_0=!pLineTo_0:~,-1!
for /l %%a in (0,1,19) do (
set e%%a=%%a&set rs=!rs! %%a
for /f "tokens=*" %%b in ("!pLineTo_0:@=%%a!") do set/a %%b
set ech=!ech!%v%[B%v%[20D!gLineEcho:@=%%a!
)
set "rs=!rs! "
set n=0
for /l %%a in (30,1,37) do (
set c!n!=!v![%%am■
set f!n!=1
set /a n+=1
)
for /l %%a in (0,1,3) do (
set zz=!zz!%v%[B%v%[8D
for /l %%b in (0,1,3) do (
set zz=!zz!!b!c!a!k%%a.%%b!a!!b!
set k%%a.%%b=9
)
)
for /l %%a in (0,1,5) do (
set g#For=!g#For!!c!d!b!e!a!n%%a!a!!b!.!a!m%%a!a!!c!
set p#To_@=!p#To_@!d!b!e!a!n%%a!a!!b!.!a!m%%a!a!=@,
set p#To_0=!p#To_0!k!a!n%%a!a!.!a!m%%a!a!=@,
)
set f0=c9=%v%[2C;zlin=0000000000;简单=sa_4 ta_1 qb_4 qa_4 za_2 ga_2 gb_2;复杂=!a!简单!a! tw_2 on_2 sh_2 ao_4 tt_4;z简单=复杂;z复杂=简单;玩法=简单;f0=0
set %f0:;=&set %
set c0=%v%[38;2;37;37;37m□
:rt
%z%
for %%a in (!%玩法%!) do (
for /f "tokens=1,2 delims=_" %%b in ("%%a") do (
  set _%%b=%%c
  for /l %%d in (1,1,%%c) do (
set/a nx+=1&set ran!nx!=%%b%%d
set/a $=0
set str1=
for %%e in (!%%b%%d!) do (
set /a x=0x%%e / 4,y=0x%%e %% 4
if !x! equ 0 (set x=) else (set x=!x!+)
if !y! equ 0 (set y=) else (set y=!y!+)
set str1=!str1!n!$!=!x!x,m!$!=!y!y,
set /a $+=1
)
set %%b%%d=!str1!$=!$!
  )
)
)
cls
set/a fen=0,guan=1,fens=0
set eev=%ech%
set eev=%eev%
set eev=%eev%
:l
set/a "x=-1,t=2,y=3,down=950/(guan*2<<2),bti=0"
set/a r=!random!%%nx+1,ro=rr,rr=r %% 7+1
set tr=!_tr!
set _tr=!ran%r%!
if not defined tr goto :l
set mx=!_%tr:~,2%!
set k=%tr:~2%
set str=!%tr%!
set _str=!%_tr%!
set aan=
%z%
set /a x=0,y=0,!_str!,$k=$*13-1
set p#k=!p#To_0:~,%$k%!
set /a %p#k:@=rr%
set  ekv=%zz%
for /f "tokens=*" %%a in ("!ekv:9=0!") do (
endlocal
set ekv=%%~a
)
%z%
set /a x=0,y=0,!str!,$E=$*23,$P=$*20-1,$k=$*13-1
set p#k=!p#To_0:~,%$k%!
set /a %p#k:@=ro%
for /f "tokens=*" %%a in ("%zz%") do (
endlocal
set eek=%%~a
set p#=!p#To_@:~,%$P%!
set g#=!g#For:~,%$E%!
set z#=!zlin:~,%$%!
set p#k=!p#To_0:~,%$k%!
)
set p#=!p#:@=%ro%!
echo;%v%[4;36H!ekv!%v%[0m%v%[1;1H!zb!%zmenu%
:c
set /a "tt=tt+9, gmk=gmk %% 5+1",kn=0,tin+=1,ti=tt/10-down
if "!gmk!" neq "5" (
if !ti! gtr !bti! (
set/a bti=tt/10,x+=1,!str!
FOR /F "TOKENS=*" %%A IN ("%g#%") DO FOR /F "TOKENS=*" %%A IN ("%%A") DO if "!z#!" equ "%%A" (
set /a x1=x+1,y1=y*2+11
set /p =%v%[1;23H!eev!%v%[!x1!;!y1!H!eek!%v%[23;4H空格变形,方向控制,回车暂停,Esc退出。<nul
goto :c
) else (
goto :j
)
)
goto :c
)
if defined 暂停 (call :p&if defined 暂停 endlocal&set 玩法=!z%玩法%!&goto :rt) else (
mk.exe /g /c !tt! >tt.txt
for /f "tokens=1-5" %%1 in (tt.txt) do (
set /a kn+=1
   set /a key!kn!=k%%1%%2%%3
)
for /l %%a in (1,1,!kn!) do (
for /f %%b in ("!key%%a!") do (
if %%b geq 6 goto :exit
set bs=!str!
set/a by=y,bk=k,!k%%b!=1
if "%%b" equ "3" for %%b in ("!tr:~,2!!k!") do set str=!%%~b!
set /a !str!
FOR /F "TOKENS=*" %%A IN ("%g#%") DO FOR /F "TOKENS=*" %%A IN ("%%A") DO if "!z#!" equ "%%A" (
if "%%b" equ "3" (
%z%
set /a x=0,y=0,!str!
set /a %p#k:@=ro%
for /f "tokens=*" %%a in ("%zz%") do (
endlocal
set eek=%%~a
)
)
set /a x1=x+1,y1=y*2+11
echo;%v%[1;23H!eev!%v%[!x1!;!y1!H!eek!
) else (
set/a y=by,k=bk
set str=!bs!
)
)
)
)
goto :c
:j
set /a x1=x,y1=y*2+11,x-=1,$=0
echo;%v%[1;23H!eev!%v%[!x1!;!y1!H!eek!
set /a !str!
for /f "tokens=*" %%a in ("%p#%") do (set /a %%a)
set/a m=0,n=1
for %%a in (!rs!) do (
set /a n+=1
FOR /F "TOKENS=*" %%A IN ("!gLineText:@=%%a!") DO FOR /F "TOKENS=*" %%A IN ("%%A") DO if "%%A" equ "1111111111" (
set "rs= %%a!rs: %%a = !"
set/a m+=1
set /a "!pLineTo_0:@=%%a!"
set  tx=!tx!!v![!n!;3H■■■■■■■■■■
)
)
if !m! neq 0 (
set n=0
for %%a in (!rs!) do (
set e!n!=%%a
set /a n+=1,$=n %% 8
mk /g >nul
if !$! lss 3 (
echo;!v![30m!tx!
) else (
echo;!v![3!$!m!tx!
)
)
set tx=
set/a "fen=fen+m,guan=fen/10+1,fens=fens+l!m!*guan"
)
set eev=%ech%
for /l %%a in (1,1,2) do for /f "tokens=*" %%b in ("!eev!") do set eev=%%b
if !x! leq 1 (
call :记录保存
endlocal
goto :rt
)
goto :l
:记录保存
echo 游戏结束!
mk /w /c 3000
cls
echo;
echo;高分排名:
echo;
%z%
for /l %%a in (1,1,5) do set name%%a=无名氏&set zf%%a=0
set n=0
for /f "tokens=1,2" %%a in (%~n0.ini) do (
set /a n+=1
set name!n!=%%a
set zf!n!=%%b
for %%c in (!n!) do echo; %%c !name%%c! !zf%%c!
)
echo;
echo;
for /l %%a in (1,1,5) do (
    if not defined find (
          if !fens! gtr !zf%%a! (
echo;真厉害!本次得分:!fens!分,超过了第%%a名记录保持者:
echo;【!name%%a!!zf%%a!
echo;请留下您的大名:
set /p name%%a=
set /a find=zf%%a,zf%%a=fens
         )
    ) else (
         set/a find=zf%%a,zf%%a=!find!
    )
)
(
for /l %%a in (1,1,5) do (
echo;!name%%a! !zf%%a!
)
)>%~n0.ini
endlocal
goto :eof
:exit
exit
:p
set /a dt=tt/1000-odt
set /a zhen=tin/dt
title 【暂停】!zhen!#!down! 按F2切换玩法,其它键继续。。。
mk /w /c 999999999 >tt.txt
for /f "tokens=1-5" %%1 in (tt.txt) do set 暂停=%%1%%2%%3
if !暂停! neq 10113 set 暂停=
title 批处理俄罗斯方块
goto :eof
:制表 宽 高 变量名
%z%
set/a 宽2=%1-2,高2=%2-2
set "%3=!%3!!v!(0l!v!H"
for /l %%a in (1,1,!宽2!) do (
   set %3=!%3!q
)
set %3=!%3!k
for /l %%b in (1,1,!高2!) do (
   set %3=!%3!%v%[1B%v%[%1Dx%v%[!2!Cx
)
set %3=!%3!%v%[1B%v%[%1Dm
for /l %%a in (1,1,!宽2!) do (
   set %3=!%3!q
)
set "r=!%3!j!v!(B"
endlocal&set %3=%r%
goto :eofCOPY

TOP

bse你值得拥有 ,自动生成 压缩base码 ,从而一次贴到论坛
http://bcn.bathome.net/s/tool/index.html?key=bse

TOP

为了压缩只有3K的三方,使用一个16K的三方,有点跑远了,我把三方打包进批处理,整个程序俄罗斯方块批处理程序才10.4KB

TOP

本帖最后由 slimay 于 2021-12-28 11:52 编辑

1.该版核心还是09年的老思路 (碰撞检测: set /a x=0x%%e / 4,y=0x%%e %% 4) 貌似也只能这样了,位运算也没有多大性能提升.
2.兼容性不好, win7 64位无法运行.
3.批处理程序才10.4KB, 变换下压缩思路, bse压成 7.2kb, 这个无需携带bse.exe去解压, 所以并没有增加体积, 相反减少了体积.
@echo off
setlocal enabledelayedexpansion
::*********BASE64 加权解码器*********
set $=set [#]&CALL :BASE64_PRESS&set [$]=A&((for %%Z in ([,],{,},_,$,#,-,@) do (set [$]=![$]!![$]!&for %%S in (![$]!) do (for /l %%i in (1,1,7) do (!$!%%i=![#]%%i:%%Z=%%S!))))&for /l %%i in (1,1,7) do (set/p=![#]%%i:.=!<NUL))>a.BSEP&certutil -decode a.BSEP a.zip&pause&exit /b
::***********************************
:BASE64_PRESS
!$!1=UEsDBBQ]IAMxcnFMO3HqfzBM[JQp[AF]YS5iYXS9OWtvI0dyn0WA/6Gbu2PvmpQ5M6QoculxdoZvrfiUKIm6DwLJGQ4pPkYiR3x98H9RhByCYD/E8Tq7fu75eYl9thewvTEM5JwEhoEk8IdcEudwdoBU9TxIaWWd4wChdqa7q6uqq+vV1bO3tWbbIEar5fWYHbOnkff+cO+Xv/r2r799+7cfvnL/jYf/7PXcujXpDAT+r/7pg88++/DRo9OzT/92oJkNbWAagxf/4dG9s7uNutk2+toHf3f/T8/uPvjh0duffnn2qsiLwrv/IoifvS2u/83nXk++mEyRRLFwC16bW1KYJ5u5QmpLEsNez410sUKCaeLbLt5JFbYkgSRTm7n8liT5CMfJJFcgN57eSm0/fZMkiwQ6CJW8niNYmHD45ryem16P1zPSTFKX9Log8UQgayQS1+si8AtDPxrXGwL0RRxBX5R4Bo/F54CPvQhZj88ZPkCJGj+uC3Y/Cn0HPwL9kCQy/jHoh23aevy44eBjX5REB78RsuWJQd/Bj8ZN4I89xDfrotsfsXUt2pErfwz6IZsW+2FJsPvmBPlgy3jEjYEgxeAtwnvUdnkhVVtcGtUNS08oZwRGIhuFSZTNhZz9EhFGYXsHOGeaDh1b1bQ0E2XymmZIsvFwV2bY0QKMuiGpy3FSfxro+uPdsKQak0G8K0iz1XhXlGYAW5M++/uPzuJdXnr/6w9/eP2H+FwCk/aMZr1HtEG90dNUrVefwXt6VB+MOsYgXpeoZXeufisuPcV66AqdFhkYJtGmnZFJ+t1ntalGbng9f4Sd19MyhiTYAw+rk86A3BAC8MfzN4lqEOQdrJOBXxLYOqZETSqzrkwHFEfgzDaLFvGZRlcbjKRnfC63p83ZkUZ83AvqUYv3Pc243mCy+gDFR7TjE+JbxZ+SyoDbJ1KV7Vw6l5C3UwzqI5aHP/yLD15nZKrW6gw0ldQJRnIcmLBIuPm8tWOv
!$!2=J6ENzROz0yOrSa1pqBpZhbWsSd+i8zwZnPS8Hm2gMuUwHvY+0u4+BFit1+mPpGtLG/IdDY3+kUmuXU9dI08RK58MoIfEHNewlMg2OtT69pZxE76xhFv2eizBx9wv/kRc6znLuurnQ+sEXjEihMQQBB0PmUMQQkKICOK6uH7RLoEuUEpgRtviQZ2ZHGYN1ZRMMwi25AN6vyvxga42Az8O9CD44Q2BIUITkkLr0IRxxAdMU+K04dAY9rSx1mN+xc05J9PM+9rgRELRQ+t9bAQ+Lkay5PRNWqcffXP/z6E5fcgmRDZBXv4SQPpJfQDNK1+wmTCb+eT7R4/OXgVoS8M5NhOxmb38zv3HNpt1BrLQRtCgJGCvHrn1+P0XvyViiIgimTccAUdS/bw6G6RJVKKRlqs3VBcwoiMK76csIuZFS5FgGZGHSIg5HruCmPom+N62NoU4cLuUNmgLWKm3nwVC5NxgUi4IUmBvibpdSpvw16Aq4Gq34cXoGgh26Y4Yd+OAl6jbtVc[3o9S9n/MtRbLwRWBXpuS3V3S8L5PWmoEHiYKoYjiQ5HlDCFrFwW1pZqfEtr3UZq6mNMLc8DLId5sy1ReDH7KvgS+eRCFTbt0m58jgQ+r8eBDST+iY2EcCeh9XM7abKUNKa/AKT+6Xc2tIVQwR7YQWMveKl6Qud4zucSnc8X4keTjl7O+8mlVGDUJtgXI3TZNxiKA5RiALhpC3SJOGvnHfBa2hhKlDXoMCow1IDvANXI2D8LTd8eNZ3Fjq6BpW5L1GqvppJuB5apeJuKp90FxUV013wtXmrGWIIQE/F5rwOmc3/x13/38p9Jo/pBmJj1A4EcN6B3jMN5/UAkOns1DsT4g3uffYohivjQEHMCM8YAXqM2vOoGcjAPwvE544jo8TkjwnEc85DVA2l4+6hs8efOSuYuvJXJonExHlq3/vVP/xMKwKG5lPeWswnlkDlHHZuQCxEiBEQ8MvDIOFgKFkz7LglLQgdoe
!$!3=Y5r4tg1uuqevzCzbHb02qlzBg8hlw6mFKgbQOIiXJd422wjcyhItpdynGYLzrBdwVecaJhK/BSRgiQcmNl9jiNhRIHTlk4pO6J5cgMJptJNovVGmjOCaf9NB3V2DnV2DnUm0ZmN6opI8Q3BeZ0in2mgz3ozOgssyXedRSsGCINY27BJr0tAgSYiBOaJE0TN3sg2MdDDsQEJEw8gMA6eIRLv2F/T4ECG3MQtD7Xxk0P8u9VzOPqm0qoQMCUR9BUKYEUnxdb44A1c4xnxuefEm4GG2ZF4n0MA8Qo2U40+GAHMKASGhjQcBoZDCe1D1v2CI5EJqAfm0C7vDkyLkhty1K3unPLHHBLdMA1yq+cQ98EcB5w5hNwvcjaLrsQAor2nEXIEiDN9YAEOFpA66Mn1/YWLoGsEKKLTwPWudP0ZIbQq2MfPta6TIWBl7nrXYYXnAExCih8O3ZgjWhfUOp9zV9WMPgpYt2IST92oWVkUaswPGBvuhbpt8kvFtaRNgbRiKHC9hC2/Kvwc+Y2rxcX9uJJeIqvWtWW1s6qTh9l6JY66ud1O7AyecuFzgGMqZWDOgV4qt62OpXXwhAX5KYKXKs9wPBTJoprZycZbtVxcyNJ5g3KsynP8vulqw2diPemPBQhWk/Cg9675BV+gizFmdlg5anasonMVI8NrXUt8FLCpjwy0Y+Jb86GaWMYwO5To4Mm0gT1LeXY6azh8Apj4LGPi7IWL8zOL+7KP069xPnZhvgqJky0cJtb8GrWvIAhnci0yoyBhsELFPHtG9AvCYu6ISJa+xFCWapqlQzoVaJzOBIqgLgOJoXg4+/DzB//24tePPj67e/+NT3738IvH75/dfe2Ll17Ga9/Z3dSo+dGHL313evYcu47AClZUN7FPnAy6NHGI/ZtWRvR6FthuRXPukoSLkBtWvXz01MUJx0/ZscJOTTq3D7inLMZDcyECrOZeMUiwCdYzKXneNJ81p+y4vFgtCqtrqHeBxYiF9
!$!4=sTp07WKsRVCXIg2o10o2LpAyXEix4XcvV5yT0XUBVNbgEWNCswWpantXisdC0MHX4zYOVSbdkzXvI2R5Hqb44wzaRZodKVuAGu5BisnHV7gOQ3bh0K+c3dAH7WSMaVdW4RFDuZesC4J9q7tBcnK/4uDPym2DV/50Tzq9VyaFBnRT82MDHk5ObLfhQyJv5tez1JzVTiuuAntymC0rXXOl13jzqTGLNCVGl0XaNmoMbJcgIlheSB7s9dS3GFILsm4kDAwXYXMxeqyny7meYe46tjxgSEc5Tqm4epOJQ6jPhhvIAkXKli4W1k0F29EV3ne4rZr39j+d26IA8vXBPfns1zCufOhg.CDbLSaoRKhvcRT0LfEcaS+5ejqzxJxK1JxSvANCYRkPZU+/e/LPMaWdMPEg6lN2NvFMJvfKufKjirO8Fi+W1kV5WZNg8QGejFGE97uYLZ+3kzsudZ2S3mhEQnZEMM9AeUN8H0VH4Lm0v0[0gXKUk0Mm3ZvAT6sd+Hx962aF7pBgffbpS++/D3g8gxO+mwVXKiFL0mzItv4VV8D0KMtX3S5cQ1kbt8heqBdge3IOoxe//Xbr794du+b89WSc+jYgi0VuEsE1he3Tz/+5P4b//jB789O8csXCU7wSArBLdOu/5na7ObBV/cfv/feO9+fverCufnlO11z9zCo99mXkY9/+873H3zCjsh5CwH8xY8S565/i/jkXhjwz3YGnR+JNmeNhRNZS1jjhhO1Tcv57GOOSb8C0BVqydekKxTFatL7j5nWlvd9xQ7ZRZSQC5cKeKvOlPVD86HX2HUa0wCr1Cy//PybX/3Xq788O33xzXsf40e7s1ctbOjdfenuK//91ocvfwkU73xvme+lx59/dcuhPX3T3gN+MlxxWN9/7Mz/+l/f+o9P3n73Dy+/e+/fLds51ZdjmoVOUXCJcQhYRkIplvZx0+ovAsudscLmCXqKEGpTMcXeuFqblszujlxV2R+nHWdAX144v
!$!5=F19GC0E21WI9WaAI6/7CQxkXHzNXTVU0wXP2xDxUHsHVUZm/afW6ZtY4J0+pDhLr1GsxSn5y3tp8dePXnsNS7yzu9b/N7z+m0e/Pz3Dv6U4ijm/RX33E4s7FAqXlpbKN/QhhFk5VuAFIbTA83p+/D/izqnH67G++D78ljz4irz49VsP3/l++ds0qOLht6LECati4MFX0BFXRfuTIheCiiuEp8INvgfvrO9SW1Kgp0vRgbQ26TEz4xKg+8THYsbhwVc/xoEd/uwLIickp9iy5RLTi5zPIfZ/vqC+IQMc4q4V38LrnrKxuSH3hIav+H8Yr2d757gsy3kZfil8BYNRWd7UqRyjZSqH8HMzlYUIPaHyGg23TvSwbMqDQq6hK9t5vr2TaR81Z8qk2Y8Nmv20mcsU2o3+2tjrURNKZ39Lmam7Yb0OTyUV285lhPF+pnqSLPN3NoAtT/fFenpnr3FYUnpieD7ZV0/y0YzXw0daTaXrB0i93S/wmb11xNg4qolthkFlUaBpJS3LSl4u52WvJyWP5VqZ8QzLckkujxSlPJEVHfaUAPg6TSbYBhXciI4vGHo91jiB22fEFosMm0clTKgcoSlbO4Auy2V8qBzFeWGNlpA2CWjiGtNVJMwaMURx6SjoMAKAzUGlp2WRVMkrZUeMjC2QEKM56NUSa7P9TJqvlXGprs7kZaIiK9kAxKgty4mDJxf1Nk7mbfFybMAwFRQM1g8ty8Wan9Ggvnc313OlVDCTzFZaExQrkouCOInNaGk2SowUPpec6GpJLXo9QX4vOpSHsqrko7ns9nEpsSFEI5M7k2w5g/2Yf2zUamY6mB8kd2rjkR7dDtdKsXQir6aD9lYSm63y3NhChefGk+AdpK7USgmFj/HrwUprDmIw7XT4aq4IC6rlFoIUmTFgyyeruHwVluRTRiGWktP+BLR+OS0od4bB7UpyGK4zsXYRR8wtcLyeZay17U35uJ/dmOgTOSLX0G7lSD6ahHan4
!$!6=58lp6XKXlXYP46dHFbkCRhLVCpeT1lWjmPaYdqCVCplOVGotNrl4HxHr1ZlOXJnBBwS4UEQfrNC2p8r5VLpZLCwqwBu0oCg18GyxcNBcBwMVnOxdKwUK8RAypisCKlwPrYzx+0qvKINZrjviIoamU/uFPbyzMHrzCMUo5YExFJMiBUPx8isntQnuMQ6ukxGX0fsSDGXQNzSoYKL1mSdcUilJmWHQ7E9xc0kogqf7CVKSnWEc+XDyQ5br54qL+OWEdfrQezNWj62bQkrJMcxwZ+LpndxXOzl0cSgkhJycFVTMkCW5FFBTzFv8IvZXRl4J2T/XJlljeR6ca+5X8/IbBdt3EUa5Yni+sdyLZpmqslZKvJ6LCV1q6jpuo5mmJbrHdWQmV6iwn4askmxM8U9RzSMsqTRKdtcd/ITNCYYptpE/rXSNmpPEQqtqMB2ldYVxEJZJhiWkI5Uee+ow0K0XbU0WZzsbOMem5Pesay1VbZWbD5saua4tM00KWyWnuS4oYMcyVHa66niTDa/UdezxuYEoMXxcSQTRWmHpZNRtLQdtuTaLsnFiaVRtbxuxPQU24nXo+zgOslhuXhooN5dLL1lFDHPFEeMewQpiuND0PAUZYhiBkwrDa/H0V5VbOv5KrNYl1ksP1Jk1BFbQant9czWrFmwwqMAx0UU/ITfK0N2mO9s4pq7YSEdSaO1hPT6ktu3cG1w8gjsRAnGBD7dbsya+fkkU9+saFPgAHy6elBX1C0x6Z9sCAnAjgK2fGLO9w0z7QffrGhKv8PviRg2IfD8KLQitEFovR6haI4j/CzplzeEfK60Lg+qm8HQXnQ3DP29aiIyX0PqCVKHcd3WBkrfBBwe2prXg9jQq0bmw2E6XAor2eoWrh1Nu2vP2NrFUbuu7xkxdIvcYsdez/Ke+Qnqviugfx5W94xqxlCgHVXBH2qWb66xAzq0V4WnBk+TyaDD060nmF8adQszyE6OaLlZz7QrVjwyODsq6nqmV
!$!7=FETSfQE9GpZiahBfzAYA0vNg2q5bUdvB7Mci/QUaC0B8VqZK3Y84GpJSIZl8GrM3ztCCSgPDXYkpZV9tPUuWC6Rjh0neuNQOAxGLY4mcrSQDY/Tjb3oIKGAr2yUZd2KrI1yWbda3W4nVluR7daer9jzFXt+y+WwZWNs2RhbNsY2g+fn7G+2uZ0opzpCuZtIF3ZPSqhvvx/yA4vaUia5XmsmkkYzlQX/Vk1+s3wONkBYVj8HqyHM60lOzkE3ACpM02uNia7LoA9tN5rLwUEavfKQ3SxDDCYTmLQFrCyKNRyLOFY6KUzOaMOTHCsRyljSpL[UKoIqSVSWOkokRyreLI6HI9CiGYmzO4561hMACxM28gsWQYEMba8qNfzx5a9YlEkx+NnYyRX9tpHalqZNcRCrxnKy2u6kt3fqyQbomDWdte625neyX41JUdd+Nq8IU57UJHuxrr7ZXTTNM5sq5lKDikaGcgxOV6piDv8TqZ3WOcLY3V3jQe5NLmn9PZ3TcbF60E+W7trE3WvAj5WTlT7O+39VGHcGMCT2dloDBRBTaXkhr6xvby2szLcXSYb24DZa8rJkNxTZ/W9Sq/S741gtiSL07ma3TisIXdZ3rfHo/3dNRgrw/29jROvZ393Ms93UGqI6yyfUEMFKJJ7J2pmX5GzO/P9vZwzz+x+0RnG0UHFaGwWZ2Px8KQ3GqszedyEZ1/g9d1Z7HBvS2lsioKaS5sn6q6gQn0hb+yWdefxeuxeIaHLY3UC1PDsw1ODp4G1/f+tIAyHqGTfLVKF5CU3i/8BUEsBAh8AF]AgAzFycUw7cep/MEw[lCk[AUAJ{[g{AGEuYmF0CgAg][ABABgAWqP5XZz71wHtIMddnPvXAa6t7Vyc+9cBUEsFBg]AB[EAVw[AO8T][==
goto :EOFCOPY

TOP

本帖最后由 netbenton 于 2021-12-28 22:51 编辑

回复 9# slimay

你打包的我解压后也不对,也是无法运行,mk.exe 本来只有3.5Kb,经你处理的还原后,变成12K,查了原因是我精简时把一个变量a,放到了解压之前,所以出错了。

压缩后再转码错实变小了,不错!!

彩色处理用的是ansi转义,只有win10才有。

思已经改进了好多了,现在的加上彩色显示后,速度还有所提升,并且只有单窗口。

TOP

本帖最后由 netbenton 于 2021-12-29 23:24 编辑

回复 9# slimay


    压缩后再转码,只有6.7K,方法不错。
@echo off&setlocal enabledelayedexpansion
for /l %%a in (1,1,70) do set /a n+=1&set t=!t!A&set A!n!=!t!
(
for /f "tokens=*" %%a in ('type "%~dpf0"') do (
if "%%a" equ "-----BEGIN CERTIFICATE-----" set a=开始
if defined a echo;%%a
)
)>mk.zip
Certutil -Decode -f "mk.zip" "mk.zip" > nul
endlocal
mk.zip
exit
-----BEGIN CERTIFICATE-----
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
UEsBAj8AF!A5!gAmhSdU7KUpF+kCwAACRwAABIAJ!A10!g!A9!LLK
yau27cLey7m3vb/pLmJhdAoAI!A8!QAYAP6LdOAZ/NcBvOvRPsf81wGure1c
nPvXAVBLAQI/ABQAAAAIADm1nFMGT7CQSAUAAAAOAAAGACQ!A9!IAAAANQL
AABtay5leGUKAC!A8!EAGAB+dAQL+fvXAetlTnfH/NcB2Yj4Cvn71wFQSwUG
!A6!IAAgC8AAAAQBE!A5!
-----END CERTIFICATE-----COPY

TOP

本帖最后由 slimay 于 2021-12-29 14:31 编辑

回复 11# netbenton
建议给非win10用户, 也留个体验机会.  比如, 你可以增加个开关 ,是否启用彩色显示. set  启用彩色显示=假.  这样我win7也能测了.要不然还得换系统,迁移体验成本太高.

至于体积 ,你压成7z还能更省.虽然论坛限制了附件,但是低于50kb的小文件, 总有一种压缩算法可以控制在 10kb以内

TOP

回复 12# slimay

好,有空改一版出来。

其实也可以把 mk.exe 加上彩色显示,浮点计算,播放音乐等,那样的话应该达到10Kb

TOP

回复 12# slimay

想了一下,win xp ,win7 win8 win10 等操作系统的控制台显示都有所不同,很难全部兼顾。不是仅仅是彩色显示的问题,制表符,字符宽,全角,半角等,要考虑的东西太多了。除非针对每一个操作系统做一次排版。

算法上只要尽量用   
set /a t!x!.!y!=k!m!.!n!,...  

一行代码就完成一个图标数据读写,和碰撞检测,效率就上来了。

win10控制台,以下显示是正常的。在其操作系统却不能很好的对齐。效率实现不难,头痛的是排版问题。

┌─────────────────────┐
│ □□□□□□□□□□│
│ □□□□□□□□□□│
│ □□□□□□□□□□│
│ □□□■■■□□□□│    □■□□
│ □□□□■□□□□□│    ■■■□
│ □□□□□□□□□□│    □□□□
│ □□□□□□□□□□│    □□□□
│ □□□□□□□□□□│
│ □□□□□□□□□□│   【简单】
│ □□□□□□□□□□│
│ □□□□□□□□□□│    第1关
│ □□□□□□□□□□│
│ □□□□□□□□□□│   消行:0
│ □□□□□□□□□□│
│ □□□□□□□□□□│   【得分】
│ □□□□□□□□□□│   0
│ □□□□□□□□□□│
│ □□□□□□□□□□│
│ □□□□□□□□□□│
│ □□□□□□□□□□│
└─────────────────────┘
   空格变形,方向控制,回车暂停,Esc退出。

TOP

好强大,佩服

TOP

返回列表