Fixed link URLs
[qbasicapps.git] / graphics / poly.bas
1 ' Plygon mapping\r
2 ' made by Svjatoslav Agejenko\r
3 ' in 2001\r
4 ' H-Page: svjatoslav.eu\r
5 ' E-Mail: svjatoslav@svjatoslav.eu\r
6  \r
7 DEFINT A-Z\r
8 DECLARE SUB fp (x1, y1, x2, y2, x3, y3, c)\r
9 SCREEN 13\r
10 \r
11 2\r
12 x1 = RND * 318 + 1\r
13 y1 = RND * 198 + 1\r
14 \r
15 x2 = RND * 318 + 1\r
16 y2 = RND * 198 + 1\r
17 \r
18 x3 = RND * 318 + 1\r
19 y3 = RND * 198 + 1\r
20 \r
21 \r
22 fp x1, y1, x2, y2, x3, y3, RND * 255\r
23 IF INKEY$ <> "" THEN SYSTEM\r
24 GOTO 2\r
25 \r
26 SUB fp (x1, y1, x2, y2, x3, y3, c)\r
27 DIM yb(-10 TO 210)\r
28 \r
29 mx1 = x1\r
30 my1 = y1\r
31 mx2 = x2\r
32 my2 = y2\r
33 GOSUB mkl\r
34 mx1 = x1\r
35 my1 = y1\r
36 mx2 = x3\r
37 my2 = y3\r
38 GOSUB mkl\r
39 mx1 = x3\r
40 my1 = y3\r
41 mx2 = x2\r
42 my2 = y2\r
43 GOSUB mkl\r
44 GOTO 1\r
45 \r
46 mkl:\r
47 IF my2 < my1 THEN SWAP my1, my2: SWAP mx1, mx2\r
48 FOR y = my1 TO my2 - 1\r
49 x = mx1 + (mx2 - mx1) * ((y - my1) / (my2 - my1))\r
50 IF yb(y) = 0 THEN\r
51 yb(y) = x\r
52 ELSE\r
53 LINE (x, y)-(yb(y), y), c\r
54 END IF\r
55 NEXT y\r
56 RETURN\r
57 1\r
58 END SUB\r
59 \r