最近用批处理画了一些图形,觉得很好玩,拿出来给大家分享下。
<1>作关于x轴对称的曲线- @echo off&setlocal enabledelayedexpansion
- set a=O
- for /l %%i in (1 1 10) do (
- for /l %%j in (1 1 %%i) do set "str=!!str!! "
- echo !str!!a!
- ping -n 1 127.1>nul
- )
- set t=!str!
- for /l %%i in (10 -1 2) do (
- set "t=!t:~%%i!"
- echo !t!!a!
- ping -n 1 127.1>nul
- )
- pause
复制代码 这个还有多方法,弯曲程度,大小都可以变,大家都来尝试看啊。
<2>画矩形- @echo off&setlocal enabledelayedexpansion
- :begin
- set /p length=请输入长度:
- set /p width=请输入宽度:
- set "c=│"&set "l=─"
- set "w=┏"&set "x=┓"&set "y=┗"&set "z=┛"
- set /a _length=%length%-1
- set /a _width=%width%-1
- for /l %%k in (1 1 !_length!) do set "str=!str! "
- set "var= "
- for /l %%i in (1 1 %length%) do set "var=!var!%l%"
- set var1=!w!!var:~1,-1!!x!
- echo !var1!
- for /l %%j in (1 1 %_width%) do echo !c!!str!!c!
- set var2=!y!!var:~1,-1!!z!
- echo !var2!
- set str=
- set var=
- goto begin
复制代码 感觉矩形挺简单的,可还是费了不少功夫,希望大家有更简单的代码啊。
<3>画圆- @echo off&setlocal enabledelayedexpansion
- set "str= "
- for /l %%i in (0 1 20) do (
- for /l %%j in (0 1 20) do (
- set /a num1=10-%%i,num2=10-%%j
- set /a num=!num1!*!num1!+!num2!*!num2!
- set /a num-=100
- if !num! lss 0 set /a num=-num
- if !num! lss 4 ( set /p=o<nul) else set /p=!str!<nul
- )
- echo.
- )
- pause
复制代码 唉,这个也是最不成功的,批处理下好像不能处理浮点数吧,我也只能写出这么粗糙的代码了,设置了数值为4的误差,因为若误差为0,这样的点寥寥无几,必须得半径很大才会多些,但这样又显得很空,结合图形的效果,我也只能达到这样了,希望大家有更好的改进方法啊。
欢迎大家跟帖讨论!! |