|
|
1.1 ! root 1: #ifndef lint ! 2: static char *sccsid = "@(#)info.c 1.1 83/03/17"; ! 3: #endif ! 4: #include "externs.h" ! 5: ! 6: char * ! 7: speed(n) ! 8: int n; ! 9: { ! 10: switch(n) ! 11: { ! 12: case 1: ! 13: return("light breeze"); ! 14: case 2: ! 15: return("moderate breeze"); ! 16: case 3: ! 17: return("fresh breeze"); ! 18: case 4: ! 19: return("strong breeze"); ! 20: case 5: ! 21: return("gale"); ! 22: default: ! 23: return("radioactive winds"); ! 24: } ! 25: } ! 26: ! 27: char * ! 28: wind(n) ! 29: int n; ! 30: { ! 31: switch(scene[n].winddir) ! 32: { ! 33: case 1: ! 34: return("S"); ! 35: case 2: ! 36: return("SW"); ! 37: case 3: ! 38: return("W"); ! 39: case 4: ! 40: return("NW"); ! 41: case 5: ! 42: return("N"); ! 43: case 6: ! 44: return("NE"); ! 45: case 7: ! 46: return("E"); ! 47: case 8: ! 48: return("SE"); ! 49: default: ! 50: return("Lost in space"); ! 51: } ! 52: } ! 53: ! 54: char ! 55: colours(ship) ! 56: int ship; ! 57: { ! 58: switch(ship) ! 59: { ! 60: case 0: ! 61: return('a'); ! 62: case 1: ! 63: return('b'); ! 64: case 2: ! 65: return('s'); ! 66: case 3: ! 67: return('f'); ! 68: default: ! 69: return('z'); ! 70: } ! 71: } ! 72: ! 73: char * ! 74: quality(game, shipnum) ! 75: int shipnum; ! 76: int game; ! 77: { ! 78: switch(specs[scene[game].ship[shipnum].shipnum].qual) ! 79: { ! 80: case 5: ! 81: return("elite"); ! 82: case 4: ! 83: return("crack"); ! 84: case 3: ! 85: return("average"); ! 86: case 2: ! 87: return("green"); ! 88: case 1: ! 89: return("mutinous"); ! 90: default: ! 91: return("stoned"); ! 92: } ! 93: } ! 94: ! 95: char * ! 96: info(game, ship, final) ! 97: int game; ! 98: int ship; ! 99: char * final; ! 100: { ! 101: sprintf(final, "%d gun ", specs[scene[game].ship[ship].shipnum].guns); ! 102: switch(specs[scene[game].ship[ship].shipnum].class) ! 103: { ! 104: case 1: ! 105: strcat(final, "3 Decker SOL"); ! 106: break; ! 107: case 2: ! 108: strcat(final, "Ship of the Line"); ! 109: break; ! 110: case 3: ! 111: strcat(final, "Frigate"); ! 112: break; ! 113: case 4: ! 114: strcat(final, "Corvette"); ! 115: break; ! 116: case 5: ! 117: strcat(final, "Sloop"); ! 118: break; ! 119: case 6: ! 120: strcat(final, "Brig"); ! 121: break; ! 122: } ! 123: return(final); ! 124: } ! 125: ! 126: main() ! 127: { ! 128: char buf[80]; ! 129: register int n,j; ! 130: ! 131: for (n=0; n < NUMOFSCENES; n++) ! 132: { ! 133: printf("\n(%d) %s: Wind from the %s, blowing a %s.\n", ! 134: n, ! 135: scene[n].name, ! 136: wind(n), ! 137: speed(scene[n].windspeed)); ! 138: for (j = 0; j < scene[n].vessels; j++) ! 139: printf("\t(%c) %-18s%s (%s crew) (%d pts)\n", ! 140: colours(scene[n].ship[j].nationality), ! 141: scene[n].ship[j].shipname, ! 142: info(n, j, buf), ! 143: quality(n, j), ! 144: specs[scene[n].ship[j].shipnum].pts); ! 145: } ! 146: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.