home *** CD-ROM | disk | FTP | other *** search
/ Game Killer / Game_Killer.bin / 014.M18.BAS < prev    next >
BASIC Source File  |  1988-02-18  |  3KB  |  108 lines

  1. 'This program is designed to be used with the Mean18
  2. 'golf game by Accolade. It will allow you to have as
  3. 'many golf courses as you wish available to play rather
  4. 'than the limit of three imposed by Mean18.
  5. '
  6. 'A special thanks to Fred Strobl for his programming
  7. 'help with the read.filename routine he wrote for me.
  8. '
  9. 'written in March, 1987 by Ken Hopkins (WA9WCP)
  10. 'who only wishes he could play golf for real as well as
  11. 'he can with Mean18.
  12. '
  13. 'Modified and debugged 2/14/88 by Terry Doerhoefer Atlanta, GA
  14. 'Corrected bug that caused failure if program encountered a file with .M18
  15. 'extension on first run, it would work on the second try.
  16. 'Corrected course selection that only allowed a one digit entry. (you could
  17. 'not select a course above "9")
  18. 'Modified to display courses in three columns and allow up to 45 courses. 
  19. '
  20.  
  21. key off
  22. defint A - Z          'Set up
  23. dim file$(45)         'Allow up to 45 courses, sure is a lot of disk space
  24. '
  25. screen 0,0,0,1
  26. gosub readdir         'Get files with ".M1?" extension
  27. gosub menu            'Display available courses
  28. screen 0,0,0,0
  29. gosub choose          'Alllow course selection
  30. shell "GOLF"          'Call the Mean18 Golf game
  31. end
  32. '
  33. readdir:                         'Read directory - find all files
  34. files "*.M1?"                    'with .M1? extension. If there are
  35. r=1-(screen(1,2)=58)             'any .M18's, rename them to .M10
  36. c=1                              'so that Mean18 can't find them
  37. for I = 1 to ubound(file$)
  38. file$(I) = space$(17)
  39. call read.filename(file$(I),c,r)
  40. if instr(file$(I),"<DIR>") or _
  41. asc(file$(I)) <> 32 then
  42. c = (c + 18)mod 72
  43. r = r -(c=1)
  44. else
  45. max = I-1
  46. i = ubound(file$)
  47. end if
  48. if mid$(file$(I),10,3)= "M18" then           'Rename left over *.M18
  49. name file$(I) as left$(file$(I),8)+".M10"    'files from last game
  50. file$(I)=(left$(file$(I),8)+".M10")
  51. end if
  52. next
  53. '
  54. sub read.filename(a$,col,row)       STATIC
  55. for I=1 to len(a$)                           'Take the file names
  56. mid$(a$,I)=chr$(screen(row,col+I-1))         'of off the screen
  57. next
  58. end sub
  59. return
  60. '
  61. menu:
  62. cls
  63. print tab(20)"╔════════════════════════════════════╗"
  64. print tab(20)"║     AVAILABLE  MEAN18  COURSES     ║"
  65. print tab(20)"╚════════════════════════════════════╝"
  66. print
  67. for a = 1 to max
  68. if a < 16 then                    'Display courses in three columns
  69. x=8 : y=4
  70. locate (y+a),x
  71. print using "##.";a;
  72. print "  ";left$(file$(a),8);
  73. end if
  74. if a >15 and a<31 then
  75. x=32 : y=-11
  76. locate (y+a),x
  77. print using "##.";a;
  78. print "  ";left$(file$(a),8);
  79. end if
  80. if a >30 and a<46 then
  81. x=56 : y=-26
  82. locate (y+a),x
  83. print using "##.";a;
  84. print "  ";left$(file$(a),8);
  85. end if
  86. next
  87. print:print
  88. return
  89. '
  90. '
  91. choose:
  92. i=99
  93. while (i < 1) or (i > max)
  94. locate 22,69
  95. print "          "
  96. locate 22,6
  97. input "Choose the number of the course you want to play (99 to EXIT): ",i$
  98. i=val(i$)
  99. if i = 99 then   ' Test for valid course number and allow EXIT
  100. cls
  101. end
  102. end if
  103. wend
  104. name file$(I) as left$(file$(I),8)+".M18"  'rename the desired course
  105.                                            'to the .M18 extension so that
  106.                                            'Mean18 can find it
  107. return
  108.