#include "sst.h"
#include <string.h>
#ifndef KOS32
#include <time.h>
#else
#include <kolibrisys.h>
#endif
void dstrct() {
/* Finish with a BANG! */
chew();
if (damage[DCOMPTR] != 0.0) {
/* prout("Computer damaged; cannot execute destruct sequence."); */
prout("®¬¯ìîâ¥à ¯®¢à¥¦¤¥; ¥¢®§¬®¦® § ¯ãáâ¨âì á ¬®ã¨ç⮦¥¨¥.");
return;
}
skip(1);
/* prouts("---WORKING---"); skip(1);
prout("SELF-DESTRUCT-SEQUENCE-ACTIVATED");
*/ prouts("---
---"); skip(1);
prout("
-
-");
prouts(" 10"); skip(1);
prouts(" 9"); skip(1);
prouts(" 8"); skip(1);
prouts(" 7"); skip(1);
prouts(" 6"); skip(1);
/* prout("ENTER-CORRECT-PASSWORD-TO-CONTINUE-");
prout("SELF-DESTRUCT-SEQUENCE-OTHERWISE-");
prout("SELF-DESTRUCT-SEQUENCE-WILL-BE-ABORTED");
*/ prout("
----
-");
prout("-
-
-
-");
prout("
-
-
-");
scan();
chew();
if (strcmp(passwd
, citem
) != 0) {
/* prouts("PASSWORD-REJECTED;"); skip(1);
prout("CONTINUITY-EFFECTED");
*/ prouts("-
;"); skip(1);
prout("
-
");
skip(1);
return;
}
prouts("-"); skip(1); /*PASSWORD-ACCEPTED*/
prouts(" 5"); skip(1);
prouts(" 4"); skip(1);
prouts(" 3"); skip(1);
prouts(" 2"); skip(1);
prouts(" 1"); skip(1);
if (Rand() < 0.15) {
prouts("-
-"); /*GOODBYE-CRUEL-WORLD*/
skip(1);
}
skip(2);
kaboom();
}
void kaboom(void) {
stars();
if (ship==IHE) prouts("***");
prouts("********* âய¨ï ");/*Entropy of*/
crmshp();
prouts(" ¬ ªá¨¬¨§¨à®¢ *********");/*maximized*/
skip(1);
stars();
skip(1);
if (nenhere != 0) {
double whammo = 25.0 * energy;
int l=1;
while (l <= nenhere) {
if (kpower[l]*kdist[l] <= whammo)
deadkl(kx[l],ky[l], quad[kx[l]][ky[l]], kx[l], ky[l]);
l++;
}
}
finish(FDILITHIUM);
}
void finish(FINTYPE ifin) {
int igotit = 0;
alldone = 1;
skip(3);
/* printf("It is stardate %.1f .\n\n", d.date); */
printf("¢¥§¤®¥ ¢à¥¬ï %.1f .\n\n", d.
date);
switch (ifin) {
case FWON: // Game has been won
if (d.nromrem != 0)
/* printf("The remaining %d Romulans surrender to Starfleet Command.\n", */
printf("®á«¥¤¨¥ %d ஬㫠楢 ᤠ«¨áì ¬¨«®áâì ¢¥§¤®£® ®¬ ¤®¢ ¨ï.\n",
d.nromrem);
/* prout("You have smashed the Klingon invasion fleet and saved");
prout("the Federation.");
*/ prout("ë á«®¬ «¨ åॡ¥â ¢â®à¦¥¨î ª«¨£®®¢ ¨ ᯠ᫨ ¥¤¥à æ¨î.");
#ifdef CAPTURE
if (alive && brigcapacity-brigfree > 0) { // captured Klingon crew will get transfered to starbase
kcaptured += brigcapacity-brigfree;
/* printf("The %d captured Klingons are transferred to Star Fleet Command.\n", */
printf(" å¢ ç¥ë¥ ¢ ¯«¥ %d ª«¨£®®¢ ¯¥à¥¤ ë ¢¥§¤®¬ã ®¬ ¤®¢ ¨î.\n",
brigcapacity-brigfree);
}
#endif
gamewon=1;
if (alive) {
double badpt;
badpt = 5.*d.starkl + casual + 10.*d.nplankl +
45.*nhelp+100.*d.basekl;
if (ship == IHF) badpt += 100.0;
else if (ship == 0) badpt += 200.0;
if (badpt < 100.0) badpt = 0.0; // Close enough!
if (d.date-indate < 5.0 ||
// killsPerDate >= RateMax
(d.killk+d.killc+d.nsckill)/(d.date-indate) >=
0.1*skill*(skill+1.0) + 0.1 + 0.008*badpt) {
skip(1);
/* prout("In fact, you have done so well that Starfleet Command"); */
prout("ë ¥¯«®å® á¯à ¢¨«¨áì á § ¤ ¨¥¬, ¨ ¢¥§¤®¥ ®¬ ¤®¢ ¨¥");
switch (skill) {
case SNOVICE:
/* prout("promotes you one step in rank from \"Novice\" to \"Fair\"."); */
prout("¯®¢ëè ¥â á ¢ §¢ ¨¨ á \"®¢¨çª \" ¤® \" « £¨\".");
break;
case SFAIR:
/* prout("promotes you one step in rank from \"Fair\" to \"Good\"."); */
prout("¯®¢ëè ¥â á ¢ §¢ ¨¨ á \"¡ ¤¥¦¨¢ î饣®\" ¤® \"⫨稪 \".");
break;
case SGOOD:
/* prout("promotes you one step in rank from \"Good\" to \"Expert\"."); */
prout("¯®¢ëè ¥â á ¢ §¢ ¨¨ á \"⫨稪 \" ¤® \"ªá¯¥àâ \".");
break;
case SEXPERT:
/* prout("promotes you to Commodore Emeritus."); */
prout("¯®¢ëè ¥â á ¢ §¢ ¨¨ ¤® ®¬¬ ¤¥à ¬¥à¨âãá.");
skip(1);
/* prout("Now that you think you're really good, try playing");
prout("the \"Emeritus\" game. It will splatter your ego.");
*/ prout("¥¯¥àì, ¥á«¨ ë áç¨â ¥â¥ ᥡ¥ ॠ«ì® ªàãâë¬, ¯®¯à®¡ã©â¥");
prout("ã஢¥ì á«®¦®á⨠\"¬¥à¨âãá\". â® ãâ¨å®¬¨à¨â ¢ è¥ í£®.");
break;
case SEMERITUS:
skip(1);
/* prout("Computer- ERROR-ERROR-ERROR-ERROR");
skip(1);
prout(" YOUR-SKILL-HAS-EXCEEDED-THE-CAPACITY-OF-THIS-PROGRAM");
prout(" THIS-PROGRAM-MUST-SURVIVE");
prout(" THIS-PROGRAM-MUST-SURVIVE");
prout(" THIS-PROGRAM-MUST-SURVIVE");
prout(" THIS-PROGRAM-MUST?- MUST ? - SUR? ? -? VI");
skip(1);
prout("Now you can retire and write your own Star Trek game!");
*/ prout("®¬¯ìîâ¥à- ---");
skip(1);
prout(" --
---");
prout(" --");
prout(" --");
prout(" --");
prout(" --?- ? - ? ? -? ");
skip(1);
prout("¥¯¥àì ¬®¦¥â¥ ᮠᯮª®©®© ¤ã让 ã©â¨ ¢ ®âá ¢ªã ¨ ¯¨á âì ᮡá⢥ãî ¨£àã â à ४!");
skip(1);
break;
}
if (skill > SGOOD) {
if (thawed
#ifdef DEBUG
&& !idebug
#endif
)
/* prout("You cannot get a citation, so..."); */
prout(" á ¥ § ¯¨èãâ ¢ «ë, â ª çâ®...");
else {
/* prout("Do you want your Commodore Emeritus Citation printed?");
proutn("(You need a 132 column printer.)");
*/ prout("ë å®â¨â¥ ¯¥ç â âì ᯨ᮪ ᢮¨å ¢ë᪠§ë¢ ¨©, ®¬ ¤¥à ¬¥à¨âãá?");
proutn("( ¬ ¯®âॡã¥âáï 132-ᨬ¢®«ìë© ¯à¨â¥à.)");
chew();
if (ja()) {
igotit = 1;
}
}
}
}
// Only grant long life if alive (original didn't!)
skip(1);
/* prout("LIVE LONG AND PROSPER."); */
prout("
.");
}
score(0);
if (igotit != 0) plaque();
return;
case FDEPLETE: // Federation Resources Depleted
/* prout("Your time has run out and the Federation has been");
prout("conquered. Your starship is now Klingon property,");
prout("and you are put on trial as a war criminal. On the");
proutn("basis of your record, you are ");
*/ prout(" è¥ ¢à¥¬ï ¢ëè«® ¨ ¥¤¥à æ¨ï ¡ë« § å¢ ç¥ .");
prout(" è ª®à ¡«ì ⥯¥àì âà®ä¥© ª«¨£®®¢,");
prout("¨ á ¡ã¤ãâ á㤨âì ª ª ¢®¥®£® ¯à¥áâ㯨ª .");
proutn(" áᬮâॢ ¢ è¨ ¤¥©á⢨ï, ë ");
if (d.remkl*3.0 > inkling) {
prout("®¯à ¢¤ ë.");/*aquitted*/
skip(1);
prout("
.");/*LIVE LONG AND PROSPER*/
}
else {
/* prout("found guilty and");
prout("sentenced to death by slow torture.");
*/ prout("¯à¨§ ë ¢¨®¢ë¬");
prout("¨ ¯à¨£®¢®à¥ë ª ᬥà⨠¯®¤ ¯ë⪠¬¨.");
alive = 0;
}
score(0);
return;
case FLIFESUP:
/* prout("Your life support reserves have run out, and");
prout("you die of thirst, starvation, and asphyxiation.");
prout("Your starship is a derelict in space.");
*/ prout(" ¢ á ª®ç¨«¨áì § ¯ áë ¢®§¤ãå ¨ ¯¨é¨ ¨");
prout("¢ë á ª®¬ ¤®© 㬥૨ ®â £®«®¤ ¨ ¦ ¦¤ë, § ¤ëå ïáì.");
prout(" è ¬¥àâ¢ë© ª®à ¡«ì ¤à¥©äã¥â ¢ ª®á¬®á¥.");
break;
case FNRG:
/* prout("Your energy supply is exhausted.");
skip(1);
prout("Your starship is a derelict in space.");
*/ prout(" ª®à ¡«ï ª®ç¨«¨áì § ¯ áë í¥à£¨¨.");
skip(1);
prout(" è ¬¥àâ¢ë© ª®à ¡«ì ¤à¥©äã¥â ¢ ª®á¬®á¥.");
break;
case FBATTLE:
/* proutn("The ");
crmshp();
prout("has been destroyed in battle.");
skip(1);
prout("Dulce et decorum est pro patria mori.");
*/ proutn(" è ª®à ¡«ì ");
crmshp();
prout("¡ë« ã¨ç⮦¥ ¢ ¡®î.");
skip(1);
prout("Dulce et decorum est pro patria mori.");
prout("/« ¤ª ¨ ¯à¥ªà á § த¨ã ᬥàâì./");
break;
case FNEG3:
/* prout("You have made three attempts to cross the negative energy");
prout("barrier which surrounds the galaxy.");
skip(1);
prout("Your navigation is abominable.");
*/ prout("ë ᤥ« «¨ âਠ¯®¯ë⪨ ¯¥à¥á¥çì ¡ àì¥à ®âà¨æ ⥫쮩 í¥à£¨¨");
prout(" ®ªà㦠î騩 £ « ªâ¨ªã.");
skip(1);
prout("ë 㦠áë© ¢¨£ â®à.");
score(0);
return;
case FNOVA:
/* prout("Your starship has been destroyed by a nova.");
prout("That was a great shot.");
*/ prout(" è ª®à ¡«ì ¡ë« ã¨ç⮦¥ ®¢®© §¢¥§¤®©.");
prout("®à®è ï ¯®¯ë⪠.");
skip(1);
break;
case FSNOVAED:
/* proutn("The ");
crmshp();
prout(" has been fried by a supernova.");
prout("...Not even cinders remain...");
*/ proutn(" è ª®à ¡«ì ");
crmshp();
prout(" ¡ë« ã¨ç⮦¥ ᢥà客®©.");
prout("... ¥ ®áâ «®áì ¤ ¦¥ ¯¥¯« ...");
break;
case FABANDN:
/* prout("You have been captured by the Klingons. If you still");
prout("had a starbase to be returned to, you would have been");
prout("repatriated and given another chance. Since you have");
prout("no starbases, you will be mercilessly tortured to death.");
*/ prout("ë ¡ë«¨ § å¢ ç¥ë ª«¨£® ¬¨.
᫨ ¡ë ã ¢ á ");
prout("®áâ « áì å®âì ®¤ áâ æ¨ï ¤«ï ¢®§¢à 饨ï, ¢ë ¬®£«¨ ¡ë");
prout("¯®«ãç¨âì ¢â®à®© è á. ® ¯®áª®«ìªã áâ 権 ¡®«ìè¥ ¥â,");
prout("¢ á ¡¥á¯®é ¤® § ¯ëâ îâ ¤® ᬥàâ¨.");
break;
case FDILITHIUM:
/* prout("Your starship is now an expanding cloud of subatomic particles"); */
prout(" è ª®à ¡«ì ¯à¥¢à ⨫áï ¢ ®¡« ª® á㡠⮬ëå ç áâ¨æ");
break;
case FMATERIALIZE:
/* prout("Starbase was unable to re-materialize your starship.");
prout("Sic transit gloria muntdi");
*/ prout("â æ¨ï ¥ ᬮ£« ®¡à â® ¬ â¥à¨ «¨§®¢ âì ¢ è ª®à ¡«ì.");
prout("Sic transit gloria muntdi");
prout("/ ª ¯à®å®¤¨â ¬¨à᪠ï á« ¢ /");
break;
case FPHASER:
/* proutn("The ");
crmshp();
prout(" has been cremated by its own phasers.");
*/ proutn(" è ª®à ¡«ì ");
crmshp();
prout(" á ¬®ã¨ç⮦¨«áï ®£¥¬ ᮡá⢥ëå ä §¥à®¢.");
break;
case FLOST:
/* prout("You and your landing party have been");
prout("converted to energy, dissipating through space.");
*/ prout("ë ¨ £à㯯 ¢ëá ¤ª¨ ");
prout("¯à¥¢à ⨫¨áì ¢ ç¨áâãî í¥à£¨î, à á¯ë«¥ãî ¢ ª®á¬®á¥.");
break;
case FMINING:
/* prout("You are left with your landing party on");
prout("a wild jungle planet inhabited by primitive cannibals.");
skip(1);
prout("They are very fond of \"Captain Kirk\" soup.");
skip(1);
proutn("Without your leadership, the ");
crmshp();
prout(" is destroyed.");
*/ prout("ë ®áâ «¨áì ¢¬¥áâ¥ á £à㯯®© ¢ëá ¤ª¨");
prout(" ¤¨ª®© ¯« ¥â¥, ᥫ¥®© ¤®¨áâ®à¨ç¥áª¨¬¨ ª ¨¡ « ¬¨.");
skip(1);
prout("¨ ®ç¥ì «î¡ïâ á㯠\" ¯¨â ¨àª\".");
skip(1);
proutn("¥§ 襣® ª®¬ ¤®¢ ¨ï, ª®à ¡«ì ");
crmshp();
prout(" ¡ë« ã¨ç⮦¥.");
break;
case FDPLANET:
/* prout("You and your mining party perish.");
skip(1);
prout("That was a great shot.");
*/ prout("ë ¡¥áá«¥¤® ¯à®¯ «¨ ¢¬¥á⥠á è åâ¥à ¬¨.");
skip(1);
prout("â® ¡ë« å®à®è ï ¯®¯ë⪠.");
skip(1);
break;
case FSSC:
/* prout("The Galileo is instantly annihilated by the supernova."); */
prout(" «¨«¥® ¡ë« ¬£®¢¥® ¨£¨«¨à®¢ á㯥஢®©.");
// no break;
case FPNOVA:
/* prout("You and your mining party are atomized.");
skip(1);
proutn("Mr. Spock takes command of the ");
crmshp();
prout(" and");
prout("joins the Romulans, reigning terror on the Federation.");
*/ prout("ë á £à㯯®© è åâ¥à®¢ à ᯠ«¨áì ⮬ë.");
skip(1);
proutn("¨áâ¥à ¯®ª ¯à¨ï« ª®¬ ¤®¢ ¨¥ ");
crmshp();
prout(" ¨");
prout("¯à¨á®¥¤¨¨«áï ª à®¬ã« æ ¬, á¥ï à §àã襨¥ ¨ â¥àà®à ¯® ¢á¥© ¥¤¥à 樨.");
break;
case FSTRACTOR:
/* prout("The shuttle craft Galileo is also caught,");
prout("and breaks up under the strain.");
skip(1);
prout("Your debris is scattered for millions of miles.");
proutn("Without your leadership, the ");
crmshp();
prout(" is destroyed.");
*/ prout(" ââ« «¨«¥® ¯®¯ « ¢ ¯®«¥ ¤¥©á⢨ï ᨫ®¢®£® «ãç ,");
prout("¨ ¡ë« à §®à¢ ᨫ ¬¨ â⥨ï.");
skip(1);
prout(" è¨ ®¡«®¬ª¨ à áá¥ïë ¬¨««¨®ë ¬¨«ì.");
proutn("¥§ 襣® ª®¬ ¤®¢ ¨ï, ª®à ¡«ì ");
crmshp();
prout(" ¡ë« ã¨ç⮦¥.");
break;
case FDRAY:
/* prout("The mutants attack and kill Spock.");
prout("Your ship is captured by Klingons, and");
prout("your crew is put on display in a Klingon zoo.");
*/ prout("ãâ âë â ª®¢ «¨ ¨ 㡨«¨ ¯®ª .");
prout(" è ª®à ¡«ì ¡ë« § å¢ ç¥ ª«¨£® ¬¨ ¨ ⥯¥àì");
prout("¢ è ª®¬ ¤ ¯à¥¤áâ ¢«¥ ¢ ª«¨£®áª®¬ §®®¯ થ.");
break;
case FTRIBBLE:
/* prout("Tribbles consume all remaining water,");
prout("food, and oxygen on your ship.");
skip(1);
prout("You die of thirst, starvation, and asphyxiation.");
prout("Your starship is a derelict in space.");
*/ prout("ਡ¡«ë á®¦à «¨ ¢áî ®áâ ¢èãîáï ¢®¤ã,");
prout("¥¤ã ¨ ª¨á«®à®¤ ¢ 襬 ª®à ¡«¥.");
skip(1);
prout("ë á ª®¬ ¤®© 㬥૨ ®â £®«®¤ ¨ ¦ ¦¤ë, § ¤ëå ïáì.");
prout(" è ¬¥àâ¢ë© ª®à ¡«ì ¤à¥©äã¥â ¢ ª®á¬®á¥.");
break;
case FHOLE:
/* prout("Your ship is drawn to the center of the black hole.");
prout("You are crushed into extremely dense matter.");
*/ prout(" á § âïã«® ¢ æ¥âà ç¥à®© ¤ëàë.");
prout("ë ⥯¥àì ¨áª«îç¨â¥«ì® ¬ «¥ìª ï ¨ ᢥàåâ¢¥à¤ ï ¯ë«¨ª .");
break;
#ifdef CLOAKING
case FCLOAK:
ncviol++;
/* prout("You have violated the Treaty of Algeron.");
prout("The Romulan Empire can never trust you again.");
*/ prout("ë àã訫¨ «£¥à®áª®¥ ®£« 襨¥.");
prout("®¬ã« áª ï ¬¯¥à¨ï ¨ª®£¤ ¡®«ìè¥ ¥ ¯®¢¥à¨â ¢ ¬.");
break;
#endif
}
#ifdef CLOAKING
if (ifin!=FWON && ifin!=FCLOAK && iscloaked!=0) {
/* prout("Your ship was cloaked so your subspace radio did not receive anything.");
prout("You may have missed some warning messages.");
*/ prout(" è ª®à ¡«ì ¡ë« ¥¢¨¤¨¬, â ª çâ® ¯®¤¯à®áâà ᢥ®¥ à ¤¨® ¥ à ¡®â «®.");
prout("ë ¬®£«¨ ¯à®¯ãáâ¨âì ¥ª®â®àë¥ ¯à¥¤ã¯à¥¤¨â¥«ìë¥ á®®¡é¥¨ï.");
skip(1);
}
#endif
if (ship==IHF) ship= 0;
else if (ship == IHE) ship = IHF;
alive = 0;
if (d.remkl != 0) {
double goodies = d.remres/inresor;
double baddies = (d.remkl + 2.0*d.remcom)/(inkling+2.0*incom);
if (goodies/baddies >= 1.0+0.5*Rand()) {
/* prout("As a result of your actions, a treaty with the Klingon");
prout("Empire has been signed. The terms of the treaty are");
*/ prout(" १ã«ìâ ⥠¢ è¨å ¤¥á⢨©, ¡ë«® ¯®¤¯¨á ® ¬¨à®¥");
prout("ᮣ« 襨¥ á ª«¨£® ¬¨. á«®¢¨ï ᮣ« è¥¨ï ¡ë«¨");
if (goodies/baddies >= 3.0+Rand()) {
/* prout("favorable to the Federation.");
skip(1);
prout("Congratulations!");
*/ prout("¢ë£®¤ë¬¨ ¤«ï ¥¤¥à 樨.");
skip(1);
prout("®§¤à ¢«ï¥¬!");
}
else
/* prout("highly unfavorable to the Federation."); */
prout("¨áª«îç¨â¥«ì® ¥¢ë£®¤ë¬¨ ¤«ï ¥¤¥à 樨.");
}
else
/* prout("The Federation will be destroyed."); */
prout("¥¤¥à æ¨ï ¡ã¤¥â ã¨ç⮦¥ .");
}
else {
/* prout("Since you took the last Klingon with you, you are a");
prout("martyr and a hero. Someday maybe they'll erect a");
prout("statue in your memory. Rest in peace, and try not");
prout("to think about pigeons.");
*/ prout("ë § ¡à «¨ ¯®á«¥¤¥£® ª«¨£® á ᮡ®© â®â ᢥâ.");
prout(" è £¥à®¨ç¥áª ï ¦¥à⢠¥ ¡ã¤¥â § ¡ëâ ¨, ¢®§¬®¦®, ¯®â®¬ª¨ ¤ ¦¥");
prout("¢®§¢¥¤ãâ áâ âî ¢ èã ç¥áâì. ®ª®©â¥áì á ¬¨à®¬ ¨ áâ à ©â¥áì");
prout("¥ ¤ã¬ âì ® £®«ã¡ïå.");
gamewon = 1;
}
score(0);
}
void score(int inGame) {
double timused = d.date - indate;
int ithperd, iwon, klship;
int dnromrem = d.nromrem; // Leave global value alone
if (!inGame) pause(0);
iskill = skill;
if ((timused == 0 || d.remkl != 0) && timused < 5.0) timused = 5.0;
perdate = (d.killc + d.killk + d.nsckill)/timused;
ithperd = 500*perdate + 0.5;
iwon = 0;
if (gamewon) iwon = 100*skill;
if (ship == IHE) klship = 0;
else if (ship == IHF) klship = 1;
else klship = 2;
if (gamewon == 0 || inGame) dnromrem = 0; // None captured if no win or if still in the game
iscore = 10*d.killk + 50*d.killc + ithperd + iwon
- 100*d.basekl - 100*klship - 45*nhelp -5*d.starkl - casual
+ 20*d.nromkl + 200*d.nsckill - 10*d.nplankl + dnromrem;
#ifdef CLOAKING
iscore -= 100*ncviol;
#endif
#ifdef CAPTURE
iscore += 3*kcaptured;
#endif
if (alive == 0) iscore -= 200;
skip(2);
/* if (inGame) prout("Your score so far --");
else prout("Your score --");
*/ if (inGame) prout(" ¤ ë© ¬®¬¥â ¢ è¨ ¡ ««ë --");
else prout(" è¨ ¡ ««ë --");
if (d.nromkl)
/* printf(d.nromkl> 1 ? "%6d Romulan ships destroyed %5d\n" : "%6d Romulan ship destroyed %5d\n", */
printf(d.
nromkl> 1 ? "%6d à®¬ã« áª¨å ª®à ¡«¥© ã¨ç⮦¥® %5d\n" : "%6d à®¬ã« áª¨å ª®à ¡«¥© ã¨ç⮦¥® %5d\n",
d.nromkl, 20*d.nromkl);
if (dnromrem)
/* printf(dnromrem > 1 ? "%6d Romulan ships captured %5d\n" : "%6d Romulan ship captured %5d\n", */
printf(dnromrem
> 1 ? "%6d à®¬ã« áª¨å ª®à ¡«¥© § å¢ ç¥® %5d\n" : "%6d à®¬ã« áª¨å ª®à ¡«¥© § å¢ ç¥® %5d\n",
dnromrem, dnromrem);
if (d.killk)
/* printf(d.killk > 1 ? "%6d ordinary Klingon ships destroyed %5d\n" : "%6d ordinary Klingon ship destroyed %5d\n", */
printf(d.
killk > 1 ? "%6d ¡®¥¢ëå ª®à ¡«¥© ª«¨£®®¢ ã¨ç⮦¥® %5d\n" : "%6d ¡®¥¢ëå ª®à ¡«¥© ª«¨£®®¢ ã¨ç⮦¥® %5d\n",
d.killk, 10*d.killk);
if (d.killc)
/* printf(d.killc > 1 ? "%6d Klingon Commander ships destroyed %5d\n" : "%6d Klingon Commander ship destroyed %5d\n", */
printf(d.
killc > 1 ? "%6d ª«¨£®áª¨å ®¬ ¤¥à®¢ ã¨ç⮦¥® %5d\n" : "%6d ª«¨£®áª¨å ®¬ ¤¥à®¢ ã¨ç⮦¥® %5d\n",
d.killc, 50*d.killc);
if (d.nsckill)
/* printf("%6d Super-Commander ship destroyed %5d\n", */
printf("%6d 㯥஬¬ ¤¥à®¢ ã¨ç⮦¥® %5d\n",
d.nsckill, 200*d.nsckill);
if (ithperd)
/* printf("%6.2f Klingons per stardate %5d\n", */
printf("%6.2f ª«¨£®®¢ ¢ á।¥¬ § ¤ âã %5d\n",
perdate, ithperd);
#ifdef CAPTURE
if (kcaptured)
/* printf(kcaptured > 1 ? "%6d Klingons captured %5d\n" : "%6d Klingon captured %5d\n", */
printf(kcaptured
> 1 ? "%6d ª«¨£®®¢ § å¢ ç¥® %5d\n" : "%6d ª«¨£®®¢ § å¢ ç¥® %5d\n",
kcaptured, 3*kcaptured);
#endif
if (d.starkl)
/* printf(d.starkl > 1 ? "%6d stars destroyed by your action %5d\n" : "%6d star destroyed by your action %5d\n", */
printf(d.
starkl > 1 ? "%6d §¢¥§¤ ã¨ç⮦¥® ¢ 訬¨ ¤¥©á⢨ﬨ %5d\n" : "%6d §¢¥§¤ ã¨ç⮦¥® ¢ 訬¨ ¤¥©á⢨ﬨ %5d\n",
d.starkl, -5*d.starkl);
if (d.nplankl)
/* printf(d.nplankl > 1 ? "%6d planets destroyed by your action %5d\n" : "%6d planet destroyed by your action %5d\n", */
printf(d.
nplankl > 1 ? "%6d ¯« ¥â ã¨ç⮦¥® ¢ 訬¨ ¤¥©á⢨ﬨ %5d\n" : "%6d ¯« ¥â ã¨ç⮦¥® ¢ 訬¨ ¤¥©á⢨ﬨ %5d\n",
d.nplankl, -10*d.nplankl);
if (d.basekl)
printf(d.
basekl > 1 ? "%6d áâ 権 ã¨ç⮦¥® ¢ 訬¨ ¤¥©á⢨ﬨ %5d\n" : "%6d áâ 権 ã¨ç⮦¥® ¢ 訬¨ ¤¥©á⢨ﬨ %5d\n",
d.basekl, -100*d.basekl);
if (nhelp)
printf(nhelp
> 1 ? "%6d ¢ë§®¢®¢ ® ¯®¬®é¨ á® áâ 権 %5d\n" : "%6d ¢ë§®¢®¢ ® ¯®¬®é¨ á® áâ 権 %5d\n",
nhelp, -45*nhelp);
if (casual)
printf(casual
> 1 ? "%6d ¯®â¥àì á।¨ íª¨¯ ¦ %5d\n" : "%6d ¯®â¥àì á।¨ íª¨¯ ¦ %5d\n",
casual, -casual);
if (klship)
printf(klship
> 1 ? "%6d ª®à ¡«¥© ¯®â¥àï® ¨«¨ ã¨ç⮦¥® %5d\n" : "%6d ª®à ¡«¥© ¯®â¥àï® ¨«¨ ã¨ç⮦¥® %5d\n",
klship, -100*klship);
#ifdef CLOAKING
if (ncviol>0)
printf(ncviol
> 1 ? "%6d àã襨© «£¥à®áª®£® ᮣ« 襨ï %5d\n" : "%6d àã襨© «£¥à®áª®£® ᮣ« 襨ï %5d\n",
ncviol, -100*ncviol);
#endif
if (alive==0)
/* prout("Penalty for getting yourself killed -200"); */
prout("âà ä § â®, çâ® ë ¤ «¨ ᥡï 㡨âì -200");
if (gamewon) {
skip(1);
/* proutn("Bonus for winning "); */
proutn("®ãá § ¯®¡¥¤ã ");
switch (skill) {
/* case SNOVICE: proutn("Novice game "); break;
case SFAIR: proutn("Fair game "); break;
case SGOOD: proutn("Good game "); break;
case SEXPERT: proutn("Expert game "); break;
case SEMERITUS: proutn("Emeritus game"); break;
*/ case SNOVICE: proutn("£à ®¢¨çª "); break;
case SFAIR: proutn("£à « £¨ "); break;
case SGOOD: proutn("£à ⫨稪 "); break;
case SEXPERT: proutn("£à ªá¯¥àâ "); break;
case SEMERITUS: proutn("£à ¬¥à¨âãá "); break;
}
}
skip(2);
printf("⮣®¢ë© ¡ «« %5d\n", iscore
);/*TOTAL SCORE*/
/* if (inGame && skill < SGOOD) printf("REMEMBER--The score doesn't really matter until the mission is accomplished!\n"); */
if (inGame
&& skill
< SGOOD
) printf("
-- ««ë ¨ç¥£® ¥ § ç â, ¯®ª ¬¨áá¨ï ¥ ®ª®ç¥ !\n");
}
void plaque(void) {
FILE *fp=NULL;
#ifndef KOS32
time_t t;
#else
int kos_date, kos_time;
#endif
char *timestring;
int nskip;
char winner[128];
skip(2);
while (fp == NULL) {
/* printf("File or device name for your plaque:"); */
printf("¢¥¤¨â¥ ¨¬ï ä ©« ¤«ï ¢ è¨å ¤®á⨦¥¨©:");
#ifndef KOS32
fgets(winner
, 128, stdin
);
#else
#endif
winner
[strlen(winner
)-1] = '\0';
if (fp==NULL) {
printf("¥¢¥à®¥ ¨¬ï.\n");/*Invalid name*/
}
}
/* printf("Enter name to go on plaque (up to 30 characters):"); */
printf("¢¥¤¨â¥ ¨¬ï ¤«ï ¯ ¬ï⮣® § çª (¬ ªá¨¬ã¬ 30 ᨬ¢®«®¢):");
#ifndef KOS32
fgets(winner
, 128, stdin
);
#else
#endif
winner
[strlen(winner
)-1] = '\0';
winner[30] = '\0';
nskip
= 64 - strlen(winner
)/2;
/* --------DRAW ENTERPRISE PICTURE. */
fprintf(fp
, " EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE\n" );
fprintf(fp
, " EE EEE E : : NCC-1701 : E\n");
fprintf(fp
, " EEEEEEEEEEEEEEEE EEEEEEEEEEEEEEE E : : : E\n");
fprintf(fp
, " E E EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE\n");
fprintf(fp
, " EEEEEEEEE EEEEEEEEEEEEE E E\n");
fprintf(fp
, " EEEEEEE EEEEE E E E E\n");
fprintf(fp
, " EEEEEEEEEEEEE E E\n");
fprintf(fp
, " EEE : EEEEEEE EEEEEEEE\n");
fprintf(fp
, " EEEEEEEEEEEEEEEEEEEEEEE\n");
fprintf(fp
, " U. S. S. ENTERPRISE\n");
/* fprintf(fp, " For demonstrating outstanding ability as a starship captain\n"); */
fprintf(fp
, " ¯à®ï¢«¥ë¥ ¢ë¤ î騥áï ¤®á⨦¥¨ï ¢ ¤®«¦®á⨠ª ¯¨â ª®á¬¨ç¥áª®£® ª®à ¡«ï\n");
/* fprintf(fp, " Starfleet Command bestows to you\n"); */
fprintf(fp
, " ¢¥§¤®¥ ®¬ ¤®¢ ¨¥ ¯à¥¤áâ ¢«ï¥â á\n");
fprintf(fp
,"%*s%s\n\n", nskip
, "", winner
);
/* fprintf(fp, " the rank of\n\n");
fprintf(fp, " \"Commodore Emeritus\"\n\n");
fprintf(fp
, " \"®¬ ¤®à ¬¥à¨âãá\"\n\n");
switch (iskill) {
/* case SEXPERT: fprintf(fp," Expert level\n\n"); break;
case SEMERITUS: fprintf(fp,"Emeritus level\n\n"); break;
default: fprintf(fp," Cheat level\n\n"); break;
*/ case SEXPERT
: fprintf(fp
," ã஢¥ì ªá¯¥àâ \n\n"); break;
case SEMERITUS
: fprintf(fp
,"ã஢¥ì ¬¥à¨âãá \n\n"); break;
default: fprintf(fp
," ®¡ëçë© ç¨â¥à᪨© ã஢¥ì\n\n"); break;
}
#ifndef KOS32
/* fprintf(fp, " This day of %.6s %.4s, %.8s\n\n", */
fprintf(fp
, " â®â ¤¥ì %.6s %.4s, %.8s\n\n",
timestring+4, timestring+20, timestring+11);
#else
kos_date = _ksys_get_date();
kos_time = _ksys_get_system_clock();
/* fprintf(fp, " This day of %02i/%02i/%02i %02i:%02i:%02i\n\n", */
fprintf(fp
, " â®â ¤¥ì %02i/%02i/%02i %02i:%02i:%02i\n\n",
kos_date >> 16, (kos_date & 0xFF00) >> 8, (kos_date & 0xFF) + 2000,
kos_time & 0xFF, (kos_time & 0xFF00) >> 8, kos_time >> 16 );
#endif
/* fprintf(fp," Your score: %d\n\n", iscore);
fprintf(fp," Klingons per stardate: %.2f\n", perdate);
*/ fprintf(fp
," è ¡ ««: %d\n\n", iscore
);
fprintf(fp
," «¨£®®¢ ¤ âã: %.2f\n", perdate
);
}