home *** CD-ROM | disk | FTP | other *** search
/ Hall of Fame Game Cube 5: Strategy / aztechhalloffamegamecubedisc5- / flip / prefer.cpp < prev    next >
C/C++ Source or Header  |  1994-07-15  |  8KB  |  349 lines

  1. //REGEN_FILEHEADING
  2. //REGEN_FILEHEADING
  3.  
  4.      /********************************************************************
  5.       *                                                                  *
  6.       *   Source File: PREFER.cpp                                        *
  7.       *   Description: Dialog implementation for FLIPIT                  *
  8.       *   Date:        Sat Jun 25 15:12:32 1994                          *
  9.       *                                                                  *
  10.       ********************************************************************/
  11.  
  12. #include <owl.h>
  13. #include <edit.h>
  14. #include <listbox.h>
  15. #include <combobox.h>
  16. #include <scrollba.h>
  17. #include <dialog.h>
  18. #include <bwcc.h>
  19. #include "FlipitID.h"
  20. #include "FlipiCls.h"
  21.  
  22.  
  23. //REGEN_VARIABLES
  24. #include <bradio.h>
  25. extern int Player,BoardSize,Player1,Player2,Difficulty;
  26. extern HWND ghWindow;
  27. extern BOOL bDefault;
  28. //REGEN_VARIABLES
  29.  
  30. extern HINSTANCE hInst;
  31.  
  32.  
  33. // Define TPREFERDlg, a TDialog constructor
  34. TPREFERDlg::TPREFERDlg(PTWindowsObject AParent, LPSTR AName)
  35.                :TDialog(AParent, AName)
  36. {
  37.  
  38.    //REGEN_PREFER_CONSTRUCTOR
  39.    Rb201 = new TBRadioButton(this,201,NULL,NULL);
  40.    Rb202 = new TBRadioButton(this,202,NULL,NULL);
  41.    Rb204 = new TBRadioButton(this,204,NULL,NULL);
  42.    Rb205 = new TBRadioButton(this,205,NULL,NULL);
  43.    Rb207 = new TBRadioButton(this,207,NULL,NULL);
  44.    Rb208 = new TBRadioButton(this,208,NULL,NULL);
  45.    Rb210 = new TBRadioButton(this,210,NULL,NULL);
  46.    Rb211 = new TBRadioButton(this,211,NULL,NULL);
  47.    Rb212 = new TBRadioButton(this,212,NULL,NULL);
  48.    Rb213 = new TBRadioButton(this,213,NULL,NULL);
  49.    Cb214 = new TCheckBox(this,214,NULL,NULL);
  50.    //REGEN_PREFER_CONSTRUCTOR
  51.  
  52. }
  53.  
  54. // Define TPREFERDlg destructor
  55. TPREFERDlg::~TPREFERDlg()
  56. {
  57.  
  58.    //REGEN_PREFER_DESTRUCTOR
  59.    delete(Rb201);
  60.    delete(Rb202);
  61.    delete(Rb204);
  62.    delete(Rb205);
  63.    delete(Rb207);
  64.    delete(Rb208);
  65.    delete(Rb210);
  66.    delete(Rb211);
  67.    delete(Rb212);
  68.    delete(Rb213);
  69.    SetTimer(ghWindow,10,1500,NULL);
  70.    //REGEN_PREFER_DESTRUCTOR
  71.  
  72. }
  73.  
  74. void TPREFERDlg::RTPREFER204(RTMessage Msg)
  75. {
  76.    switch(Msg.LP.Hi)
  77.    {
  78.       case BN_CLICKED :
  79.       //REGEN_PREFER204_ROUTING
  80.       Rb204->Check();
  81.       Rb205->Uncheck();
  82.       //REGEN_PREFER204_ROUTING
  83.       break;
  84.    }
  85. }
  86.  
  87. void TPREFERDlg::RTPREFER205(RTMessage Msg)
  88. {
  89.    switch(Msg.LP.Hi)
  90.    {
  91.       case BN_CLICKED :
  92.       //REGEN_PREFER205_ROUTING
  93.       Rb205->Check();
  94.       Rb204->Uncheck();
  95.       //REGEN_PREFER205_ROUTING
  96.       break;
  97.    }
  98. }
  99.  
  100. void TPREFERDlg::RTPREFER207(RTMessage Msg)
  101. {
  102.    switch(Msg.LP.Hi)
  103.    {
  104.       case BN_CLICKED :
  105.       //REGEN_PREFER207_ROUTING
  106.       Rb207->Check();
  107.       Rb208->Uncheck();
  108.       //REGEN_PREFER207_ROUTING
  109.       break;
  110.    }
  111. }
  112.  
  113. void TPREFERDlg::RTPREFER208(RTMessage Msg)
  114. {
  115.    switch(Msg.LP.Hi)
  116.    {
  117.       case BN_CLICKED :
  118.       //REGEN_PREFER208_ROUTING
  119.       Rb208->Check();
  120.       Rb207->Uncheck();
  121.       //REGEN_PREFER208_ROUTING
  122.       break;
  123.    }
  124. }
  125.  
  126. void TPREFERDlg::RTPREFER213(RTMessage Msg)
  127. {
  128.    switch(Msg.LP.Hi)
  129.    {
  130.       case BN_CLICKED :
  131.       //REGEN_PREFER213_ROUTING
  132.        Rb213->Check();
  133.        Rb201->Uncheck();
  134.        Rb202->Uncheck();
  135.       //REGEN_PREFER213_ROUTING
  136.       break;
  137.    }
  138. }
  139.  
  140. void TPREFERDlg::RTPREFER201(RTMessage Msg)
  141. {
  142.    switch(Msg.LP.Hi)
  143.    {
  144.       case BN_CLICKED :
  145.       //REGEN_PREFER201_ROUTING
  146.        Rb213->Uncheck();
  147.        Rb201->Check();
  148.        Rb202->Uncheck();
  149.       //REGEN_PREFER201_ROUTING
  150.       break;
  151.    }
  152. }
  153.  
  154. void TPREFERDlg::RTPREFER202(RTMessage Msg)
  155. {
  156.    switch(Msg.LP.Hi)
  157.    {
  158.       case BN_CLICKED :
  159.       //REGEN_PREFER202_ROUTING
  160.        Rb213->Uncheck();
  161.        Rb201->Uncheck();
  162.        Rb202->Check();
  163.       //REGEN_PREFER202_ROUTING
  164.       break;
  165.    }
  166. }
  167.  
  168. void TPREFERDlg::RTPREFER210(RTMessage Msg)
  169. {
  170.    switch(Msg.LP.Hi)
  171.    {
  172.       case BN_CLICKED :
  173.       //REGEN_PREFER210_ROUTING
  174.       Rb210->Check();
  175.       Rb211->Uncheck();
  176.       Rb212->Uncheck();
  177.       //REGEN_PREFER210_ROUTING
  178.       break;
  179.    }
  180. }
  181.  
  182. void TPREFERDlg::RTPREFER211(RTMessage Msg)
  183. {
  184.    switch(Msg.LP.Hi)
  185.    {
  186.       case BN_CLICKED :
  187.       //REGEN_PREFER211_ROUTING
  188.       Rb210->Uncheck();
  189.       Rb211->Check();
  190.       Rb212->Uncheck();
  191.       //REGEN_PREFER211_ROUTING
  192.       break;
  193.    }
  194. }
  195.  
  196. void TPREFERDlg::RTPREFER212(RTMessage Msg)
  197. {
  198.    switch(Msg.LP.Hi)
  199.    {
  200.       case BN_CLICKED :
  201.       //REGEN_PREFER212_ROUTING
  202.       Rb210->Uncheck();
  203.       Rb211->Uncheck();
  204.       Rb212->Check();
  205.       //REGEN_PREFER212_ROUTING
  206.       break;
  207.    }
  208. }
  209.  
  210. void TPREFERDlg::RTPREFER214(RTMessage Msg)
  211. {
  212.    switch(Msg.LP.Hi)
  213.    {
  214.       case BN_CLICKED :
  215.       //REGEN_PREFER214_ROUTING
  216.       Cb214->Toggle();
  217.       //REGEN_PREFER214_ROUTING
  218.       break;
  219.    }
  220. }
  221.  
  222. void TPREFERDlg::Ok(RTMessage Msg)
  223. {
  224.    switch(Msg.LP.Hi)
  225.    {
  226.       case BN_CLICKED :
  227.       //REGEN_PREFERIDOK_ROUTING
  228.     if (Rb201->GetCheck() == BF_CHECKED && BoardSize != 8 ||
  229.             Rb202->GetCheck() == BF_CHECKED && BoardSize != 10 ||
  230.         Rb213->GetCheck() == BF_CHECKED && BoardSize != 6 ||
  231.             Rb210->GetCheck() == BF_CHECKED && Difficulty != EASY ||
  232.         Rb211->GetCheck() == BF_CHECKED && Difficulty != MEDIUM ||
  233.         Rb212->GetCheck() == BF_CHECKED && Difficulty != HARD )
  234.       if (BWCCMessageBox(HWindow,"Changing the board size or difficulty will start a new game. Continue?","Preferences Message",MB_ICONQUESTION | MB_YESNO ) == IDYES)
  235.           {
  236.         if (Rb213->GetCheck() == BF_CHECKED)
  237.           BoardSize = 6;
  238.             else if (Rb202->GetCheck() == BF_CHECKED)
  239.               BoardSize = 10;
  240.             else
  241.           BoardSize = 8;
  242.  
  243.         if (Rb210->GetCheck() == BF_CHECKED)
  244.           Difficulty = EASY;
  245.         else if (Rb211->GetCheck() == BF_CHECKED)
  246.           Difficulty = MEDIUM;
  247.         else if (Rb212->GetCheck() == BF_CHECKED)
  248.           Difficulty = HARD;
  249.           }
  250.       else
  251.         return;
  252.  
  253.     if (Rb204->GetCheck() == BF_CHECKED)
  254.       Player1 = 1;
  255.     else if (Rb205->GetCheck() == BF_CHECKED)
  256.       Player1 = 2;
  257.  
  258.     if (Rb207->GetCheck() == BF_CHECKED)
  259.           Player2 = 1;
  260.     else if (Rb208->GetCheck() == BF_CHECKED)
  261.       Player2 = 2;
  262.  
  263.     if (Cb214->GetCheck() == BF_CHECKED)
  264.       bDefault = TRUE;
  265.     else
  266.       bDefault = FALSE;
  267.  
  268.       //REGEN_PREFERIDOK_ROUTING
  269.          TDialog::Ok(Msg);
  270.    }
  271. }
  272.  
  273. void TPREFERDlg::Cancel(RTMessage Msg)
  274. {
  275.    switch(Msg.LP.Hi)
  276.    {
  277.       case BN_CLICKED :
  278.       //REGEN_PREFERIDCANCEL_ROUTING
  279.       //REGEN_PREFERIDCANCEL_ROUTING
  280.          TDialog::Cancel(Msg);
  281.    }
  282. }
  283.  
  284.  
  285. //REGEN_CODE
  286. void TPREFERDlg::SetupWindow()
  287. {
  288.    TDialog::SetupWindow();
  289.    KillTimer(ghWindow,10);
  290.    switch (BoardSize)
  291.    {
  292.    case 8:
  293.      Rb213->Uncheck();
  294.      Rb201->Check();
  295.      Rb202->Uncheck();
  296.      break;
  297.    case 10:
  298.      Rb213->Uncheck();
  299.      Rb201->Uncheck();
  300.      Rb202->Check();
  301.      break;
  302.    case 6:
  303.      Rb213->Check();
  304.      Rb201->Uncheck();
  305.      Rb202->Uncheck();
  306.      break;
  307.    }
  308.    if (Player1 == 1)
  309.    {
  310.      Rb204->Check();
  311.      Rb205->Uncheck();
  312.    }
  313.    else
  314.    {
  315.      Rb204->Uncheck();
  316.      Rb205->Check();
  317.    }
  318.    if (Player2 == 1)
  319.    {
  320.      Rb207->Check();
  321.      Rb208->Uncheck();
  322.    }
  323.    else
  324.    {
  325.      Rb207->Uncheck();
  326.      Rb208->Check();
  327.    }
  328.    switch (Difficulty)
  329.    {
  330.    case EASY:
  331.      Rb210->Check();
  332.      Rb211->Uncheck();
  333.      Rb212->Uncheck();
  334.      break;
  335.    case MEDIUM:
  336.      Rb210->Uncheck();
  337.      Rb211->Check();
  338.      Rb212->Uncheck();
  339.      break;
  340.    case HARD:
  341.      Rb210->Uncheck();
  342.      Rb211->Uncheck();
  343.      Rb212->Check();
  344.      break;
  345.    }
  346. }
  347. //REGEN_CODE
  348.  
  349.