1: DECLARE SUB Render3DBox (x!, y!, wd!, ht!, vpx!, vpy!, c1!, c2!, dp!) 2: DECLARE SUB Sleep1 (n!) 3: SCREEN 12 4: 5: Render3DBox 100, 100, 40, 40, x, y, 15, 1, 20 6: Render3DBox 100, 100, 40, 40, x, y, 0, 0, 20 7: 8: SUB Render3DBox (x, y, wd, ht, vpx, vpy, c1, c2, dp) 9: LINE (x, y)-(x + wd, y + ht), c1, B 10: IF (vpx < x) OR (vpy < y) THEN LINE (x, y)-(vpx, vpy), c1 ' upper left 11: IF (vpx > x + wd) OR (vpy < y) THEN LINE (x + wd, y)-(vpx, vpy), c1 ' lower left 12: IF (vpx < x) OR (vpy > y + ht) THEN LINE (x, y + ht)-(vpx, vpy), c1 ' upper right 13: IF (vpx > x + wd) OR (vpy > y + ht) THEN LINE (x + wd, y + ht)-(vpx, vpy), c1 ' lower right 14: LINE (x + 1, y + 1)-(x + wd - 1, y + ht - 1), c2, BF 15: END SUB 16: 17: SUB Sleep1 (n) 18: a = TIMER + n 19: DO UNTIL TIMER >= a: LOOP 20: END SUB 21: |