回 帖 发 新 帖 刷新版面

主题:圣诞节到了,发个小程序,大家娱乐娱乐一下

RANDOMIZE TIMER
SCREEN 12
COLOR 3
pi = 3.1415926#
k = .55
DO
q = INT(3 + RND * 20)
CLS
  FOR d = 12 TO 36
   ys = d / 3
   FOR c = 12 TO 36
    LOCATE 30, 72: PRINT TIME$;
    xs = c / 3
    FOR i = 0 TO 300
     temp = (xs + k * SIN(ys)) * COS(2 * pi / q) + ys * SIN(2 * pi / q)
     ys = -(xs + k * SIN(ys)) * SIN(2 * pi / q) + ys * COS(2 * pi / q)
     xs = temp
     x = INT(xs * 8)
     y = INT(ys * 8)
     IF (i > 10) THEN PSET (x + 320, 240 - y), c / 3
    NEXT
    IF INKEY$ = CHR$(27) THEN END
   NEXT
  NEXT
LOOP WHILE INKEY$ <> CHR$(27)   '按ESC退出程序

回复列表 (共31个回复)

沙发

运行时会怎么样

板凳

就一个画图的程序,运行一下不就看到了

3 楼

不错吗
我很高兴能看到你的东西
谢谢你了

4 楼

DECLARE SUB sj1 (i AS INTEGER, x AS SINGLE, y AS SINGLE)
REM digui example
DIM index AS INTEGER
DIM number AS INTEGER
SCREEN 12
CALL sj1(0, 320, 160)
SYSTEM

SUB sj1 (i AS INTEGER, x AS SINGLE, y AS SINGLE)
DIM index AS INTEGER
DIM x1 AS SINGLE
DIM y1 AS SINGLE
PSET (x, y), i
FOR index = 0 TO 2
LINE (x + 300 * (.5 ^ i) * COS(index * (6.28 / 3) + 3.1415 / 2), y + 300 * (.5 ^ i) * SIN(index * (6.28 / 3) + 3.1415 / 2))-(x + 300 * (.5 ^ i) * COS((index + 1) * (6.28 / 3) + 3.1415 / 2), y + 300 * (.5 ^ i) * SIN((index + 1) * (6.28 / 3) + 3.1415 _
/ 2)), 4
IF i <= 5 THEN
  x1 = x + 150 * (.5 ^ i) * COS(index * (6.28 / 3) + 3.1415 / 2)
  y1 = y + 150 * (.5 ^ i) * SIN(index * (6.28 / 3) + 3.1415 / 2)
  CALL sj1(i + 1, x1, y1)
END IF
NEXT index
END SUB

5 楼

啊!好久没看到用递归画图了,评分“很满意”

6 楼

我觉得两位发的程序都很好。特别是楼主的。

7 楼

没错 楼主的程序真的很不错

8 楼

TO ljxh401兄
在你的画点语句PSET (x, y), i前或后,加上一个延时语句是不是更好呢?否则程序一运行图就画好了,延时有动态效果。建议加上像这样:
s=TIMER
DO UNTIL TIMER-s>.04'依情况而定
LOOP

9 楼

运行时什么也没有啊,你编错了没有啊?(楼主)

10 楼

很漂亮的图案,还有立体感,楼主不简单!
第四楼的就没有那么好看了。也可以。

我来回复

您尚未登录,请登录后再回复。点此登录或注册