home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / genie-commodore-file-library / C64Software / COLOR-BAR-GRAPH (.txt) < prev    next >
Encoding:
Commodore BASIC  |  2019-04-13  |  2.1 KB  |  77 lines

  1. 10 DIM A(37),L$(37),KO(7)
  2. 20 FOR J=1 TO 7:READ KO(J):NEXT J
  3. 30 FOR J=1 TO 38:B$=B$+" ":NEXT J
  4. 40 M=0:I=1:Z=1
  5. 49 REM --SET BORDER AND SCREEN COLORS--
  6. 50 POKE 53280,0:POKE 53281,0
  7. 59 REM --GET NAME OF ITEM--
  8. 60 GOSUB 1000:IF I<>20 THEN 100
  9. 70 POKE 214,3:PRINT:PRINT CHR$(28);"WARNING!  IF YOU ADD MORE ITEMS, THERE"
  10. 80 PRINT TAB(7);"WILL BE NO SPACE BETWEEN THE"
  11. 90 PRINT TAB(11);"BARS IN YOUR GRAPH."
  12. 99 REM --"POKE 214,7" PUTS CURSOR ON LINE 7+1--
  13. 100 POKE 214,7:PRINT
  14. 110 PRINT CHR$(5);"PLEASE ENTER NAME OF ITEM #";STR$(I);"."
  15. 120 IF I=1 THEN 150
  16. 130 PRINT"(JUST PRESS <RETURN> IF"
  17. 140 PRINT"YOU HAVE NO MORE ITEMS.)"
  18. 150 PRINT:L$(I)="":INPUT L$(I)
  19. 160 IF L$(I)<> "" THEN 220
  20. 170 IF I=1 THEN 60
  21. 180 POKE 214,13:PRINT:PRINT CHR$(158);"ARE YOU FINISHED ENTERING ITEMS?";
  22. 190 GET K$:IF K$="" THEN 190
  23. 200 IF K$="Y" THEN 280
  24. 210 GOTO 60
  25. 219 REM --GET VALUE OF THAT ITEM--
  26. 220 GOSUB 1000:POKE 214,7:PRINT
  27. 230 PRINT CHR$(5);"WHAT IS THE VALUE FOR"
  28. 240 PRINT "ITEM #";STR$(I);" (";L$(I);")";
  29. 250 A(I)=0:INPUT A(I):IF A(I)<0 THEN 220
  30. 260 IF M<A(I) THEN M=A(I)
  31. 270 I=I+1:IF I<38 THEN 60
  32. 280 I=I-1:IF M=0 THEN M=1
  33. 290 PRINT CHR$(147);
  34. 300 PRINT CHR$(5);"WHAT IS THE TITLE OF YOUR GRAPH?"
  35. 310 PRINT:T$="":INPUT T$:IF T$="" THEN 290
  36. 320 IF LEN(T$)>38 THEN T$=LEFT$(T$,38)
  37. 330 C=INT(21-(INT(38/I)*I)/2)
  38. 339 REM --DRAW GRAPH--
  39. 340 PRINT CHR$(147);CHR$(158):PRINT
  40. 350 PRINT TAB(C-1);CHR$(157    
  41. 3227 hFOR J=1 TO 18:PRINT TAB(C-1);CHR$(125):NEXT J
  42. 370 PRINT TAB(C-1);"0"
  43. 380 LW=INT(38/I)+(I<20)
  44. 390 FOR J=1 TO I
  45. 400 PRINT CHR$(KO(Z))
  46. 410 POKE 214,20:PRINT:PRINT TAB(C);
  47. 420 IF LEN(L$(J))>=LW THEN PRINT LEFT$(L$(J),LW):GOTO 440
  48. 430 PRINT L$(J)
  49. 440 CH=INT(A(J)/M*18+0.5):IF CH<1 THEN 500
  50. 450 FOR K=1 TO CH
  51. 459 REM --"POKE 211,C" PUTS THE CURSOR IN COLUMN C+1--
  52. 460 POKE 214,20-K:PRINT:POKE 211,C
  53. 470 PRINT CHR$(18);LEFT$(B$,LW);CHR$(146)
  54. 480 NEXT K
  55. 490 Z=Z+1:IF Z=8 THEN Z=1
  56. 500 C=C+INT(38/I):NEXT J
  57. 510 POKE 214,21:PRINT
  58. 520 PRINT CHR$(5);TAB(20-LEN(T$)/2);CHR$(18);T$;CHR$(146)
  59. 530 PRINT:PRINT TAB(6);"(PRESS ANY KEY TO CONTINUE.)";
  60. 540 GET K$:IF K$ = "" THEN 540
  61. 550 PRINT CHR$(147);"PRESS <D> TO DRAW ANOTHER GRAPH"
  62. 560 PRINT "OR <Q> TO QUIT."
  63. 570 GET K$:IF K$="" THEN 570
  64. 580 IF K$="Q" THEN END
  65. 590 IF K$="D"THEN 40
  66. 600 GOTO 570
  67. 999 REM --SET UP SCREEN FOR INPUT--
  68. 1000 PRINT CHR$(147);CHR$(153);TAB(15);"*BAR GRAPH*"
  69. 1010 POKE 214,20:PRINT
  70. 1020 PRINT CHR$(18);CHR$(28);
  71. 1030 PRINT TAB(2);" YOU HAVE ROOM LEFT FOR";
  72. 1040 PRINT CHR$(146);38-I;
  73. 1050 PRINT CHR$(18);" ITEM(S)."CHR$(146)
  74. 1060 RETURN
  75. 1999 REM --HERE ARE COLORS OF BARS--
  76. 2000 DATA 28,30,31,129,156,158,159
  77.