home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 5 / FREESOFT.BIN / fb386 / rac / rac.bas next >
BASIC Source File  |  1992-08-19  |  2KB  |  78 lines

  1. 10 '
  2. 20 '
  3. 30 '  RANDOM ACCESS CD PLAYER    
  4. 50 '                  
  5. 60 '                  
  6. 70 CLS:CLEAR
  7. 80 SCREEN@ 0
  8. 90 WINDOW:VIEW
  9. 100 MOUSE 0:MOUSE 1,0,0,1
  10. 110 ON ERROR GOTO 700
  11. 120 '
  12. 130 DIM DA%(5)
  13. 140 CDINF DA%:HM=DA%(5)
  14. 150 PRINT USING "演奏時間  ##分 ##秒 ##フレーム ";DA%(2);DA%(3);DA%(4);
  15. 160 PRINT       "曲数  ";HM
  16. 170 '
  17. 180 DIM T(HM),S(HM)
  18. 190 TOTAL=DA%(2)*60*75+DA%(3)*75+DA%(4)
  19. 200 FOR I=HM TO 1 STEP -1
  20. 210  C$=CDSTIME$(I)
  21. 220  T(I)=TOTAL-(VAL(MID$(C$,1,2))*60*75+VAL(MID$(C$,4,2))*75+VAL(MID$(C$,7,2)))
  22. 230  TOTAL=TOTAL-T(I)
  23. 240 NEXT
  24. 250 '
  25. 280 MAX=1
  26. 290 FOR I=2 TO HM
  27. 300  IF T(I)>T(MAX) THEN MAX=I
  28. 310 NEXT
  29. 320 ' 
  30. 330 K=638/T(MAX)
  31. 340 FOR I=1 TO HM
  32. 350  LINE (1,I*19-1)-(K*T(I),I*19+18),PSET,5,B
  33. 360  LINE (0,I*19-2)-(K*T(I)-1,I*19+17),PSET,7,B
  34. 370  LINE (1,I*19-1)-(K*T(I)-2,I*19+16),PSET,1,BF
  35. 380 NEXT
  36. 390 '
  37. 430 FOR I=1 TO HM
  38. 440  S(I)=T(I)/75
  39. 460  SY$="# "+STR$(I)
  40. 470  SYMBOL(0,I*19),SY$,1,1
  41. 480 NEXT
  42. 481 '
  43. 482 FOR I=1 TO S(MAX)\60
  44. 483  LINE (K*I*60*75,0)-(K*I*60*75,480),PSET,0
  45. 484 NEXT
  46. 490 '
  47. 500 DIM ST%(8)
  48. 510 ON MOUSE(2) GOSUB *L
  49. 520 ON MOUSE(4) GOSUB *R
  50. 530 MOUSE (2) ON :MOUSE (4) ON 
  51. 540 '
  52. 550 CDSTAT ST%
  53. 560 LOCATE 50,0:PRINT USING"###.##分 ##秒" ;ST%(5);ST%(6);ST%(7) 
  54. 580 GOTO 550
  55. 590 *L 
  56. 600 Y=INT((MOUSE(1)+2)/19)
  57. 610 IF Y<1 OR HM<Y     THEN RETURN
  58. 620 IF K*T(Y)<MOUSE(0) THEN RETURN
  59. 630 M=MOUSE(0)/K/75
  60. 640 CD PLAY (INT(M\60),INT(M MOD 60),0,Y):CP=0
  61. 650 RETURN
  62. 660 *R
  63. 670 IF CP=0 THEN CD PAUSE :CP=1 ELSE CD CONT :CP=0
  64. 680 RETURN
  65. 690 '
  66. 700 'ERROR
  67. 710 IF ERR=53 THEN MOUSE (2) OFF:MOUSE (4) OFF  ELSE 770
  68. 720 LOCATE 14,23:PRINT"CDを入れ換えたのち、マウスをクリックしてください。"
  69. 730 WHILE MOUSE(2,0)+MOUSE(2,1)=0
  70. 740 WEND
  71. 750 GOTO 10
  72. 760 '
  73. 770 IF ERR=5  THEN  LINE (1,1*19-1)-(K*T(1)-2,1*19+16),PSET,0,BF
  74. 780  LINE (1,1*19-1)-(K*T(1)-2,1*19-1 ),PSET,5
  75. 790  LINE (1,1*19-1)-(1       ,1*19+16),PSET,5
  76. 800 LOCATE 0,1:COLOR 2:PRINT"DATA TRACK         ":COLOR 7
  77. 810 RESUME 650
  78.