返回列表 发帖
本帖最后由 happy886rr 于 2017-3-18 18:51 编辑

回复 30# 老刘1号
你画的是有点偏差了,应该这样画(外链图,随时失效)
@echo off
mode con cols=300 lines=80
setlocal enabledelayedexpansion
set "Space=                                                                                                    "
set/a "L=(1<<7)-1"
for /l %%i in (0,1,!L!) do (
set/a "1/(%%i&1)" 2>NUL || (
set/a "SL=(L-%%i)>>1"
for %%j in (!SL!) do (
set "PreSpace=!Space:~0,%%j!"
)
for /l %%j in (0,1,!L!) do (
set/a "1/((%%i&%%j)-%%j)" 2>NUL && (
set "PreSpace=!PreSpace! "
) || (
set "PreSpace=!PreSpace!*"
)
)
echo;!PreSpace!
)
)
set/p=LEVEL: 7COPY
2

评分人数

TOP

回复 29# 523066680
Matrix67的方法就是好用。

TOP

@echo off & setlocal enabledelayedexpansion
set /a "w=80,h=35,t=w*h,xc=w/2,yc=h/2"
mode %w%,40
for /l %%i in (1 1 !t!) do set "s=!s! "
call :f 0 -16 32 s
echo;!s! &pause &exit
:f xtop ytop hei s
REM 半顶角对边与底角对边比: 1:1 , hei <= 1, 绘 3 点, 否则递归
setlocal
set "s=!%4!"
if %3 leq 1 (
    set /a "a=%1 - 1, d=b=%2 + 1, c= %1 + 1"
    call :d %1 %2 & call :d !a! !b! & call :d !c! !d!
) else (
    set /a "h=%3 >> 1, a= %1 - h, d=b=%2 + h, c= %1 + h"
    call :f %1 %2 !h! %4 & call :f !a! !b! !h! %4 & call :f !c! !d! !h! %4
)
(
endlocal
set "%4=%s%"
exit /b
)
:d
set /a "i=%1-xc + (%2-yc) * w + 1, L=i-1"
for /f "tokens=1,2" %%a in ("!L! !i!") do (set s=!s:~0,%%a!*!s:~%%b!)
exit /bCOPY
1

评分人数

TOP

返回列表