|
|
1.1 ! root 1: /* ! 2: * Copyright (c) 1983 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[] = "@(#)pl_2.c 5.1 (Berkeley) 5/29/85"; ! 9: #endif not lint ! 10: ! 11: #include "player.h" ! 12: ! 13: play() ! 14: { ! 15: register struct ship *sp; ! 16: ! 17: for (;;) { ! 18: switch (sgetch("~\b", (struct ship *)0, 0)) { ! 19: case 'm': ! 20: acceptmove(); ! 21: break; ! 22: case 's': ! 23: acceptsignal(); ! 24: break; ! 25: case 'g': ! 26: grapungrap(); ! 27: break; ! 28: case 'u': ! 29: unfoulplayer(); ! 30: break; ! 31: case 'v': ! 32: Signal("%s", (struct ship *)0, version); ! 33: break; ! 34: case 'b': ! 35: acceptboard(); ! 36: break; ! 37: case 'f': ! 38: acceptcombat(); ! 39: break; ! 40: case 'l': ! 41: loadplayer(); ! 42: break; ! 43: case 'c': ! 44: changesail(); ! 45: break; ! 46: case 'r': ! 47: repair(); ! 48: break; ! 49: case 'B': ! 50: Signal("'Hands to stations!'", (struct ship *)0); ! 51: unboard(ms, ms, 1); /* cancel DBP's */ ! 52: unboard(ms, ms, 0); /* cancel offense */ ! 53: break; ! 54: case '\f': ! 55: centerview(); ! 56: blockalarm(); ! 57: draw_board(); ! 58: draw_screen(); ! 59: unblockalarm(); ! 60: break; ! 61: case 'L': ! 62: mf->loadL = L_EMPTY; ! 63: mf->loadR = L_EMPTY; ! 64: mf->readyL = R_EMPTY; ! 65: mf->readyR = R_EMPTY; ! 66: Signal("Broadsides unloaded", (struct ship *)0); ! 67: break; ! 68: case 'q': ! 69: Signal("Type 'Q' to quit", (struct ship *)0); ! 70: break; ! 71: case 'Q': ! 72: leave(LEAVE_QUIT); ! 73: break; ! 74: case 'I': ! 75: foreachship(sp) ! 76: if (sp != ms) ! 77: eyeball(sp); ! 78: break; ! 79: case 'i': ! 80: if ((sp = closestenemy(ms, 0, 1)) == 0) ! 81: Signal("No more ships left."); ! 82: else ! 83: eyeball(sp); ! 84: break; ! 85: case 'C': ! 86: centerview(); ! 87: blockalarm(); ! 88: draw_view(); ! 89: unblockalarm(); ! 90: break; ! 91: case 'U': ! 92: upview(); ! 93: blockalarm(); ! 94: draw_view(); ! 95: unblockalarm(); ! 96: break; ! 97: case 'D': ! 98: case 'N': ! 99: downview(); ! 100: blockalarm(); ! 101: draw_view(); ! 102: unblockalarm(); ! 103: break; ! 104: case 'H': ! 105: leftview(); ! 106: blockalarm(); ! 107: draw_view(); ! 108: unblockalarm(); ! 109: break; ! 110: case 'J': ! 111: rightview(); ! 112: blockalarm(); ! 113: draw_view(); ! 114: unblockalarm(); ! 115: break; ! 116: case 'F': ! 117: lookout(); ! 118: break; ! 119: case 'S': ! 120: dont_adjust = !dont_adjust; ! 121: blockalarm(); ! 122: draw_turn(); ! 123: unblockalarm(); ! 124: break; ! 125: } ! 126: } ! 127: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.