1: /*
   2:  * Copyright (c) 1980 Regents of the University of California.
   3:  * All rights reserved.  The Berkeley software License Agreement
   4:  * specifies the terms and conditions for redistribution.
   5:  */
   6: 
   7: #ifndef lint
   8: static char sccsid[] = "@(#)play.c	5.1 (Berkeley) 1/29/86";
   9: #endif not lint
  10: 
  11: # include   "trek.h"
  12: # include   "getpar.h"
  13: 
  14: /*
  15: **  INSTRUCTION READ AND MAIN PLAY LOOP
  16: **
  17: **	Well folks, this is it.  Here we have the guts of the game.
  18: **	This routine executes moves.  It sets up per-move variables,
  19: **	gets the command, and executes the command.  After the command,
  20: **	it calls events() to use up time, attack() to have Klingons
  21: **	attack if the move was not free, and checkcond() to check up
  22: **	on how we are doing after the move.
  23: */
  24: extern int  abandon(), capture(), shield(), computer(), dcrept(),
  25:         destruct(), dock(), help(), impulse(), lrscan(),
  26:         warp(), dumpgame(), rest(), shell(), srscan(),
  27:         reset(), torped(), visual(), setwarp(), undock(), phaser();
  28: 
  29: struct cvntab   Comtab[] =
  30: {
  31:     "abandon",      "",         abandon,    0,
  32:     "ca",           "pture",        capture,    0,
  33:     "cl",           "oak",          shield, -1,
  34:     "c",            "omputer",      computer,   0,
  35:     "da",           "mages",        dcrept, 0,
  36:     "destruct",     "",         destruct,   0,
  37:     "do",           "ck",           dock,       0,
  38:     "help",         "",         help,       0,
  39:     "i",            "mpulse",       impulse,    0,
  40:     "l",            "rscan",        lrscan, 0,
  41:     "m",            "ove",          warp,       0,
  42:     "p",            "hasers",       phaser, 0,
  43:     "ram",          "",         warp,       1,
  44:     "dump",         "",         dumpgame,   0,
  45:     "r",            "est",          rest,       0,
  46:     "shell",        "",         shell,      0,
  47:     "sh",           "ield",         shield, 0,
  48:     "s",            "rscan",        srscan, 0,
  49:     "st",           "atus",         srscan, -1,
  50:     "terminate",        "",         reset,      0,
  51:     "t",            "orpedo",       torped, 0,
  52:     "u",            "ndock",        undock, 0,
  53:     "v",            "isual",        visual, 0,
  54:     "w",            "arp",          setwarp,    0,
  55:     0
  56: };
  57: 
  58: play()
  59: {
  60:     struct cvntab       *r;
  61: 
  62:     while (1)
  63:     {
  64:         Move.free = 1;
  65:         Move.time = 0.0;
  66:         Move.shldchg = 0;
  67:         Move.newquad = 0;
  68:         Move.resting = 0;
  69:         skiptonl(0);
  70:         r = getcodpar("\nCommand", Comtab);
  71:         (*r->value)(r->value2);
  72:         events(0);
  73:         attack(0);
  74:         checkcond();
  75:     }
  76: }

Defined functions

play defined in line 58; used 1 times

Defined variables

Comtab defined in line 29; used 1 times
  • in line 70
sccsid defined in line 8; never used
Last modified: 1986-02-01
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 896
Valid CSS Valid XHTML 1.0 Strict