画个矩形,自己玩
[size=3][size=4][color=Blue]画个矩形,自己玩[/color][/size][size=4][/size][size=4][color=Blue]作者: 未知[/color][/size][size=4]
[/size][size=4][color=Blue]转载代码 :在这里向原作者表示感谢..........
========================================================================================================
[/color][/size][size=4][color=Blue][color=Magenta]自己复制代码自己测试下,看效果。呵呵。根据它的提示输入字符,别瞎输入,输入错了,说代码有问题。其实代码没有一点问题,[/color][/color][/size][size=4][color=Blue][color=Magenta]别在楼下骂我就是了。[/color][/color][/size][color=Blue][size=4][color=Red][color=Magenta]我一点都不懂,只是帖出来,大家看下,玩一下而已。有兴趣的跟帖说明[/color].[/color][/size]
[color=Lime]〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓[/color]
[/color][size=4][color=Red][code]@echo off
color 0a
::::::::绘制矩形 {s11ss 2007-10-12}::::::::
setlocal enabledelayedexpansion
if "%1" equ "/?" (
call :help
echo 例如:%0 * 8 500
goto :eof
)
::设置变量:
if "%1" equ "" (
call :help
echo 现在就输入参数,如* 8 500:
set/p s=
for /f "tokens=1,2* delims= " %%a in ("!s!") do (
set c=%%a
set n=%%b
set w=%%c
)
) else (
set c=%1
set n=%2
set w=%3
)
set/a r=%n%-2
for /l %%a in (1,1,%n%) do (
set up=!up!%c%
for /l %%i in (1,1,%%a) do set down%%a=!down%%a!%c%
set/a t=%n%-%%a
::pause
for /l %%z in (1,1,!t!) do set down%%a= !down%%a!
if %%a leq %r% set space%r%= !space%r%!
)
set mid1=!space%r%! %c%
set mid2=%c%!space%r%!%c%
::分四步绘制:
::1.上边的棱
for /l %%a in (1,1,%n%) do (
cls
echo !up:~0,%%a!
call :delay
)
::2.右边的棱
>t.x echo !up!
for /l %%a in (1,1,%n%) do (
if %%a leq %r% (
echo !mid1!
>>t.x echo !mid1!
call :delay
)
)
::3.下边的棱
for /l %%a in (1,1,%n%) do (
cls
type t.x
echo !down%%a!
call :delay
)
::4.左边的棱
for /l %%a in (1,1,%n%) do (
if %%a leq %r% (
cls
echo !up!
set/a t=%r%-%%a
for /l %%i in (1,1,!t!) do (
echo !mid1!
)
for /l %%z in (1,1,%%a) do (
echo !mid2!
)
echo !up!
call :delay
)
)
::结束:
del t.x
pause>nul
goto :eof
::函数部分:
:delay
for /l %%x in (1,1,%w%) do (echo Waiting...>nul)
goto :eof
:help
echo 参数一:用于显示的字符,如*。
echo 参数二:一行字符的个数,如8。
echo 参数三:字符之间的延时,如500。[/code][/color][/size]
[/size]
[[i] 本帖最后由 lixiaodaoaaa 于 2008-9-29 17:11 编辑 [/i]] 呵呵,作者似乎不是未知啊
而是s11ss啊
我不认识啊,我是随便转转看到的
[size=5][color=Blue]我不认识啊,我是随便转转看到的[/color][color=Blue]我没有罪,youxi01,不要判我刑啊。。怕怕怕[/color][/size] 相信没罪!只怕要打屁屁!^_^
BUG
@echo offcolor 0a
::::::::绘制矩形 {s11ss 2007-10-12}::::::::
setlocal enabledelayedexpansion
if "%1" equ "/?" (
call :help
echo 例如:%0 * 8 500
goto :eof
)
::设置变量:
if "%1" equ "" (
call :help
echo 现在就输入参数,如* 8 500:
set/p s=
for /f "tokens=1,2* delims= " %%a in ("!s!") do (
set c=%%a
set n=%%b
set w=%%c
)
) else (
set c=%1
set n=%2
set w=%3
)
set/a r=%n%-2
for /l %%a in (1,1,%n%) do (
set up=!up!%c%
for /l %%i in (1,1,%%a) do set down%%a=!down%%a!%c%
set/a t=%n%-%%a
::pause
for /l %%z in (1,1,!t!) do set down%%a= !down%%a!
if %%a leq %r% set space%r%= !space%r%!
)
set mid1=!space%r%! %c%
set mid2=%c%!space%r%!%c%
::分四步绘制:
::1.上边的棱
for /l %%a in (1,1,%n%) do (
cls
echo !up:~0,%%a!
call :delay
)
::2.右边的棱
>t.x echo !up!
for /l %%a in (1,1,%n%) do (
if %%a leq %r% (
echo !mid1!
>>t.x echo !mid1!
call :delay
)
)
::3.下边的棱
for /l %%a in (1,1,%n%) do (
cls
type t.x
echo !down%%a!
call :delay
)
::4.左边的棱
for /l %%a in (1,1,%n%) do (
if %%a leq %r% (
cls
echo !up!
set/a t=%r%-%%a
for /l %%i in (1,1,!t!) do (
echo !mid1!
)
for /l %%z in (1,1,%%a) do (
echo !mid2!
)
echo !up!
call :delay
)
)
::结束:
del t.x
pause>nul
goto :eof
::函数部分:
:delay
for /l %%x in (1,1,%w%) do (echo Waiting...>nul)
goto :eof
:help
echo 参数一:用于显示的字符,如*。
echo 参数二:一行字符的个数,如8。
echo 参数三:字符之间的延时,如500。
输入20 就不是画框了 不知道画了个什么玩意 初来乍到,回复楼主一个, 看来第二个参数只能使用0-9~超出会有错误
页:
[1]