100 DIM height(7),min(7),max(7),increment(7),value(7)
110 RESTORE 
120 CLS
130 FOR i=1 TO 7
140 READ min(i),max(i),increment(i),value(i):height(i)=0
150 draw i
160 END FOR i
170 REPeat char
180 a$=INKEY$(-1)
190 i=a$ INSTR "asdfghj"
200 IF i>0 THEN 
210 IF value(i)<max(i) THEN 
220 value(i)=value(i)+increment(i)
230 draw i
240 END IF 
250 END IF 
260 i=a$ INSTR "zxcvbnm"
270 IF i>0 THEN 
280 IF value(i)>min(i) THEN 
290 value(i)=value(i)-increment(i)
300 draw i
310 END IF 
320 END IF 
330 IF a$<>" " THEN 
340 BEEP 0,value(1),value(2),value(3),value(4),value(5),value(6),value(7)
350 ELSE 
360 BEEP
370 END IF 
380 END REPeat char
390 DEFine PROCedure draw(no)
400 LOCal i,j,k
410 i=INT((value(no)-min(no))/(max(no)-min(no))*186)
420 j=no*48
430 k=height(no)-i
440 IF k<0 THEN BLOCK 40,-k,j,186-i,(no*2 MOD 6)+2,(no*2) DIV 6
450 IF k>0 THEN BLOCK 40,k,j,186-i-k,0
460 height(no)=i
470 CURSOR j,188
480 i=value(no)
490 PRINT i;FILL$(" ",7-LEN(i));
500 END DEFine 
510 DATA 0,100,1,0,0,100,1,0,0,10000,50,1000
520 DATA -8,7,1,0,0,15,1,0,0,15,1,0,0,15,1,0
