示例#1
0
 public void finalizeGame() throws GameNotDoneException {
   switch (result) {
     case PLAYERAWIN:
       playerA.addWin();
       playerB.addLoss();
     case PLAYERBWIN:
       playerA.addLoss();
       playerB.addWin();
     case DRAW:
       playerA.addDraw();
       playerB.addDraw();
     case TBD:
       throw new GameNotDoneException();
     default:
       throw new AssertionError(result.name());
   }
 }
示例#2
0
  /**
   * Constructor for panel.
   *
   * @param state The state for this panel.
   */
  public ResultStatePanel(final ResultState state) {
    Game game = state.getGame();
    boolean success = game.getGoal().isWon(game);

    // set look
    setOpaque(true);

    // set layout
    setLayout(null);

    // add text label
    TextLabel textLabel = new TextLabel("ECMO Results");
    textLabel.setHorizontalAlignment(JLabel.CENTER);
    textLabel.setFont(textLabel.getFont().deriveFont(Font.BOLD, 36f));
    textLabel.setLocation(100, 16);
    textLabel.setSize(600, 40);
    add(textLabel);

    // add title label
    JLabel titleLabel = new JLabel(game.getName());
    titleLabel.setFont(titleLabel.getFont().deriveFont(Font.BOLD, 18f));
    titleLabel.setLocation(30, 120);
    titleLabel.setSize(720, 30);
    add(titleLabel);

    // add result overview
    InternetTextPane infoArea = new InternetTextPane();
    infoArea.setDefaultFont(InternetTextPane.FONT_TYPE_SANS_SERIF);
    String html = ResultReporter.getHTMLOverview(game);
    if (game.getGoal() instanceof BaselineGoal) {
      BaselineGoal goal = (BaselineGoal) game.getGoal();
      if (success) {
        html = goal.getInfoSuccess().replace("\\n", "<br>") + "<br><br><br>" + html;
      } else {
        html = goal.getInfoFailure().replace("\\n", "<br>") + "<br><br><br>" + html;
      }
    }
    infoArea.addHTML(html);
    infoArea.setOpaque(false);
    infoArea.setEditable(false);
    infoArea.setFont(titleLabel.getFont().deriveFont(Font.PLAIN, 14f));
    infoArea.setLocation(30, 160);
    infoArea.setSize(580, 360);
    add(infoArea);

    // output overall result
    Image result =
        success
            ? ImageLoader.getInstance().getImage("conf/image/interface/result/success.png")
            : ImageLoader.getInstance().getImage("conf/image/interface/result/failure.png");
    JLabel resultLabel = new JLabel();
    resultLabel.setVerticalAlignment(JLabel.CENTER);
    resultLabel.setLocation(600, 100);
    resultLabel.setSize(200, 400);
    resultLabel.setIcon(new ImageIcon(result));
    add(resultLabel);

    // add done button
    Image okButtonImage = ImageLoader.getInstance().getImage("conf/gui/Btn-Ok.png");
    Image okButtonRolloverImage = ImageLoader.getInstance().getImage("conf/gui/Btn-OkRol.png");
    Image okButtonSelectedImage = ImageLoader.getInstance().getImage("conf/gui/Btn-OkSel.png");
    ImageButton okButton =
        new ImageButton(okButtonImage, okButtonRolloverImage, okButtonSelectedImage);
    okButton.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent arg0) {
            // proceed to the next state
            state.menuState();
          }
        });
    okButton.setSize(75, 30);
    okButton.setLocation(30, 530);
    add(okButton);
  }