|
bat-zw
金牌会员
永远的学习者
积分 3105
发帖 1276
注册 2008-3-8
状态 离线
|
|
2008-5-25 21:57 |
|
|
PPdos
高级用户
积分 783
发帖 268
注册 2006-12-26
状态 离线
|
『第
2 楼』:
呵呵 有意思,有空研究一下楼兄代码
|
菩提本无树,明镜亦非台,本来无一物,何处惹尘埃. |
|
2008-5-25 22:03 |
|
|
26933062
银牌会员
积分 2268
发帖 879
注册 2006-12-19
状态 离线
|
『第
3 楼』:
转一个 弹球的。
@echo off&setlocal enabledelayedexpansion
mode con: cols=81 lines=30&color 1f
:: code by 随风@bbs.bathome.cn 2008/01/03
:loop
for /l %%a in (1 1 40) do (
if defined sang (
cls&set /a di-=1
for /l %%i in (1 1 !di!) do echo.
) else (echo.&set /a di+=1)
if defined zuo (set ko=!ko:~1!) else set ko= !ko!
set /p=!ko!●<nul
for /l %%i in (1 1 80) do ver>nul
set /p= <nul
if not "!ko:~38,1!"=="" set zuo=ok
if "!ko!"=="" set zuo=&set "ko= "
if !di! lss 0 set sang=&goto loop
if !di! geq 29 set sang=ok&goto loop
)
|
致精致简! |
|
2008-5-25 22:26 |
|
|
PPdos
高级用户
积分 783
发帖 268
注册 2006-12-26
状态 离线
|
『第
4 楼』:
强中自有强中手阿 呵呵
|
菩提本无树,明镜亦非台,本来无一物,何处惹尘埃. |
|
2008-5-25 22:37 |
|
|
bat-zw
金牌会员
永远的学习者
积分 3105
发帖 1276
注册 2008-3-8
状态 离线
|
『第
5 楼』:
&&汗水。。。本来还想继续写出这个无限弹球来,现在从思路上一对比,还是做罢,
先好好学习下别人了。。。
ps:不过发现其轨迹固定,似有提高空间。。
[ Last edited by zw19750516 on 2008-5-25 at 10:53 PM ]
|
批处理之家新域名:www.bathome.net |
|
2008-5-25 22:48 |
|
|
WANKOILZ
初级用户
积分 198
发帖 89
注册 2007-9-6 来自 重庆
状态 离线
|
『第
6 楼』:
3楼的好简洁,思路NB。轨迹确实会重复,我想是因为“弹”的时候弹出角度是固定的45度,轨迹重复是难免的。
|
|
2008-5-25 23:20 |
|
|
bat-zw
金牌会员
永远的学习者
积分 3105
发帖 1276
注册 2008-3-8
状态 离线
|
『第
7 楼』:
Quote: | Originally posted by WANKOILZ at 2008-5-25 23:20:
3楼的好简洁,思路NB。轨迹确实会重复,我想是因为“弹”的时候弹出角度是固定的45度,轨迹重复是难免的。 |
|
请看看下面的轨迹是不是重复的:
@echo off&mode con cols=60 lines=20
setlocal enabledelayedexpansion
title 调皮的汉字-zw19750516
set code=23456789abcdef我是调皮的汉字&set "b= "
set code1=%code:~14%&set d=-1
:begin
set n=0&set m=0&set x=+
set /a lm=%random%%%59,lr=%random%%%2,c=%random%%%14,d+=1
if %d% equ 7 set d=0
set a=!code1:~%d%,1!&set c=!code:~%c%,1!
color 0%c%
if %lm% equ 0 (
set z=+
) else (
if %lm% equ 57 (
set z=-
) else (
if %lr% equ 0 (
set z=-
) else (
set z=+
)
)
)
:contin
cls&for /l %%i in (1,1,%n%) do echo.
set "kong="
set /a n%x%=1,lm%z%=1,m+=1
if %n% equ 0 if %m% geq 100 goto begin
if %lm% equ 0 set z=+
if %lm% equ 57 set z=-
for /l %%i in (1,1,%lm%) do set kong=!kong!%b%
set str=%kong%%a%
if %n% equ 20 set x=-&goto contin
if %n% equ 0 set x=+&goto contin
echo %str%&ping /n 127.1>nul
goto contin
[ Last edited by zw19750516 on 2008-5-26 at 11:10 AM ]
|
批处理之家新域名:www.bathome.net |
|
2008-5-26 00:45 |
|
|
clian76
中级用户
积分 363
发帖 162
注册 2007-4-22
状态 离线
|
|
2008-5-26 23:36 |
|
|
WANKOILZ
初级用户
积分 198
发帖 89
注册 2007-9-6 来自 重庆
状态 离线
|
『第
9 楼』:
支持7楼一个,有耐性。轨迹也没重复了,不过运行起来感觉效率不太高,不如3楼的流畅。
|
|
2008-5-27 14:52 |
|
|
523066680
银牌会员
SuperCleaner
积分 2362
发帖 1133
注册 2008-2-2
状态 离线
|
『第
10 楼』:
我觉得,都是在同一个框框中,走重复的路是必然的,应该是属于"运动周期"的问题.
bat-zw前辈的只是因为设置成这样,并非效率问题
把自己那个随机游动粒子
改了又改……如下
@echo off &setlocal enabledelayedexpansion
title 这一版本code by hi.baidu.com/523066680
color 17 &mode con cols=60 lines=30
for /l %%a in (1,1,60) do (set space= !space!)
set /a La=14,Lb=28,Ca=29,Cb=56,r=1,r2=1
:loop
if %La% lss 28 (set /a La+=r2,line=La) else (set /a Lb-=r2,line=Lb)
if %Lb% leq 1 (set /a La=-1,Lb=29,r=%random%%%3+2,r2=2-r%%2)
if %Ca% lss 55 (set /a Ca+=r,col=Ca) else (set /a Cb-=r,col=Cb)
if %Cb% leq 4 (set /a Ca=0,Cb=56,r=%random%%%3+1)
cls
for /l %%a in (1,1,%line%) do echo,
echo,!space:~0,%col%!●
ping -n 1 127.1>nul
goto :loop
|
综合型编程论坛
我的作品索引 |
|
2008-12-13 10:35 |
|