|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T m
Length: 1777 (0x6f1) Types: TextFile Names: »main.c«
└─⟦b20c6495f⟧ Bits:30007238 EUUGD18: Wien-båndet, efterår 1987 └─⟦this⟧ »EUUGD18/General/Ogre/main.c«
/* OGRE: a tactical ground combat game set in 2085. Adapted from the Metagaming Microgame by Steve Jackson. This version was written for a Vax 11/780 under Unix by Michael Caplinger, Rice University, February-March 1982. Paper game (c) 1977 by Steve Jackson This implementation (c) 1982, 1984 by Michael Caplinger */ #include <signal.h> #define MAIN #include "ext.h" main(argc, argv) char **argv; { int handler(); int mark; signal(SIGINT, handler); if(argc > 1) switch(argv[1][0]) { case '3': mark = 3; break; case '5': mark = 5; break; default: mark = 3; break; } else mark = 3; set_term(); srand(time(0)); init_units(mark); init_ogre(mark); disp_ogre_status(TRUE); while(1) { init_round(); /* The Ogre fires. */ assign_fire_ogre(); check_over(); /* Player moves, and fires. */ move_def(); attack_def(); /* Let the GEVs move their extra 3 turns. */ init_gev2(); move_def(); /* The Ogre moves. */ move_ogre(); check_over(); } } handler() { clear_screen(); reset_term(); exit(0); } /* See if the game is over, and die if it is. */ check_over() { char *message; int over; over = FALSE; if(unit[0].status == DESTROYED) { message = "The Ogre wins!!"; over = TRUE; } if(ogre.movement == 0) { message = "You win!!"; over = TRUE; } if(over) { clear_screen(); reset_term(); printf("%s\n", message); exit(0); } }