中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-09 22:46
47,811 主题排行 / 349,897 发帖 / 今日 2 篇 / 48,255 会员排行
DOS批处理 & 脚本技术(批处理室) » 【视觉类】从中间逐渐扩大再变小的方形框框+变色
可打印版本  5,038 / 17
第1楼 523066680 发表于 2008-05-25 13:08
银牌会员 发帖 1,133 积分 2,362
【视觉类】从中间逐渐扩大再变小的方形框框+变色
::这一版本的编辑---if exist Q523066680

@echo off&mode con cols=60 lines=30 &color 0a
setlocal enabledelayedexpansion
set omax=oooooooooooooooooooooooooooooooooooooooo
set kmax=%omax:o= %
set n=4

:a
set /a n+=4
set /a upkh=15-%n%/4,kleft=30-%n%/2,zk=%n%-4,zkh=%n%/2-2
set leftk=!kmax:~0,%kleft%!
set zk=oo!kmax:~0,%zk%!oo
set hang=!omax:~0,%n%!
for /l %%a in (1,1,%upkh%) do echo.
echo.%leftk%%hang%
for /l %%a in (1,1,%zkh%) do echo.%leftk%%zk%
echo.%leftk%%hang%
echo.%n%
for /l %%a in (1,1,2) do ping -n>nul
cls
if %n%==40 set /a n=4
goto a

[ Last edited by 523066680 on 2008-7-8 at 10:01 PM ]
第2楼 523066680 发表于 2008-05-25 13:10
银牌会员 发帖 1,133 积分 2,362
改了一下--从小到大 从大到小 只加了两行
@echo off&mode con cols=64 lines=32 &color 0a
setlocal enabledelayedexpansion
set omax=oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
set kmax=%omax:o= %
set /a a=0,b=64

:a
if %a% leq 56 (set /a a+=4,n=%a%) else (set /a b-=4,n=%b%)
if %b% equ 0 (set /a a=4,b=60)

set /a upkh=16-%n%/4,kleft=32-%n%/2,zk=%n%-4,zkh=%n%/2-2
set leftk=!kmax:~0,%kleft%!
set zk=oo!kmax:~0,%zk%!oo
set hang=!omax:~0,%n%!
for /l %%a in (1,1,%upkh%) do echo.
echo.%leftk%%hang%
for /l %%a in (1,1,%zkh%) do echo.%leftk%%zk%
echo.%leftk%%hang%
echo.%n%
ping -n>nul
cls
goto a

[ Last edited by 523066680 on 2008-6-3 at 05:08 PM ]
第3楼 ThinKing 发表于 2008-05-26 01:19
中级用户 发帖 207 积分 471
不错,加分鼓励一下~~
第4楼 joytuyong1 发表于 2008-05-26 07:07
初级用户 发帖 39 积分 101
请问里面的
upkh=15-%n%/4,kleft=30-%n%/2,zk=%n%-4,zkh=%n%/2-2
这些数字的比例是怎么算的
可不可以画个圆形
第5楼 clian76 发表于 2008-05-26 23:12
中级用户 发帖 162 积分 363
厉害
第6楼 WANKOILZ 发表于 2008-05-28 14:14
初级用户 发帖 89 积分 198 来自 重庆
好看,效果不错,特别是2楼的。
第7楼 radem 发表于 2008-05-28 23:03
高级用户 发帖 383 积分 691
为什么我看不见效果
第8楼 HAT 发表于 2008-05-28 23:15
版主 发帖 5,017 积分 9,023
Originally posted by radem at 2008-5-28 11:03 PM:
为什么我看不见效果:(

你的系统版本?
你保存的批处理名称?
有没有报错信息?

[ Last edited by HAT on 2008-5-29 at 12:39 PM ]
第9楼 vkill 发表于 2008-05-29 18:17
金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽
厉害
第10楼 radem 发表于 2008-05-29 18:25
高级用户 发帖 383 积分 691
Originally posted by HAT at 2008-5-28 11:15 PM:

你的系统版本?
你保存的批处理名称?
有没有报错信息?

[ Last edited by HAT on 2008-5-29 at 12:39 PM ]


1.WIN XPSP2
2.t.bat
3.no!

YYYYY???
第11楼 c442409110 发表于 2008-05-30 02:04
初级用户 发帖 9 积分 20
强人
第12楼 feixingzt 发表于 2008-06-01 23:32
新手上路 发帖 5 积分 10

第13楼 523066680 发表于 2008-06-03 17:16
银牌会员 发帖 1,133 积分 2,362
我的帖终于有人看了!!高兴!
我2楼的代码重点是在 红色部分 我想让框框放大又变小,又不想让代码增加太多

那两个if 是我想了很久的成果呢!




个人认为如果要做一个圆形放大 应该先尝试做一个显示 二次函数图像的批处理
我会努力的,不过放暑假后才有的上网了 大家也可以多多尝试啊

以上批处理的要点是---确定中心坐标(横32,竖16),
计算上面空行的行数
计算左边空格数
00中间空格数00 以及这种行的个数
第14楼 523066680 发表于 2008-06-22 12:34
银牌会员 发帖 1,133 积分 2,362
看我把它改成彩色版的!(论坛终于开放了!~)
::这一版本的编辑---if exist Q523066680
@echo off&mode con cols=68 lines=34
setlocal enabledelayedexpansion
set omax=oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
set kmax=%omax:o= %
set /a a=0,b=60
set /a num1=0,num=0
for %%C in (1 2 3 4 5 6) do (
set /a num1+=1
set color!num1!=%%C
)


:a
if %num% leq 5 (set /a num+=1) else set num=0
color !color%num%!

if %a% leq 56 (set /a a+=4,n=%a%) else (set /a b-=4,n=%b%)
if %b% equ 0 (set /a a=4,b=60)

set /a upkh=17-%n%/4,kleft=32-%n%/2,zk=%n%-4,zkh=%n%/2-2
set leftk=!kmax:~0,%kleft%!
set zk=oo!kmax:~0,%zk%!oo
set hang=!omax:~0,%n%!
for /l %%a in (1,1,%upkh%) do echo.
echo.%leftk%%hang%
for /l %%a in (1,1,%zkh%) do echo.%leftk%%zk%
echo.%leftk%%hang%
echo.%n%
for /l %%g in (1,1,8000) do rem
cls
goto a

[ Last edited by 523066680 on 2008-7-14 at 07:45 AM ]
第15楼 driver1998 发表于 2008-06-25 13:31
高级用户 发帖 373 积分 740 来自 中国,广东
用P做这些东西就是CPU占用特高,楼上的那个一开CPU占用就到%60!
1 2  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023