home *** CD-ROM | disk | FTP | other *** search
/ C++ Games Programming / CPPGAMES.ISO / thx / demos / mfighter / build / main.cpp < prev    next >
Encoding:
C/C++ Source or Header  |  1995-05-12  |  1.6 KB  |  85 lines

  1. #include <iostream.h>
  2. #include <conio.h>
  3. #include <stdlib.h>
  4. #include <string.h>
  5. #include "menu.h"
  6. #include "match.h"
  7. #include "pages.h"
  8. #include "game.h"
  9. #include "main.h"
  10.  
  11.  
  12. MarbleFighter::MarbleFighter() 
  13.           : Theatrix("Marble Fighter")
  14.   {
  15.   intro=new IntroPage;
  16.   help=new HelpPage;
  17.   match=new Match;
  18.   menu=new Menu;
  19.   }
  20.  
  21. MarbleFighter::~MarbleFighter()
  22.   {
  23.   delete intro;
  24.   delete help;
  25.   delete match;
  26.   delete menu;
  27.   }
  28.  
  29. void MarbleFighter::use_network()
  30.   {
  31.   match->use_network();
  32.   }
  33.  
  34. void MarbleFighter::use_side(int s)
  35.   {
  36.   match->use_side(s);
  37.   }
  38.  
  39. int cmdline_has(int argc,char** argv,char* str)
  40.   {
  41.   char* p;
  42.   for (int i=1;i<argc;i++)
  43.     {
  44.     p=argv[i];
  45.     if (*p=='-' || *p=='/')  p++;
  46.     if (stricmp(p,str)==0)
  47.       return i;
  48.     }
  49.   return 0;
  50.   }
  51.  
  52. void main(int argc,char** argv)
  53.   {
  54.   MarbleFighter mf;
  55.  
  56.   if (cmdline_has(argc,argv,"help"))
  57.     {
  58.     cout << "Marble Fighter options:\n";
  59.     cout << "  -left     <=>  control left fighter\n";
  60.     cout << "  -right    <=>  control right fighter (default)\n";
  61.     cout << "  -net      <=>  play over serial cable\n";
  62.     cout << "  -com <n>  <=>  use com <n> (defaults to 1)\n";
  63.     return;
  64.     }
  65.  
  66.   if (cmdline_has(argc,argv,"net"))
  67.     {
  68.     mf.enable_netpacks();
  69.     mf.use_network();
  70.     int com=cmdline_has(argc,argv,"com");
  71.     if (com)
  72.       mf.use_commport(atoi(argv[com+1])); 
  73.     }
  74.  
  75.   if (cmdline_has(argc,argv,"left"))
  76.     mf.use_side(LEFTGUY);
  77.   else
  78.     mf.use_side(RIGHTGUY);
  79.  
  80.   cout << "use 'MFIGHTER -help' for options\n\n";
  81.   fg_waitfor(18);
  82.  
  83.   mf.go();
  84.   }
  85.