CODE: [Copy to clipboard]
@echo off
::::SYBN 演示脚本 内含注释 默认一律注释下一行的意义::::::
::打开延迟环境变量
SETLOCAL ENABLEDELAYEDEXPANSION
::初始页码防止运行16位子系统后系统默认语言被改成英文从而不支持中文(脚本不含中文可省略此行)
(CHCP 437 &GRAFTABL 936)>NUL
::初始颜色
color f1
::定义脚本名/版本
set tit=SYBN 演示脚本 裁剪自"SYBN DLL 0.0.1"[SD.bat]
::存储sybc的16进制数据
SET SYBCOM=A100;E8A 80 CD89 C581 81 F980 7F06 CD09 8016 1F9 687F 64EB 83BE E800 65 5AE3 73E8;3C00 7F18 8853 E8C6 57 4CE3 65E8 3C00 7F4F 8845 B0C2 F602 50E2 A0B0 E6F6 15F;E8C7 3D 32E3 C387 393C 27E 904 FB80 7E39 8003 9C3 F24 E380 C00F 4E0 D808;B850 B800 750 295A 89F5 EBE9 AC46 ACAC ACAC F7E2 4CB4 21CD FAEB E088 4CB4;21CD ACAC 203C 475 F9E2 9EB C388 3CAC 7520 E202 C3F9 C387 302C EB80 B430;F60A E4 C3D8 5953 4E42 DED0 C4B8 3032 3930 3231 3631 AC24 243C A74 88AA AAD0;F5E2 B4EB B2EB E349 49AF ACE3 B6E8 E3FF 87A7 3CC3 7E39 402 8009 39FB 37E;C380 2409 800F FE3 10B2 E2F6 D800 C288 C7E2 86EB
::存储调用sybc显示彩色的"SYBC dll 演示脚本 0.01"的16进制DEBUG指令数据
SET U=;A80;DB 2D 0D "11230fcS$f6Y$f1B$f9N $f3dll $f9演示脚本 0.01" 0D;;RCX;F0;G;Q
::存储调用sybc显示彩色的"[ .:2010-02-08:. ]"的16进制DEBUG指令数据
SET V=;A80;DB 2A 0D "11330f0[ .:2010$fc-$f002$fc-$f004:. ]" 0D;;RCX;F0;G;Q
::存储调用sybc获取键盘输入的DEBUG指令数据
SET W=;A80;DB 00 0D 0D;;RCX;F0;G;Q
::压缩简化代码 存储X0-X13的值
SET A=0=0;1=0;2=0;3=2;4=2;5=A0;6=A0;7=A2;8=0;9=A4;10=4;11=A0;12=0;13=4
::压缩简化代码 存储Y0-Y13的值
SET B=;0=2;1=A0;2=A2;3=0;4=A0;5=0;6=2;7=0;8=A4;9=0;10=A0;11=4;12=4;13=0
::解压缩变量A,B中存储的X*,Y*的值
SET X%a:;=&SET X%%b:;=&SET y%
::显示标题
TITLE %tit%
::显示提示语
ECHO %tit% 正在初始化,请按任意键继续...
::利用DEBUG运行sybc,由于没有生成SYBC.com,参数存储在变量W
(ECHO.%SYBCOM:;=&ECHO.DW %&ECHO.%W:;=&ECHO.%)|DEBUG>NUL
::::初始化完成,以下是主体部分代码::::::::::::::::::::::::::
:0
::获取一个0-49的随机数
SET /A f=%random%%%50
::如果随机数小于14,把变量x,y定义为与随机数对应的X*,Y*
IF %F% LSS 14 SET X=!X%F%!&SET y=!y%F%!
::改变屏幕上所有内容的颜色为灰色
color f7
:调用DEBUG显示彩色的"SYBC dll 演示脚本 0.01"
(ECHO.%SYBCOM:;=&ECHO.DW %&ECHO.%U:;=&ECHO.%)|DEBUG>NUL
::存储调用sybc显示彩色的"[ .:2010-02-08:. ]"
(ECHO.%SYBCOM:;=&ECHO.DW %&ECHO.%V:;=&ECHO.%)|DEBUG>NUL
::=========================================================
::关键代码把显示缓存B800段中,X开始的内容存储到Y开头的位置
::以此来实现全屏内容移动的功能
(echo m b800:%X% fa0 b800:%Y%&echo q)|debug >nul
::=========================================================
goto :0
[