DECLARE SUB Render3DBox (x!, y!, wd!, ht!, vpx!, vpy!, c1!, c2!, dp!) DECLARE SUB Sleep1 (n!) SCREEN 12 Render3DBox 100, 100, 40, 40, x, y, 15, 1, 20 Render3DBox 100, 100, 40, 40, x, y, 0, 0, 20 SUB Render3DBox (x, y, wd, ht, vpx, vpy, c1, c2, dp) LINE (x, y)-(x + wd, y + ht), c1, B IF (vpx < x) OR (vpy < y) THEN LINE (x, y)-(vpx, vpy), c1 ' upper left IF (vpx > x + wd) OR (vpy < y) THEN LINE (x + wd, y)-(vpx, vpy), c1 ' lower left IF (vpx < x) OR (vpy > y + ht) THEN LINE (x, y + ht)-(vpx, vpy), c1 ' upper right IF (vpx > x + wd) OR (vpy > y + ht) THEN LINE (x + wd, y + ht)-(vpx, vpy), c1 ' lower right LINE (x + 1, y + 1)-(x + wd - 1, y + ht - 1), c2, BF END SUB SUB Sleep1 (n) a = TIMER + n DO UNTIL TIMER >= a: LOOP END SUB