X-Git-Url: http://git.shiar.net/netris.git/blobdiff_plain/0e779d807aa1830dde2f4a75117fd16f5627dc76..e7c197505ec760eb3754f3b6d1fbbc33c66a9316:/game.c diff --git a/game.c b/game.c index 6ad7e8b..21e70b7 100644 --- a/game.c +++ b/game.c @@ -15,8 +15,6 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - * - * $Id: game.c,v 1.39 1999/05/16 06:56:27 mhw Exp $ */ #define NOEXT @@ -52,14 +50,17 @@ static struct option options[] = { { 0, 0, 0, 0 } }; -enum { KT_left, KT_right, KT_rotright, KT_rotleft, KT_drop, KT_down, - KT_faster, KT_pause, KT_redraw, KT_quit, KT_numKeys }; +enum { + KT_left, KT_right, KT_rotright, KT_rotleft, KT_drop, KT_down, + KT_faster, KT_pause, KT_redraw, KT_quit, KT_numKeys +}; static char *keyNames[KT_numKeys+1] = { "Left", "Right", "RotRight", "RotLeft", "Drop", "Down", - "Faster", "Pause", "Redraw", "Quit", NULL }; + "Faster", "Pause", "Redraw", "Quit", NULL +}; -_Sets Sets = {7, 0, 1, 1, 1}; //Sets +_Sets Sets = {7, 0, 1, 1, 1}; static char keyTable[KT_numKeys+1]; @@ -96,13 +97,13 @@ void MapKeys(char *newKeys) fprintf(stderr, "Duplicate key mappings:\n"); errs++; fprintf(stderr, " %s mapped to both %s and %s\n", - scratch, keyNames[used[ch]-1], keyNames[k]); + scratch, keyNames[used[ch]-1], keyNames[k]); } used[ch] = k + 1; } if (errs) exit(1); -} //MapKeys +} void WriteConf(void) { @@ -116,7 +117,7 @@ void WriteConf(void) fclose(file_out); fprintf(stderr, "Wrote new game configuration to %s\n", CONFIG_FILE); -} //WriteConf +} void HandleOption(char tag, char *value) { @@ -159,17 +160,23 @@ void HandleOption(char tag, char *value) else Sets.standout = 0; break; case 'k': //keys - MapKeys(value); break; + MapKeys(value); + break; case 'H': //info - DistInfo(); exit(0); + Header(); + DistInfo(); + exit(0); case 'R': //rules - Rules(); exit(0); + Rules(); + exit(0); case 'h': //help - Usage(); exit(0); + Usage(); + exit(0); default: - Usage(); exit(1); + Usage(); + exit(1); } -} //HandleParam +} void ReadConf(char *filename) { @@ -184,7 +191,7 @@ void ReadConf(char *filename) while (fgets(buf, 512, file_in) != NULL) { if ((ch = strchr(buf, '#'))) *ch = '\0'; // truncate string from # char - for (i = strlen(buf)-1; i >= 0; i--) + for (i = strlen(buf) - 1; i >= 0; i--) if (buf[i] == ' ' || buf[i] == '\n' || buf[i] == '\t' || buf[i] == 13) buf[i] = '\0'; else break; @@ -203,7 +210,7 @@ void ReadConf(char *filename) fprintf(stderr, "Unable to open config file %s.\n", filename); } //defaults -} //ReadConf +} int StartNewPiece(int scr, char shape) { @@ -215,7 +222,7 @@ int StartNewPiece(int scr, char shape) Players[scr].curY = Players[scr].boardVisible + 4; Players[scr].curX = Players[scr].boardWidth / 2 - 2; while (!ShapeVisible(Players[scr].curShape, scr, - Players[scr].curY, Players[scr].curX)) + Players[scr].curY, Players[scr].curX)) Players[scr].curY--; if (!ShapeFits(Players[scr].curShape, scr, Players[scr].curY, Players[scr].curX)) @@ -233,7 +240,7 @@ void checkPaused(void) for (i = 1; i < MAX_SCREENS; i++) if (Players[i].alive > 0) paused |= Players[i].flags & SCF_paused; if (paused) paused = 1; -} //checkPaused +} void StartGame(void) { //init new game @@ -246,7 +253,7 @@ void StartGame(void) Game.speed /= SPEEDINC; if (Game.speed < SPEEDMINIMUM) Game.speed = SPEEDMINIMUM; - ResetBaseTime(); //reset timer + ResetBaseTime(); //reset timer SetITimer(Game.speed, Game.speed); Players[me].nextShape = ChooseOption(stdOptions); for (i = 1; i <= maxPlayer; i++) { @@ -256,7 +263,7 @@ void StartGame(void) ClearField(i); } //reset all players InitFields(); -} //StartGame +} void CheckClears(int scr) { //check for full lines @@ -265,7 +272,7 @@ void CheckClears(int scr) // int linevaluesq[] = { 25, 50, 100, 200, 500, 720, 980, 1280, 1620, 2000, // 2420, 2880, 3380, 3920, 4500, 5120, 5780, 6480 }; int linevaluesq[] = { 20, 50, 100, 200, 500, 750, 1000, 1250, 1500, 2000, - 2500, 3000, 3500, 4000, 4500, 5000, 6000, 7500 }; + 2500, 3000, 3500, 4000, 4500, 5000, 6000, 7500 }; if ((linesCleared = ClearFullLines(scr)) > 0) { if (game == GT_onePlayer) @@ -301,7 +308,7 @@ void CheckClears(int scr) } //singleplayer } //IT'S YOU } //lines cleared -} //CheckClears +} void OneGame(void) { @@ -371,7 +378,7 @@ void OneGame(void) if (!Sets.dropmode) gameStatus = 1; //instadrop } else gameStatus = 1; //dropped - dropMode = Sets.dropmode>1; + dropMode = Sets.dropmode > 1; break; case KT_faster: if (game != GT_onePlayer) break; @@ -462,11 +469,11 @@ void OneGame(void) netint4 data[3]; short column; - if (Players[me].alive<=0) break; + if (Players[me].alive <= 0) break; memcpy(data, net.data, sizeof(data[0])); column = Random(0, Players[me].boardWidth); Message("\\%d%s sends %d lines", - Players[net.uid].team>7 ? 7 : Players[net.uid].team, + Players[net.uid].team > 7 ? 7 : Players[net.uid].team, Players[net.uid].name, data[0]); lastadd = net.uid; InsertJunk(me, Players[net.uid].team, data[0], column); @@ -480,7 +487,7 @@ void OneGame(void) case NP_msg: { Message("<\\%d%s\\7> %s", - Players[net.uid].team>7 ? 7 : Players[net.uid].team, + Players[net.uid].team > 7 ? 7 : Players[net.uid].team, Players[net.uid].name, net.data, net.type); break; } //chat @@ -491,30 +498,30 @@ void OneGame(void) Game.started = 2; paused = 0; Message("The game has started"); - for (i = 1; i0) + for (i = 1; i < MAX_SCREENS; i++) if (Players[i].alive > 0) ShowPause(i); break; } //start game case NP_stop: { - if (Game.started>1) { + if (Game.started > 1) { int winner; float timer; int i; Message("The game has ended"); - timer = CurTimeval()/1e6; - if (timer>5) { - for (i = MAX_SCREENS-1; i>0; i--) if (Players[i].alive>=0) { + timer = CurTimeval() / 1e6; + if (timer > 5) { + for (i = MAX_SCREENS-1; i > 0; i--) if (Players[i].alive >= 0) { Message("\\%d%10s%6.1fp%5.1fa", - Players[i].team>7 ? 7 : Players[i].team, Players[i].name, - Players[i].score.pieces/timer*60, - Players[i].score.adds/timer*60); - if (Players[i].alive>0) winner = i; + Players[i].team > 7 ? 7 : Players[i].team, Players[i].name, + Players[i].score.pieces / timer * 60, + Players[i].score.adds / timer * 60); + if (Players[i].alive > 0) winner = i; } //show player stats if (winner) Message("%s won after %0.0f'%02d\"", - Players[winner].name, timer/60, (int)timer%60); + Players[winner].name, timer / 60, (int)timer % 60); } //show game stats Message(NULL); } //game was playing @@ -523,7 +530,7 @@ void OneGame(void) { int i; - for (i = 1; i=0) { + for (i = 1; i < MAX_SCREENS; i++) if (Players[i].alive >= 0) { Players[i].alive = 1; Players[i].flags |= SCF_paused; } //reset players @@ -545,12 +552,12 @@ void OneGame(void) memcpy(&Players[net.uid], net.data, net.size); ClearField(net.uid); InitFields(); - if (Players[net.uid].team>7) + if (Players[net.uid].team > 7) Message("%s joined the game", Players[net.uid].name); else Message("%s joined %s team", Players[net.uid].name, teams[Players[net.uid].team]); - if (Players[net.uid].flags&SCF_paused) { + if (Players[net.uid].flags & SCF_paused) { checkPaused(); } //player has paused // DrawField(net.uid); @@ -563,7 +570,7 @@ void OneGame(void) char s[20]; Players[net.uid].flags ^= SCF_paused; - if (Game.started>1) + if (Game.started > 1) strcpy(s, Players[net.uid].flags&SCF_paused ? "paused the game" : "unpaused the game"); else @@ -592,13 +599,13 @@ void OneGame(void) memcpy(&i, net.data, sizeof(i)); Players[net.uid].alive = 0; if (i == me) Message("\\%dYou fragged %s", - Players[me].team>7 ? 7 : Players[me].team, Players[net.uid].name); + Players[me].team > 7 ? 7 : Players[me].team, Players[net.uid].name); else if (i==net.uid) Message("\\%d%s died", - Players[i].team>7 ? 7 : Players[i].team, Players[i].name); + Players[i].team > 7 ? 7 : Players[i].team, Players[i].name); else Message("\\%d%s fragged %s", - Players[i].team>7 ? 7 : Players[i].team, Players[i].name, + Players[i].team > 7 ? 7 : Players[i].team, Players[i].name, Players[net.uid].name); checkPaused(); ShowPause(net.uid); @@ -727,8 +734,9 @@ int main(int argc, char **argv) // ReadConf(optarg); // else ReadConf(CONFIG_FILE); - while ((ch = getopt_long(argc, argv, - "hHRk:c:n:odDSCap:i:l:t:", options, NULL)) != -1) + while ((ch = getopt_long( + argc, argv, "hHRk:c:n:odDSCap:i:l:t:", options, NULL + )) != -1) HandleOption(ch, optarg); if (optind < argc) { Usage(); @@ -736,7 +744,8 @@ int main(int argc, char **argv) } // WriteConf(); - InitScreens(); //setup screen + InitScreens(); //setup screen + if (game == GT_classicTwo) { spied = 1; InitiateConnection(hostStr, port); @@ -756,7 +765,3 @@ int main(int argc, char **argv) return 0; } -/* - * vi: ts=4 ai - * vim: noai si - */