home *** CD-ROM | disk | FTP | other *** search
/ Share Gallery 1 / share_gal_1.zip / share_gal_1 / WP / WP038.ZIP / AWARD.BAS next >
BASIC Source File  |  1987-07-11  |  9KB  |  168 lines

  1. 100 '************************************
  2. 110 '*         AWARD MASTER             *
  3. 120 '*        by Leonard Hyre           *
  4. 130 '*          (C)   12/86             *
  5. 140 '*         CAMBRIDGE  MD            *
  6. 150 '************************************
  7. 160 '
  8. 170 'Program requires that GRAPHICS.COM (provided on DOS disk) be loaded
  9. 180 'first. To load GRAPHICS.COM from DOS, just type GRAPHIC. Then  load
  10. 190 'and run AWARD.  When you have designed the award certificate
  11. 200 'you want, press SHIFT and PRT SC at same time.
  12. 210 '
  13. 220 'In addition to the above, your printer must be one supported by
  14. 230 'GRAPHICS.COM.  Most TANDY or IBM/EPSON printers are OK.
  15. 240 '
  16. 250 '
  17. 260 GOSUB 1610:' *** TO THE TITLE SCREEN ***
  18. 270 '
  19. 280 '
  20. 290 '*** PROGRAM SETUP ***
  21. 300 '
  22. 310 DIM TITLE$(17),COMMENT$(17),FROM$(17),CRPH$(6)
  23. 320 GOSUB 1380:'*** GO READ IN THE DATA STATEMENTS
  24. 330 WIDTH 80:KEY OFF:SCREEN 2:CLS
  25. 340 LINE(0,0)-(639,198),1,B:LINE(5,5)-(634,18),1,B
  26. 350 LOCATE 2,28:PRINT"A W A R D  -  M A S T E R":LOCATE 24,68:PRINT"by L. Hyre";
  27. 360 LINE(0,178)-(639,178),1:LINE(15,20)-(200,175),1,B:LOCATE 5,5:PRINT"The MENU-"
  28. 370 LOCATE 7,5:PRINT "1> Enter NAMES":LOCATE 9,5:PRINT "2> Select AWARD":LOCATE 11,5:PRINT "3> Select GRAPHIC":LOCATE 13,5:PRINT "4> Select BORDER":LOCATE 15,5:PRINT "5> VIEW & PRINT":LOCATE 17,5:PRINT "6> Exit to BASIC"
  29. 380 LOCATE 19,5:PRINT"7> Exit to DOS":LOCATE 21,5:PRINT"Press # of Choice":LOCATE 22,5:PRINT STRING$(17,"_")
  30. 390 '
  31. 400 '*** MENU CHOICES HERE ***
  32. 410 '
  33. 420 AK$=INKEY$:IF AK$="" THEN 420
  34. 430 ON VAL(AK$) GOTO 470,560,700,790,1020,1230,1310
  35. 440 '
  36. 450 '*** Enter VARIABLE TO PRINT ***
  37. 460 '
  38. 470 LOCATE 5,28:PRINT"Enter NAME of the RECIPIENT?":LOCATE 6,28:LINE INPUT NM$:LOCATE 7,28:PRINT"Enter PRESENTER of Award?":LOCATE 8,28:LINE INPUT GV$
  39. 480 LOCATE 10,28:PRINT"Are Entries Correct?"
  40. 490 AK$=INKEY$:IF AK$="" THEN 490
  41. 500 IF AK$="Y" OR AK$="y" THEN 510 ELSE GOSUB 1180:GOTO 470
  42. 510 GOSUB 1170:GOSUB 1180
  43. 520 GOTO 420
  44. 530 '
  45. 540 '*** LIST AWARDS AVAILABLE ***
  46. 550 '
  47. 560 LOCATE 4,28:PRINT"Awards available are:"
  48. 570 FOR X=1 TO 16:LOCATE 4+X,28:PRINT X;:IF X <10 THEN PRINT"  >";:ELSE PRINT " >";
  49. 580 PRINT TITLE$(X):NEXT X
  50. 590 LOCATE 21,29:PRINT"17  >";:PRINT"MAKE UP YOUR OWN !"
  51. 600 LOCATE 22,28:PRINT"Input # of Choice";
  52. 610 INPUT PK:IF PK<1 OR PK>17 THEN 610
  53. 620 IF PK <17 THEN 660
  54. 630 GOSUB 1180:LOCATE 5,28:PRINT"Enter Award TITLE?":LOCATE 6,28
  55. 640 INPUT MAIN$:LOCATE 8,28:PRINT"Enter Comment Line";:LOCATE 9,28:INPUT WORDS$:COMMENT$(17)=WORDS$
  56. 650 SENDER$="From":GOSUB 1170:GOSUB 1180:GOTO 420
  57. 660 MAIN$=TITLE$(PK)::SENDER$=FROM$(PK):GOSUB 1170:GOSUB 1180:GOTO 420
  58. 670 '
  59. 680 '*** SELECT GRAPHICS ***
  60. 690 '
  61. 700 LOCATE 4,28:PRINT"Select Graphic....."
  62. 710 FOR X=1 TO 6:LOCATE X+6,28:PRINT X;"> ";GRPH$(X):NEXT X
  63. 720 GR$=INKEY$:IF GR$="" THEN 720
  64. 730 IF VAL(GR$)<1 OR VAL(GR$)>6 THEN 730
  65. 740 GR=VAL(GR$)
  66. 750 GOSUB 1170:GOSUB 1180:GOTO 420
  67. 760 '
  68. 770 '*** SELECT BORDER ***
  69. 780 '
  70. 790 LOCATE 5,28:PRINT "BORDER SELECTION..."
  71. 800 LOCATE 6,33:PRINT CHR$(218);CHR$(196);CHR$(196);CHR$(191);:LOCATE 7,28:PRINT "1> = ";CHR$(179);"  ";CHR$(179);
  72. 810 LOCATE 6,45:PRINT CHR$(201);CHR$(205);CHR$(205);CHR$(187);:LOCATE 7,40:PRINT "2> = ";CHR$(186);"  ";CHR$(186);
  73. 820 LOCATE 9,33:PRINT STRING$(4,219);:LOCATE 10,28:PRINT"3> = ";CHR$(219);"  ";CHR$(219);
  74. 830 LOCATE 9,45:PRINT STRING$(4,249);:LOCATE 10,40:PRINT "4> = ";CHR$(249);"  ";CHR$(249);
  75. 840 LOCATE 12,33:PRINT STRING$(4,176);:LOCATE 13,28:PRINT "5> = ";CHR$(176);"  ";CHR$(176);
  76. 850 LOCATE 12,45:PRINT STRING$(4,3);:LOCATE 13,40:PRINT-"6> = ";CHR$(3);"  ";CHR$(3);
  77. 860 LOCATE 15,33:PRINT STRING$(4,2);:LOCATE 16,28:PRINT "7> = ";CHR$(2);"  ";CHR$(2);
  78. 870 LOCATE 15,45:PRINT STRING$(4,15);:LOCATE 16,40:PRINT "8> = ";CHR$(15);"  ";CHR$(15);
  79. 880 LOCATE 18,28:PRINT"Choose A Border Number? ";
  80. 890 BN$=INKEY$:IF BN$=""THEN 890 ELSE IF VAL(BN$)<1 OR VAL(BN$)>8 THEN 890 ELSE 900
  81. 900 IF VAL(BN$)=1 THEN TOP$=CHR$(218)+STRING$(38,196)+CHR$(191):SIDE$=CHR$(179)+STRING$(38," ")+CHR$(179):BOT$=CHR$(192)+STRING$(38,196)+CHR$(217)
  82. 910 IF VAL(BN$)=2 THEN TOP$=CHR$(201)+STRING$(38,205)+CHR$(187):SIDE$=CHR$(186)+STRING$(38," ")+CHR$(186):BOT$=CHR$(200)+STRING$(38,205)+CHR$(188)
  83. 920 IF VAL(BN$)=3 THEN TOP$=STRING$(40,219):SIDE$=STRING$(2,219)+STRING$(36," ")+STRING$(2,219):BOT$=STRING$(40,219)
  84. 930 IF VAL(BN$)=4 THEN TOP$=STRING$(40,249):SIDE$=CHR$(249)+STRING$(38," ")+CHR$(249):BOT$=STRING$(40,249)
  85. 940 IF VAL(BN$)=5 THEN TOP$=STRING$(40,176):SIDE$=CHR$(176)+STRING$(38," ")+CHR$(176):BOT$=STRING$(40,176)
  86. 950 IF VAL(BN$)=6 THEN TOP$=STRING$(40,3):SIDE$=CHR$(3)+STRING$(38," ")+CHR$(3):BOT$=STRING$(40,3)
  87. 960 IF VAL(BN$)=7 THEN TOP$=STRING$(40,2):SIDE$=CHR$(2)+STRING$(38," ")+CHR$(2):BOT$=STRING$(40,2)
  88. 970 IF VAL(BN$)=8 THEN TOP$=STRING$(40,15):SIDE$=CHR$(15)+STRING$(38," ")+CHR$(15):BOT$=STRING$(40,15)
  89. 980 GOSUB 1170:GOSUB 1180:GOTO 420
  90. 990 '
  91. 1000 '*** DRAW AWARD  ***
  92. 1010 '
  93. 1020 KEY OFF:SCREEN 1:CLS
  94. 1030 PRINT TOP$:FOR X=2 TO 23:PRINT SIDE$:NEXT X:PRINT BOT$;
  95. 1040 MID=20-INT(LEN(MAIN$)/2):LOCATE 6,MID:PRINT MAIN$
  96. 1050 LOCATE 8,20-INT(LEN(NM$)/2):PRINT NM$;
  97. 1060 LOCATE 15,26-INT(LEN(COMMENT$(PK))/2):PRINT COMMENT$(PK)
  98. 1070 FINAL$=SENDER$+" "+GV$:LOCATE 17,26-INT(LEN(FINAL$)/2):PRINT FINAL$
  99. 1080 LINE(18,10)-(301,16),1,B:LINE(18,172)-(301,180),1,B:LINE(30,32)-(290,66),1,B
  100. 1090 IF GR=1 THEN CIRCLE(50,95),25:LINE(40,120)-(60,165),1,B:LOCATE 12,6:PRINT"1st":REM BLUE RIBBON
  101. 1100 IF GR=2 THEN LINE(25,165)-(25,75),1:LINE-(55,85),1:LINE-(25,95),1:DRAW"BM27,165;E3R8F3G3L8H3":CIRCLE(40,155),3:REM GOLFING
  102. 1110 IF GR=3 THEN CIRCLE(50,125),20:CIRCLE(65,120),2:CIRCLE(62,117),2:CIRCLE(50,125),15,1,2,4:LINE(95,125)-(40,165),1:REM BOWLING
  103. 1120 IF GR=4 THEN LINE(25,165)-(75,75),1,B:LINE(30,160)-(70,80),1,B:LINE(35,155)-(65,85),1,B:D$="NUMBER 1":FOR X=1 TO 8:LOCATE X+11,7:PRINT MID$(D$,X,1):NEXT X:REM #1 PLAQUE
  104. 1130 IF GR=5 THEN CIRCLE(50,125),25:CIRCLE(50,122),20,2,4,5.5:CIRCLE(40,118),2:CIRCLE(60,118),2
  105. 1140 IF GR=6 THEN LINE(25,165)-(75,75),1,B:LINE(30,160)-(70,80),1,B:LINE(35,155)-(65,85),1,B:LINE(40,150)-(60,90),1,B:LINE(45,145)-(55,95),1,B
  106. 1150 AK$=INKEY$:IF AK$="" THEN 1150
  107. 1160 GOSUB 1170:GOTO 330
  108. 1170 FOR DL=1 TO 4000:NEXT:RETURN
  109. 1180 FOR WIPE =4 TO 22:LOCATE WIPE,28:PRINT STRING$(50," ");:NEXT WIPE:RETURN
  110. 1190 GOTO 1190
  111. 1200 '
  112. 1210 '*** ERASE PROGRAM FROM MEMORY ***
  113. 1220 '
  114. 1230 CLS:LOCATE 1,1:PRINT"This Option Will Remove The Program From Memory..."
  115. 1240 LOCATE 4,1:PRINT"Do You Wish To Proceed? (Y/N)?
  116. 1250 AK$=INKEY$:IF AK$=""THEN 1250
  117. 1260 IF AK$="Y" OR AK$="y" THEN CLS:NEW
  118. 1270 RUN
  119. 1280 '
  120. 1290 '*** RETURN TO MSDOS LEVEL ***
  121. 1300 '
  122. 1310 CLS:LOCATE 1,1:PRINT"This Option Returns You to DOS Level.":LOCATE 3,1:PRINT"Do You Wish To Proceed? [Y/N]"
  123. 1320 AK$=INKEY$:IF AK$=""THEN 1320
  124. 1330 IF AK$="Y" OR AK$="y" THEN CLS:SYSTEM
  125. 1340 RUN
  126. 1350 '
  127. 1360 '*** DATA STATEMENTS TO BE READ IN ***
  128. 1370 '
  129. 1380 FOR CH=1 TO 16:READ TITLE$(CH),COMMENT$(CH),FROM$(CH):NEXT CH
  130. 1390 FOR GR=1 TO 6:READ GRPH$(GR):NEXT GR
  131. 1400 RETURN
  132. 1410 DATA MVP -Most Valuable Player,Unamimously Selected,by
  133. 1420 DATA World Class DAD,Selected Without Favoritism,by
  134. 1430 DATA World Class MOM,Selected Without Favoritism,by
  135. 1440 DATA World Class KID,Selected Without Favoritism,by
  136. 1450 DATA TWIT of the Year!,You Have To Earn It!,From
  137. 1460 DATA WANTED-Dead or Alive,$2 Reward For Hide,by
  138. 1470 DATA Student Special Achievement,For High Quality Work, From
  139. 1480 DATA FIRST PLACE AWARD,Certified 1ST Place Finish,from
  140. 1490 DATA GRADUATION AWARD,GRADUATION CERTIFICATE Awarded,by
  141. 1500 DATA COMPUTER WHIZ AWARD,Holder is COMPUTER GENIUS,Award by
  142. 1510 DATA World Class BS'er,OLYMPHIC MEDAL HOLDER,chosen by
  143. 1520 DATA FAVORITE EMPLOYEE AWARD,Exceptional Service to Company,by
  144. 1530 DATA FISHING FANATIC AWARD,For Always Speaking Truth?,From
  145. 1540 DATA Certified GOLF Nut!,PGA PRO Accomplishment Award,issued by
  146. 1550 DATA **** V I P ****,Holder Is A VIP,Awarded By
  147. 1560 DATA Galaxy Class BOWLER,Most Consecutive 300 Games,given by
  148. 1570 DATA BLUE RIBBON,GOLF PICTURE,BOWLING BOWL,#1 PLAQUE,SMILEY FACE,GENERIC GRAPHIC
  149. 1580 '
  150. 1590 '*** TITLE SCREEEN ***
  151. 1600 '
  152. 1610 WIDTH 40:SCREEN 1:COLOR 11:CLS
  153. 1620 LINE(0,0)-(319,199),2,B:LINE(5,5)-(314,194),2,B
  154. 1630 LINE(10,10)-(309,20),2,B:LINE(10,180)-(309,190),2,B
  155. 1640 LOCATE 5,10:PRINT"A W A R D - M A K E R"
  156. 1650 LOCATE 7,13:PRINT"by Leonard Hyre"
  157. 1660 LINE(28,28)-(289,60),2,B:LINE(26,26)-(291,62),2,B
  158. 1670 LOCATE 16,19:PRINT"For The Readers Of":LOCATE 18,22:PRINT"Soft Sector"
  159. 1680 LINE(140,110)-(290,150),1,B
  160. 1690 CIRCLE(50,95),25:CIRCLE(50,95),23:LINE(40,120)-(60,165),1,B:LOCATE 12,6:PRINT"1ST":LOCATE 17,7:PRINT"P":LOCATE 18,7:PRINT"C":LOCATE 19,7:PRINT"M"
  161. 1700 '
  162. 1710 '*** TIME DELAY FOR TITLE ***
  163. 1720 'NOTE:
  164. 1730 '  You may wish to change maximum value of DL in next loop depending on
  165. 1740 '  how fast your machine runs. The slower the machine, the larger the
  166. 1750 '  number.
  167. 1760 FOR DL= 1 TO 10000:NEXT:GOTO 300
  168.