实现了逐步画图,但效果实在不怎么样:- @echo off&setlocal enabledelayedexpansion
- set /p l=请输入正方形的边长(小于46的偶数):
- echo exit|%ComSpec% /k prompt e 100 B4 00 B0 12 CD 10 B0 03 CD 10 CD 20 $_g$_q$_|debug>nul
- chcp 437 >nul
- graftabl 936 >nul
- set /a g=l/2,kk=40-l/2,l1=l-1,g1=g-2,s1=l,s2=s1+g1,s3=s2+l
- for /l %%a in (1,1,%kk%) do set "kkk=!kkk! "
- for /l %%a in (1,1,%l1%) do set "k1=!k1! "
- echo.&echo.
- for /l %%a in (1,1,%l%) do set /a n+=1&set "_!n!=."
- for /l %%a in (1,1,%g1%) do set /a n+=1&set "_!n!=%k1%."
- for /l %%a in (1,1,%l%) do (
- set /a a=l-%%a
- for /l %%b in (1,1,!a!) do set "k2=!k2! "
- for /l %%c in (1,1,%%a) do set ".=!.!."
- set /a n+=1&set "_!n!=!k2!!.!"&set "k2="&set ".="
- )
- set /a n+=g1
- for /l %%a in (1,1,%n%) do (
- for /l %%b in (1,1,%%a) do (
- if %%b leq %s1% (
- if %%b equ 1 set /p=%kkk%<nul>temp
- set /p=!_%%b!<nul>>temp
- if %%b equ %s1% echo.>>temp
- ) else (
- if %%b leq %s2% (
- echo %kkk%!_%%b!>>temp
- ) else (
- if %%b leq %s3% (
- set /a a=kk+%%b
- for /l %%c in (1,1,!a!) do set /p= <nul>>temp
- set /p=%kkk%!_%%b!<nul>>temp
- )
- )
- )
- )
- cls&type temp
- if %%a gtr %s3% (
- set /a a=s2+s3-%%a
- for /l %%d in (%s2%,-1,!a!) do set "a=!_%%d!"&set "a=.!a:~1!"&set "_%%d=!a!"
- )
- )
- pause>nul&del /q temp
复制代码
[ 本帖最后由 batman 于 2009-3-5 23:31 编辑 ] |