回 帖 发 新 帖 刷新版面

主题:运用递归法一例源程序(转贴)

'未标明(转贴)的均是我原创
'源程序如下所示:
SCREEN 12
DIM SHARED J
DRAW "BM320,460": CALL tree(440)
END
SUB JIAO (JAO) '此程序用来将画笔转一定角度。
  J = J + JAO
  IF J > 360 THEN J = J - 360
  IF J < -360 THEN J = J + 360
  DRAW "TA=" + VARPTR$(J)
  PLAY "T255P64" '此句仅为放慢速度。
END SUB
SUB tree (C) '画树子程序。
  IF C < 18 THEN DRAW "C2NU=" + VARPTR$(C): EXIT SUB'画完树叶后返回。
  C3 = C / 3
  DRAW "C4U=" + VARPTR$(C3)
  CALL JIAO(45): CALL tree(C / 2)'逆时针转45度后画左子树。
  CALL JIAO(-45): CALL tree(2 * C / 3)'顺时针转45度后画中子树。
  CALL JIAO(-45): CALL tree(C / 2)'顺时针转45度后画右子树。
  CALL JIAO(45) '逆时针转45度后回到原方向。
  DRAW "C7D=" + VARPTR$(C3)
END SUB

回复列表 (共1个回复)

沙发

好帖好帖
学画图的都要来学习学习

我来回复

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