Differences From Artifact [1dc5dff936083189]:
- File        
gui.d
- 2012-07-14 08:31:35 - part of checkin [a5e6c99b3d] on branch trunk - Guarded. (user: kinaba) [annotate]
 
To Artifact [8bca70d55515c665]:
- File        
gui.d
- 2012-07-14 08:55:55 - part of checkin [69105bf94a] on branch trunk - Stand alone solver. (user: kinaba) [annotate]
 
- File        
src/gui.d
- 2012-07-14 09:16:47 - part of checkin [6293256fec] on branch trunk - Preparing for submission... (user: kinaba) [annotate]
 
    1  import dfl.all;                                                                        1  import dfl.all;
    2  import util;                                                                           2  import util;
    3  import game;                                                                           3  import game;
    4  import output;                                                                         4  import output;
                                                                                        >     5  //import solver;
    5                                                                                         6  
    6  class GUI : Form                                                                       7  class GUI : Form
    7  {                                                                                      8  {
    8          private {                                                                      9          private {
    9                  Game g;                                                               10                  Game g;
   10                  int cell;                                                             11                  int cell;
   11                  int turn = 0;                                                         12                  int turn = 0;
................................................................................................................................................................................
   20                  noMessageFilter();                                                    21                  noMessageFilter();
   21                  this.setStyle(ControlStyles.OPAQUE, true);                            22                  this.setStyle(ControlStyles.OPAQUE, true);
   22                  this.g = g;                                                           23                  this.g = g;
   23                                                                                        24  
   24                  this.paint ~= &my_paint;                                              25                  this.paint ~= &my_paint;
   25                  this.keyDown ~= &my_keydown;                                          26                  this.keyDown ~= &my_keydown;
   26                                                                                        27  
   27                  const MAX_SIZE = 640;                                            <
   28                  this.formBorderStyle = FormBorderStyle.FIXED_DIALOG;                  28                  this.formBorderStyle = FormBorderStyle.FIXED_DIALOG;
   29                  this.maximizeBox = false;                                             29                  this.maximizeBox = false;
   30                  this.minimizeBox = false;                                             30                  this.minimizeBox = false;
   31                  this.cell = MAX_SIZE / max(g.map.W, g.map.H);                    |    31                  this.cell = min(1024/g.map.W, 640/g.map.H);
   32                  this.clientSize = Size(g.map.W*cell, g.map.H*cell);                   32                  this.clientSize = Size(g.map.W*cell, g.map.H*cell);
   33                  set_text();                                                           33                  set_text();
   34                                                                                        34  
   35                  // Resources                                                          35                  // Resources
   36                  this.font = new Font("MS Gothic", cell-2, GraphicsUnit.PIXEL);        36                  this.font = new Font("MS Gothic", cell-2, GraphicsUnit.PIXEL);
   37                  this.backColor = Color(255,255,255);                                  37                  this.backColor = Color(255,255,255);
   38                  this.colors['#'] =                                                    38                  this.colors['#'] =
................................................................................................................................................................................
   92                  {                                                                     92                  {
   93                  case Keys.DOWN:  g.command('D'); break;                               93                  case Keys.DOWN:  g.command('D'); break;
   94                  case Keys.UP:    g.command('U'); break;                               94                  case Keys.UP:    g.command('U'); break;
   95                  case Keys.LEFT:  g.command('L'); break;                               95                  case Keys.LEFT:  g.command('L'); break;
   96                  case Keys.RIGHT: g.command('R'); break;                               96                  case Keys.RIGHT: g.command('R'); break;
   97                  case Keys.W:     g.command('W'); break;                               97                  case Keys.W:     g.command('W'); break;
   98                  case Keys.A:     g.command('A'); break;                               98                  case Keys.A:     g.command('A'); break;
                                                                                        >    99  //              case Keys.G:     solver.act(g); break;
   99                  default:         break;                                              100                  default:         break;
  100                  }                                                                    101                  }
  101                  if(g.cleared)                                                        102                  if(g.cleared)
  102                          Application.exit();                                          103                          Application.exit();
  103                  invalidate();                                                        104                  invalidate();
  104                  set_text();                                                          105                  set_text();
  105          }                                                                            106          }