home *** CD-ROM | disk | FTP | other *** search
/ Collection of Hack-Phreak Scene Programs / cleanhpvac.zip / cleanhpvac / TIERRA40.ZIP / BEAGLE / BEAGLE.C < prev    next >
C/C++ Source or Header  |  1992-09-11  |  3KB  |  96 lines

  1. /* beagle.c  22-3-92  Exploratory program for the Tierra Simulator */
  2. /*** Beagle Explorer: Version 3.1  Copyright (c) 1990, 1991, 1992  Tom Ray ***/
  3. /* beagle uses Greenleaf Datawindows to handle the user interface */
  4. /* compiled with Borland Turbo C V2.0 */
  5.  
  6. #include "beagle.h"
  7. #include "declareb.h"
  8.  
  9. int    firstop = 1, resminmax;
  10. float  ds = 1;
  11. char   dv[4] = "scr";
  12. char   directory[80] = "d:\\tiedat\\ex01", info_file[53];
  13. /* char   directory[80] = "c:\\tierra\\td", info_file[53]; */
  14. unsigned  _stklen = 60000;
  15.  
  16. struct last_out  lo;
  17.  
  18. TRANSACTION  *ptse;
  19. HWND         whse;
  20. MENUHDR      *mmain;
  21. MENUITEM     *mbar, *mtrac, *mdiv, *mtemp, *mprob, *mprep, *quit, *select;
  22.  
  23. void helpfn(MENUITEM  *), writehelp(char  *);
  24.  
  25. void main(void)
  26. {   static int   first = 1;
  27. /*  char  path[46] = "e:/tc/bgi"; */
  28.     char  path[46] = "c:/tc/bgi";
  29.  
  30.     if(first)
  31.     {   first = resminmax = xywin.n = cad = hp = 0;
  32.         scr = xywin.f = 1;
  33.         wind_setup();
  34.      /* if(scr) grwisetup(path); */
  35.         if(scr) grinit(path);
  36.     }
  37.     if(resminmax) { xywin.f = 1; xywin.n = resminmax = 0; }
  38.     mmain = MNUCreateHdr(POPUP);
  39.     mmain->toprow = 5;
  40.     mmain->topcol = 15;
  41. /*
  42.     mmain->uattr  = 8;
  43.     mmain->dattr  = 16;
  44.     mmain->lattr  = 13;
  45. */
  46.     mbar = MNUAddItem("Bars",      "running size distribution      ",'B',0,
  47.         NULL,mmain,bars);
  48.     mtrac = MNUAddItem("Trace",    "x,y-trajectory of two sizes    ",'T',0,
  49.         NULL,mmain,trace);
  50.     mtrac = MNUAddItem("Diversity","diversity, age, time indices   ",'D',0,
  51.         NULL,mmain,diverse);
  52.     mtemp = MNUAddItem("Template", "find templates in creatures    ",'T',0,
  53.         NULL,mmain,template);
  54.     mprob = MNUAddItem("Probe",    "probe one genome with another  ",'P',0,
  55.         NULL,mmain,probe);
  56.     mprep = MNUAddItem("Prepare",  "prepare output for bar or trace",'P',0,
  57.         NULL,mmain,NULLF);
  58.     quit = MNUAddItem("Quit",      "exit from program              ",'Q',ALTQ,
  59.         NULL,mmain,NULLF);
  60.     MNUAddItem("Run Info","make run_info file  ", 'R',0,mprep,mmain,gtierunc);
  61.     MNUAddItem("Fragment","make fragment of run", 'F',0,mprep,mmain,fragment);
  62.     MNUSetGlobalHelp(mmain,helpfn);
  63.     do  { select = MNUDoSelect(mmain,NULLF); }
  64.         while(select != quit);
  65.     MNUDeleteMenu(mmain);
  66.     fclose(ouf);
  67.     if(scr) { closegraph(); vexit(0); }
  68.     vexit(0);
  69. }
  70.  
  71. void helpfn(MENUITEM  *item)
  72. {   char  *ret, lib[6];
  73.  
  74.     if(item == mbar)
  75.         strcpy(lib,"Bars");
  76.     else if(item == mtrac)
  77.         strcpy(lib,"Trace");
  78.     ret = ExtractFromHelpFile("beagle.hlp",lib);
  79.     if(ret)
  80.         writehelp(ret);
  81. }
  82.  
  83. void writehelp(char  *string)
  84. {   HWND  wihe;
  85.  
  86.     wihe = vcreat(6,30,HELP,YES);
  87.     vlocate(wihe,15,25);
  88.     wordwrap(wihe,ON);
  89.     vframe(wihe,REVHELP,FRSINGLE);
  90.     visible(wihe,YES,YES);
  91.     vdispstr(wihe,string);
  92.     vdispstr(wihe,"\nPress Any Key...");
  93.     getkey();
  94.     vdelete(wihe,NONE);
  95. }
  96.