' ' © JM. :: Hecho en Ronda ' ' ' Procedente de... es.geocities.com/jm00092 ' '______________________________________________________________________ ' DECLARE SUB ps (h!, v!, lados!, paso!, radio!, colorlineas!, colorpintar!, pintarcentro!, pintarborde!, colorpoligono!) DIM SHARED p(0 TO 360, 1 TO 2) SCREEN 12 PALETTE 3, 25 PALETTE 6, 63 ps 320, 240, 13, 9, 200, 15, 6, 0, 1, 13 SLEEP ' ' © JM. :: Hecho en Ronda ' ' ' Procedente de... es.geocities.com/jm00092 ' '______________________________________________________________________ ' DIBUJA UN POLIGONO ESTRELLADO SUB ps (h, v, lados, paso, radio, colorlineas, colorpintar, pintarcentro, pintarborde, colorpoligono) FOR n1 = 0 TO 360 FOR n2 = 1 TO 2 p(n1, n2) = 0 NEXT NEXT m = 0 FOR n = 0 TO 360 STEP INT(360 / lados) m = m + 1 PSET (h, v), 0 DRAW "ta" + STR$(n) + "r" + STR$(radio) p(m, 1) = POINT(0) p(m, 2) = POINT(1) NEXT PSET (h, v), 0 n = 1 IF pintarborde THEN PSET (p(1, 1), p(1, 2)), 14 FOR nn = 2 TO lados LINE STEP(0, 0)-(p(nn, 1), p(nn, 2)), colorpoligono NEXT LINE STEP(0, 0)-(p(1, 1), p(1, 2)), colorpoligono FOR nn = 1 TO lados PSET (p(nn, 1), p(nn, 2)), 0 NEXT END IF PSET (p(1, 1), p(1, 2)), 14 conv = lados / paso DO n = n + paso IF n > lados THEN mas = n - lados n = mas END IF IF n < 1 XOR n > lados THEN BEEP END END IF s = POINT(p(n, 1), p(n, 2)) LINE STEP(0, 0)-(p(n, 1), p(n, 2)), colorlineas LOOP WHILE s = 0 IF pintarcentro THEN PAINT (320, 240), colorpintar, colorlineas END SUB