![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-09-15 00:49 |
共 47,812 主题排行 / 349,917 发帖 / 今日 0 篇 / 48,268 会员排行 |
| DOS开发编程 & 发展交流 (开发室) » [原创]斗地主脚本技术准备-彩色输出 SYBC.com |
| 可打印版本 5,660 / 19 |
| 第1楼 sl543001 | 发表于 2010-02-28 18:39 |
| 中级用户 发帖 225 积分 499 | |
|
[原创]斗地主脚本技术准备-彩色输出 SYBC.com 俺正在努力开发cmd版的斗地主,为此要做很多技术准备.
由于计划使用全彩的游戏界面,所以需要一个小com来输出彩色字符. 最初使用tit.com,然后以此为基础开发了sybc.com 并使用sybc.com编写了一系列示例代码. 目前已经可以用sybc.com实现斗地主的完整界面. 游戏代码以及1.1.11版sybc在6楼 最新1.1.21版在9楼 最新1.1.31版在12楼 征召高手低手一起加盟开发 QQ群:3401238 http://www.cn-dos.net/forum/viewthread.php?tid=50331&fpage=1 [ Last edited by sl543001 on 2010-4-3 at 03:23 ] 附件 sybc.rar (1.06 KiB) sybc参数详解.gif (17.45 KiB) ddz59.GIF (23.49 KiB) |
|
| 第2楼 awangwjf | 发表于 2010-02-28 19:53 |
| 新手上路 发帖 3 积分 7 | |
|
希望早日看到V1.0。
|
|
| 第3楼 sl543001 | 发表于 2010-03-01 11:20 |
| 中级用户 发帖 225 积分 499 | |
|
修改并更新了代码,略微修改了语法,截图改为扑克牌!
|
|
| 第4楼 sl543001 | 发表于 2010-03-01 11:28 |
| 中级用户 发帖 225 积分 499 | |
|
用于显示1楼截图中的一列扑克牌的cmd部分代码:
|
|
| 第5楼 sl543001 | 发表于 2010-03-02 17:44 |
| 中级用户 发帖 225 积分 499 | |
|
正在计划修改参数入口和调用方式,突破124参数限制
|
|
| 第6楼 sl543001 | 发表于 2010-03-04 12:01 |
| 中级用户 发帖 225 积分 499 | |
|
修改参数入口的计划暂缓到sybn Dll中解决
目前找到了新方法解决问题 在新版sybc中把参数中";:"的意义和";"的意义调换 因为原";:"的使用率比";"多,所以节约了少许代码 刚搞够吧右下角的数字变色 截图中用到的斗地主脚本 只能干看看,还不能玩. [ Last edited by sl543001 on 2010-3-4 at 12:18 ] 附件 ddz.rar (1.68 KiB) |
|
| 第7楼 qinchun36 | 发表于 2010-03-04 14:33 |
| 高级用户 发帖 400 积分 609 | |
|
.......
哎呀,隔行如隔山,看不懂,也没机会去学汇编了,只能精神上支持了 |
|
| 第8楼 sl543001 | 发表于 2010-03-06 09:56 |
| 中级用户 发帖 225 积分 499 | |
|
不需要会原理,会用就行了.
俺等到sybc开发到一定程度后,就会发布DEBUG版. 到时候就可以实现无3方全彩输出了! |
|
| 第9楼 sl543001 | 发表于 2010-03-06 16:38 |
| 中级用户 发帖 225 积分 499 | |
|
新版sybc 1.1.21已经支持choice功能 方法是不加任何参数直接运行
现发布debug版sybc生成代码: [ Last edited by sl543001 on 2010-3-6 at 16:40 ] 附件 ddz59.GIF (18.95 KiB) |
|
| 第10楼 sl543001 | 发表于 2010-03-20 15:19 |
| 中级用户 发帖 225 积分 499 | |
|
因为SYBC被设计为内嵌于脚本中,你可以不在磁盘中生成SYBC.COM文件.
而是直接把他从脚本中释放到内存,并在内存中运行. 当然如果你愿意,它也可以像一般三方工具那样被使用. 好吧,大家首先是要截图和下载地址,截图就在下边,是cmd脚本的实图哦! 至于下载地址,既然内嵌了,又何须下载?吧下面代码保存为cmd运行即可生成SYBC.com(此代码版本1.1.21 更新日期2010-3-10) ------------------------------------------------------------------------------- 好吧,现在大家手上应该有SYBC.com文件了吧,没有就生成一个. 接下来的问题是SYBC应该怎么用,SYBC分为基础与高级2中语法,(2者仅在速度上有差别,最终效果一至) 可以以SYBC.com文件形式运行,也可以直接运行于内存.(后者略快) ------------------------------------------------------------------------------- 使用SYBC之前需要初始化(特别是win2000/XP), 初始化的方法很简单,首先如果你要使用中文,需要在你的代码开头加上"(CHCP 437 &GRAFTABL 936)>NUL" 然后你需要运行一次无参数的SYBC,用户按任意键后初始化完成.:[语法图第1例] (由于没有提示,所以建议大家最好用echo告知用户要按任意键) ------------------------------------------------------------------------------- 基础语法:[语法图第2例] SYBC 位置颜色内容 SYBC 10303$F1SYBN#s 位置 5位数字第23位为行数第45位为列数 颜色 用$引导的2个16进制数,同color命令 内容 任意字符串 (注意不要使用$#;三个符号以免冲突) #号 无内容,保留此位置原内容仅改变颜色 $号 允许存在多个$号,分别控制之后的字符颜色 ------------------------------------------------------------------------------- 利用基础语法可以实现SYBC的全部效果, 如果觉得速度不满意,可以使用高级语法, 把多行基础语法合并成一行高级语法从而减少调用次数以加速. 不论使用什么语法,没次调用SYBC的时间都约0.01秒,瓶颈在硬盘的响应速度. 另外使用内嵌式调用,跳过磁盘直接运行SYBC可以进一步提高速度,但会牺牲代码可读性. ------------------------------------------------------------------------------- 高级语法: [语法图第3例] SYBC 10303$F1SYBN;2010 效果同 SYBC 10303$F1SYBN SYBC 10403$F12010 分号 是换行符可以再上一行的起点列从启一行继续 如果不使用换行符而写一个很长的字符串,则会像echo那样自然换行. [语法图第4例] SYBC 10303$F1SYBN;:10401$F12010 效果同 SYBC 10303$F1SYBN SYBC 10401$F12010 分号冒号 效果类似于脚本中的&符,可以吧两个SYBC命令连接在一起使用. 这样你几乎就可以吧所有连续出现的sybc命令合并成一行,速度会快很多. -------------------------------------------------------------------------------- 不过大家要注意com程序的参数是有长度限制的. 理论长度为127,实际可用长度为124,超过124则无法执行了! 当然,如果你使用后面的内嵌式调用,则没有这个限制了! -------------------------------------------------------------------------------- 内嵌式调用: 使用DEBUG可以方便的调用com程序,之前生成SYBC.com用的就是DEBUG, 我们是要稍微修改就可以用于内嵌式调用了! 首先,把SYBC.com的代码以16进制的形式保存在变量SYBCOM中然后把DEBUG指令保存在变量V中注意10是指参数长度的16进制值,在1.1.21版中它已经没用了,不用管它照着写或写别的16进制值都行. "10303$F1SYBN2010"就是参数了,记得两边加上冒号,这里的参数长度限制大约为65个字节 最后在调用它们--------------------------------------------------------------------------------------------------------- 当然你还是没有突破124参数限制,反而限制降低到了约65字节, 如何突破限制呢?修改变量V的值就可以了.大家不需要管为啥要这样写,只需要知道你可以吧参数分段,每段少于65字节,写在引号里就好了, 你可以写无限多个DB "XXXXXXXX"注意最后一个要加上0D不要忘记0D前的空格就好. 如有问题联系QQ:354324773 |
|
| 第11楼 sl543001 | 发表于 2010-03-31 18:50 |
| 中级用户 发帖 225 积分 499 | |
|
最新SYBC 1.1.31支持直接读取内存中的变量作为程序参数
大幅提高使用效率,相同内容显示时间减少三分之一以上 以斗地主为例:刷新时间由48降为27 SYBC 1.1.31正在测试中... 附件 ddz61.GIF (20.14 KiB) |
|
| 第12楼 sl543001 | 发表于 2010-03-31 18:57 |
| 中级用户 发帖 225 积分 499 | |
|
1.1.31版 内存调用模块 演示代码
将SYBC之后内容插入脚本,初始化后利用"call :SYBC 参数"即可 参数几乎可以无限长,只要不超过64K(想让参数超过64K也难啊) [ Last edited by sl543001 on 2010-3-31 at 19:00 ] |
|
| 第13楼 sl543001 | 发表于 2010-04-03 03:25 |
| 中级用户 发帖 225 积分 499 | |
|
1.1.31初步测试未发现BUG,正计划添加新功能:鼠标支持,延时
|
|
| 第14楼 sl543001 | 发表于 2010-04-18 23:09 |
| 中级用户 发帖 225 积分 499 | |
|
新教程及五子棋脚本开发实例 |
|
| 第15楼 sl543001 | 发表于 2010-04-19 21:28 |
| 中级用户 发帖 225 积分 499 | |
|
逐行注释了一部分汇编源代码:
|
|
| 1 2 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |