Metropoli BBS
VIEWER: piechart.bas MODE: TEXT (ASCII)
10   REM  ***************************************************************
15   REM  * NAME	PIECHART					*
20   REM  * VERSION	3.20						*
25   REM  * DATE	07/07/87					*
30   REM  * MODIFIED BY S.Y. Wu 					*
35   REM  ***************************************************************
40   DEF SEG=&H40
45   IF ( PEEK(&H10) AND &H30 ) <> &H30 THEN GOTO 1700
50   CLS : LOCATE 3,1
55   PRINT CHR$(7);"*****  IMPROPER DISPLAY ADAPTOR  *****"
60   PRINT : END
1700 DEF SEG
1710 key off
1800 DSAM$="NO"
1900 GOTO 2005
2000 DSAM$="YES"
2005 DIM R(100),A$(100)
2010 CLS
2020 SCREEN 1,0:COLOR 1,0
2030 LR=50:SR=44
2040 T$="The Operations of  S&S   Cor."
2050 N=6
2060 S=0
2070 FOR I=1 TO N
2080 READ R(I) : READ A$(I)
2090 S=S+R(I)
2100 NEXT
2110 FOR I=1 TO N:R(I)=R(I)/S:NEXT
2120 A2=0
2130 CLS
2140 LOCATE 2,20-LEN(T$)/2:PRINT T$
2150 LINE (8*(19.5-LEN(T$)/2)-8,7)-(8*(19.5+LEN(T$)/2)	,16),2,B
2160 FOR C=1 TO N
2170 A1=A2:A2=A2+R(C)*2*3.1415926#
2180 AA=(A1+A2)/2
2190 CX=160+COS(AA)*(LR-SR)
2200 CY=100-SIN(AA)*(LR-SR)
2210 CIRCLE (CX,CY),SR,1,-A1-.001,-A2,5/6
2220 PAINT (CX+COS(AA)*.8*SR,CY-SIN(AA)*.8*SR),C MOD 4,1
2230 LX=CX+COS(AA)*(16+SR)-4*LEN(A$(C)):LY=CY-SIN(AA)*(SR+16)
2240 LOCATE 1+(LY\8),1+(LX\8):PRINT A$(C);
2250 LINE ((LX\8)*8,8*((LY\8)+1))-((LX\8)*8+8*LEN(A$(C)),8*((LY\8)+1)),1
2260 NEXT C
2270 '
2280 DATA 30,"P C"
2290 DATA 10,"Mini Computer"
2300 DATA 14,"Peripheral"
2310 DATA 12,"Data Service"
2320 DATA 14,"Software"
2330 DATA  8,"Main Frame"
2340 LOCATE 1,1 :
2350 FOR X=1 TO 4000
2360 A$=INKEY$ : IF A$=CHR$(27) THEN 2390
2370 NEXT X
2380 SCREEN 0,1:IF DSAM$="YES" THEN CHAIN  "EARTH",2000 ELSE COLOR 7,0,0:WIDTH 80:CLS
2390 SCREEN 0,1:IF DSAM$="YES" THEN CHAIN  "cafdemo" ELSE COLOR 7,0,0:WIDTH 80:key on:CLS

[ RETURN TO DIRECTORY ]