SUBROUTINE EOGAME C** END OF GAME COMMON /GENDTA/SDATE,COND(2),KLING,TMLEFT,ITORP,ENERGY,SHELDS COMMON /QUAD/IQAD(8,8),IQX,IQY COMMON /SECT/SEC(64,64),ISX,ISY,ISX8,ISY8 COMMON /DAMAGS/IRPARS(10,2),IRAND,IRATE,IDMGD,TSTRT,GTIME COMMON /RMULN/IRMLN,IRMX,IRMY,IHTMS DIMENSION RANKS(3,3) DATA RANKS/'COMM','ANDE','R ', * '1ST ','OFFI','CER ', * 'ENSI','GN ',' '/ C** WRITE STATUS AT END OF GAME TYPE *,' **** END OF GAME **** **** BYE-BYE ****' CALL STATUS ISUB = IRPARS(10,1) IF(ISUB .GT. 3)ISUB = 3 TYPE 1001,(RANKS(I,ISUB),I=1,3),GTIME/60.0 1001 FORMAT(10X,'STARTING RANK ',3A4,/,14X,'GAME TIME ',F5.1) C** COMPUTE EFFICIENCY IF(IRMLN .GT. 0)IRMLN = 1 IF(IRMX .GT. 0)IRMX = 1 C** SET NUMBER OF POSSIBLE KLINGONS NOKNGS = 25 C** THIS NUMBER SHOULD AGREE WITH NUMBER IN SETUP EFFICY = FLOAT(NOKNGS-KLING+IRMLN-IRMX)/FLOAT(NOKNGS+IRMLN) EFFICY = EFFICY *((GTIME-TMLEFT*60.)/GTIME) TYPE 1002,EFFICY 1002 FORMAT(13X,'EFFICIENCY ',F5.3) TYPE *,' ' C** CHECK FOR ABNORMAL END OF GAME IF(COND(1) .EQ. 'END')GO TO 900 IF(TMLEFT .LE. 0.0)GO TO 100 IF(ENERGY .LE. 0.0)GO TO 200 IF(KLING .LE. 0)GO TO 300 IF(SHELDS .LT. 0.0)GO TO 400 TYPE *,' WHY AM I HERE?' TYPE *,' SOMEONE SAID THAT THE GAME WAS OVER.' TYPE *,' SO I WILL END IT.' GO TO 999 C** TIME HAS RUN OUT 100 TYPE *,' TIME HAS RUN OUT FOR THE CREW OF THE ENTERPRISE.' TYPE *,' THE KLINGON INVASION HAS SUCCEDDED.' TYPE *,' THE FEDERATION HAS BEEN DEFEATED.' TYPE 1100,KLING 1100 FORMAT(' THERE ARE STILL ',I5,' KLINGONS LEFT.') GO TO 999 C** ENERGY DEPLETED 200 TYPE *,' THE ENTERPRISE IS DEAD IN SPACE' TYPE *,' ITS ENERGY HAS BEEN DEPLEATED.' GO TO 999 C** ALL THE KLINGONS DESTROYED 300 TYPE *,' * * HH HH EEEEE RRRR OOOOO * *' TYPE *,' * * HH HH EE RR RR OO OO * *' TYPE *,' ***** HHHHHH EEEE RRRR OO OO *****' TYPE *,' * * HH HH EE RR RR OO OO * *' TYPE *,' * * HH HH EEEEE RR RR OOOOO * *' TYPE *,' ' TYPE *,' ******* THE ENTERPRISE HAS SUCCEDED *******' TYPE *,' *** ALL THE KLINGONS HAVE BEEN DESTROYED***' TYPE *,' ********* THE FEDERATION IS SAVED *********' GO TO 999 400 TYPE *,' THE SHIELDS OF THE ENTERPRISE HAVE FALLEN,' TYPE *,' LEAVEING THE ENTERPRISE OPEN TO ATTACK.' TYPE *,' AN ATTACK BY THE KLINGONS HAS DISABLED THE ENTERPRISE' TYPE *,' SUBSEQUENT HITS HAVE DESTROYED THE ENTERPRISE.' TYPE *,' THE FEDERATION IS LOST.' GO TO 999 C** ABNORMAL END OF GAME 900 IF(KLING .LE. 0)GO TO 930 TYPE *,' THE CREW OF THE ENTERPRISE HAS FAILED' TYPE *,' NAVIGATIONAL OR OTHER ERRORS HAVE' TYPE *,' CAUSED THE ENTERPRISE TO BE LOST.' IF(COND(2) .EQ. 'STAR')GO TO 910 IF(COND(2) .EQ. 'KLIN')GO TO 920 IF(COND(2) .EQ. 'SURR')GO TO 940 IF(COND(2) .EQ. 'BASE')GO TO 950 TYPE *,' THE EXACT CAUSE CANNOT BE DETERMINED' TYPE *,' BECAUSE OF THE DESTRUCTION' TYPE *,' OF THE ENTERPRISE.' GO TO 999 910 TYPE *,' THE ENTERPRISE HAS HIT A STAR.' 998 TYPE *,' AND HAS BEEN DESTROYED' TYPE 1998,IQX,IQY,ISX8,ISY8 1998 FORMAT(' AT QUADRANT (',I3,',',I3,') AND SECTOR (',I3,',',I3')') GO TO 999 920 TYPE *,' THE ENTERPRISE HAS HIT A KLINGON SHIP' GO TO 998 930 TYPE *,' THE ENTERPRISE HAS HIT THE LAST KLINGON' TYPE *,' AND HAS DESTROYED ITSELF AND ALL THE' TYPE *,' KLINGONS. THE FEDERATION IS SAVED, BUT' TYPE *,' THE ENTERPRISE IS LOST.' GO TO 999 940 TYPE *,' THE ENTERPRISE HAS SURRENDERED' TYPE *,' THE FEDERATION IS LOST.' TYPE *,' KANG HAS SCORED AN AMAZING VICTORY FOR THE KLINGONS.' TYPE *,' YOU WILL BE REMEMBERED AS THE LOSER.' GO TO 999 950 TYPE *,' THE ENTERPRISE HAS COLLIDED WITH A STARBASE' GO TO 998 999 RETURN END