Example #1
0
 public void listenInput(GameContainer gc, StateBasedGame sbg, int delta) {
   Input input = gc.getInput();
   if (input.isKeyPressed(Input.KEY_DOWN)) {
     cursor = Math.min(cursor + 1, 2);
   } else if (input.isKeyPressed(Input.KEY_UP)) {
     cursor = Math.max(cursor - 1, 0);
   }
   if (cursor == 0 && input.isKeyDown(Input.KEY_RIGHT)) {
     control.changeVolume(delta * 0.5f);
   } else if (cursor == 0 && input.isKeyDown(Input.KEY_LEFT)) {
     control.changeVolume(-delta * 0.5f);
   }
   if (cursor == 1 && input.isKeyDown(Input.KEY_RIGHT)) {
     control.goFullScreen(true);
   } else if (cursor == 1 && input.isKeyDown(Input.KEY_LEFT)) {
     control.goFullScreen(false);
   }
   if (cursor == 2 && input.isKeyDown(Input.KEY_RIGHT)) {
     control.changeBrightness(+5);
   } else if (cursor == 2 && input.isKeyDown(Input.KEY_LEFT)) {
     control.changeBrightness(-5);
   } else if (input.isKeyDown(Input.KEY_ENTER)) {
     ((GameController) gc).changeState("pause");
     //			sbg.enterState(((Game)sbg).prevState);
     ((GameController) gc).changeState(((Game) sbg).prevState);
   }
 }
Example #2
0
  public static void loadPlayer(Registry registry) {
    Player p = (Player) getPlayers().get(player);
    if (p != null) {
      p.setTransient(registry);
    }

    GameController gc = registry.getGameController();
    registry.getPlayerManager().clearPlayers();
    registry.getPlayerManager().registerPlayer(p);
    BlockManager bm = (BlockManager) blockManagers.get(player);
    bm.name = "Saved";
    bm = (BlockManager) bm.clone();
    bm.name = "Clone";
    bm.setTransient(registry);
    gc.setBlockManager(bm);
    PlaceableManager pm = (PlaceableManager) placeableManagers.get(player).clone();
    gc.setPlaceableManager(pm);
    MonsterManager mm = (MonsterManager) monsterManagers.get(player).clone();
    mm.setTransient(registry);
    gc.setMonsterManager(mm);

    if (p != null) {
      p.resetPlayer();
    }

    // unloadUnused();
  }
Example #3
0
 public static void main(String[] args) {
   GameEngine engine = new GameEngine();
   GameController controller = new GameController();
   gamePanel panel = new gamePanel(engine, controller);
   controller.init(panel, engine);
   controller.start();
 }
Example #4
0
 @Override
 public void update(Observable o, Object arg) {
   if (arg instanceof Player) {
     Player player = (Player) arg;
     int points = player.getPoints();
     System.out.println("Spieler" + player.getNum() + "an der Reihe");
     if (player.getNum() == 1) {
       System.out.println("Spieler1 punkte++");
       points1Num.setText("" + points);
     } else if (player.getNum() == 2) {
       System.out.println("Spieler2 punkte++");
       points2Num.setText("" + points);
     }
   } else {
     GameController controller = (GameController) arg;
     if (controller.getPlayer().getNum() == 1) {
       ImageIcon image = new ImageIcon("../gfx/spieler1_play.png");
       l1.setIcon(image);
       ImageIcon imageOld = new ImageIcon("../gfx/spieler2.png");
       l2.setIcon(imageOld);
       System.out.println("spieler gewechselt");
     } else {
       ImageIcon imageI = new ImageIcon("../gfx/spieler2_play.png");
       l2.setIcon(imageI);
       ImageIcon imageOldI = new ImageIcon("../gfx/spieler1.png");
       l1.setIcon(imageOldI);
     }
   }
 }
Example #5
0
  @Test
  public void testBoardForNull() {
    GameController g = new GameController();
    Board board = g.getBoard();

    for (Tile tile : board.tiles) {
      if (tile.getOwnedBy() != null) {
        fail("Tile is not initiated with null value");
      }
    }

    Player pTest = new Player("name", 1, null);
  }
 private void mainLoop() {
   mainController.timeStep();
   if (world.isGameLost()) {
     eventBus.fireEvent(new GameFinishedEvent());
     timer.cancel();
   }
 }
Example #7
0
 public ImmutableSet<ViewedDrawable> getViewed() {
   ImmutableSet<Drawable> draw = controller.watch(viewingRect);
   ImmutableSet.Builder<ViewedDrawable> viewed = ImmutableSet.builder();
   for (Drawable d : draw) {
     viewed.add(ViewedDrawable.wrap(d, this));
   }
   LOG.log(Level.INFO, viewed.build().toString());
   return viewed.build();
 }
Example #8
0
  @Override
  public boolean onTouchEvent(MotionEvent event) {

    if (event.getAction() == MotionEvent.ACTION_DOWN) {
      gameController.setTouched(true);
    }

    return true;
  }
Example #9
0
  /**
   * Displays the given game board.
   *
   * @param board The board to display.
   */
  public void displayBoard(Board board) {
    int width = board.getWidth();
    int height = board.getHeight();
    int tileSize = determineTileSize(width, height);

    offsetTop = (boardView.getHeight() - (height * tileSize)) / 2;
    offsetLeft = (boardView.getWidth() - (width * tileSize)) / 2;

    // Start with an empty display.
    boardView.removeAllViews();

    Ball ball;
    Goal goal;
    Man man;

    for (int x = 0; x < width; x++) {
      for (int y = 0; y < height; y++) {
        switch (board.getBoardPiece(x, y)) {
          case Board.GOAL:
            goal = new Goal(this, tileSize, x, y);
            gameController.addGoal(goal);
            break;
          case Board.BALL:
            ball = new Ball(this, tileSize, x, y);
            gameController.addBall(ball);
            break;
          case Board.BALL_IN_GOAL:
            goal = new Goal(this, tileSize, x, y);
            gameController.addGoal(goal);
            ball = new Ball(this, tileSize, x, y);
            gameController.addBall(ball);
            break;
          case Board.MAN:
            man = new Man(this, tileSize, x, y);
            gameController.setMan(man);
            break;
          case Board.MAN_ON_GOAL:
            goal = new Goal(this, tileSize, x, y);
            gameController.addGoal(goal);
            man = new Man(this, tileSize, x, y);
            gameController.setMan(man);
            break;
          case Board.WALL:
            new Wall(this, tileSize, x, y);
            break;
        }
        if (board.isFloor(x, y)) {
          new Floor(this, tileSize, x, y);
        }
      }
    }
  }
  @Override
  public void initialize(URL url, ResourceBundle rb) {
    player = GameController.getGameData().getPlayer();
    dailyCost = 0;
    selectedSkill = pilot_button;
    pilot_button.requestFocus();

    checkForHire();

    Button[] buttons = {
      pilot_button, fighter_button, engineer_button, trader_button, investor_button
    };
    for (Button b : buttons) {
      b.setOnMouseClicked(
          (MouseEvent t) -> {
            selectedSkill = b;
            generateCostAndStat();
          });
    }

    name_field.addEventFilter(
        KeyEvent.KEY_TYPED,
        (KeyEvent event) -> {
          if (name_field.getText().length() >= 18) {
            event.consume();
          }
        });

    power_slider
        .valueProperty()
        .addListener(
            (ObservableValue<? extends Number> ov, Number old_val, Number new_val) -> {
              generateCostAndStat();
            });

    hire_button.setOnMouseClicked(
        (MouseEvent t) -> {
          Mercenary merc =
              new Mercenary(name_field.getText(), selectedSkill.getText(), power, dailyCost);
          player.getShip().addCrew(merc);
          checkForHire();
        });
  }
Example #11
0
/** @author sailfish */
public class View {

  private Rect viewingRect;
  private Rect outputRect;

  private final GameController controller = GameController.getInstance();
  private double scale;
  private double translateX, translateY;
  private final Rect idealViewingRect;
  private static final Logger LOG = Logger.getLogger(View.class.getName());

  public View(Rect viewingRect, Rect outputRect) {
    assert (viewingRect != null && !viewingRect.hasZeroArea());
    assert (outputRect != null && !outputRect.hasZeroArea());

    this.idealViewingRect = viewingRect;
    this.viewingRect = viewingRect.expandToAspectRatio(outputRect);
    this.outputRect = outputRect;
    setScale();
  }

  public double view(double length) {
    return length * scale;
  }

  public double project(double length) {
    return length / scale;
  }

  public void updateOutputRect(Rect r) {
    if (r.hasZeroArea()) {
      this.outputRect = new Rect(new Point2d(), 10, 10);
    } else {
      this.outputRect = r;
    }
    viewingRect = idealViewingRect.expandToAspectRatio(outputRect);
    viewingRect = viewingRect.centerOn(idealViewingRect);
    setScale();
  }

  public Point2d view(Point2d p) {
    return new Point2d(view(p.getX() + translateX), view(p.getY() + translateY));
  }

  public Point2d project(Point2d p) {
    return new Point2d(project(p.getX()) - translateX, project(p.getY()) - translateY);
  }

  public ImmutableSet<ViewedDrawable> getViewed() {
    ImmutableSet<Drawable> draw = controller.watch(viewingRect);
    ImmutableSet.Builder<ViewedDrawable> viewed = ImmutableSet.builder();
    for (Drawable d : draw) {
      viewed.add(ViewedDrawable.wrap(d, this));
    }
    LOG.log(Level.INFO, viewed.build().toString());
    return viewed.build();
  }

  @Override
  public String toString() {
    return "View{" + "viewingRect=" + viewingRect + ", outputRect=" + outputRect + '}';
  }

  private void setScale() {
    scale = outputRect.width / viewingRect.width;
    translateX = outputRect.topLeft.getX() - viewingRect.topLeft.getX();
    translateY = outputRect.topLeft.getY() - viewingRect.topLeft.getY();
  }

  //    public static View viewSelectedItems(ObservableSet<Drawable> d){
  //
  //        return null;
  //    }

}
Example #12
0
  @FXML
  private void playerSetup(ActionEvent e) throws NullPointerException {
    Stage newStage = new Stage();
    // try {
    if (e.getSource() == nextButton2) {

      String name = playerName.getText();
      String race = raceChoice.getSelectionModel().getSelectedItem().toString();
      if (race.length() > 8) {
        race = race.toUpperCase().substring(0, race.indexOf(" "));
      } else {
        race = race.toUpperCase();
      }
      Player.Race r = Player.Race.valueOf(race);

      Color color = colorPick.getValue();

      // creating Player
      Player p = new Player(name, r, color.toString());
      players[count - 1] = p;
      if (players[players.length - 1] != null) {
        // when players array is full, begins game turns
        Turns gameTurns = new Turns(players);
      }

      if (name.equals("")) { // check if player entered a name
        Launcher.primaryStage.setScene(Launcher.errorMessage);
        Launcher.primaryStage.setTitle("Enter name!");
      } else if (playerColors.contains(color)) {
        Launcher.primaryStage.setScene(Launcher.errorMessage);
        Launcher.primaryStage.setTitle("Choose new color!");
      } else {
        playerColors.add(color);
        if (count == 1) { // if only one player config screen has been shown go to player 2
          Launcher.primaryStage.setTitle("Player 2 Configuration");
          Launcher.primaryStage.toFront();
          playerName.clear();
          raceChoice.getSelectionModel().clearSelection();
          colorPick.setValue(Color.WHITE);
          count += 1;
        } else if (count == 2) {
          if (count == numPlayer) { // if user selected only 2 players then show game screen
            Launcher.primaryStage.hide();
            try {
              gameRoot = FXMLLoader.load(getClass().getResource("UIFiles/MainMap.fxml"));
              gameScene = new Scene(gameRoot);
              Parent startWindow =
                  FXMLLoader.load(getClass().getResource("UIFiles/playerStart.fxml"));
              startScene = new Scene(startWindow);
            } catch (Exception e1) {
              e1.printStackTrace();
            }
            newStage.setScene(gameScene);
            newStage.setTitle("Game Screen");
            newStage.show();
            GameController.beginTurn();
            // creates land array
            landPlots = new Land[9][5]; // 5 rows, 9 columns, col = i, row = j
            int count = 0;
            for (int i = 0; i < landPlots.length; i++) {
              for (int j = 0; j < landPlots[0].length; j++) {
                Land newLand = new Land(i, j);
                newLand.setType(landTypes[count]);
                landPlots[i][j] = newLand;
                count++;
              }
            }
          } else { // if user selected more than 2 players, go on to player 3 config
            Launcher.primaryStage.setTitle("Player 3 Configuration");
            Launcher.primaryStage.toFront();
            playerName.clear();
            raceChoice.getSelectionModel().clearSelection();
            colorPick.setValue(Color.WHITE);
            count += 1;
          }

        } else if (count == 3) {
          if (count == numPlayer) {
            Launcher.primaryStage.hide();
            try {
              gameRoot = FXMLLoader.load(getClass().getResource("UIFiles/MainMap.fxml"));
              gameScene = new Scene(gameRoot);
              Parent startWindow =
                  FXMLLoader.load(getClass().getResource("UIFiles/playerStart.fxml"));
              startScene = new Scene(startWindow);
            } catch (Exception e1) {
              e1.printStackTrace();
            }
            newStage.setScene(gameScene);
            newStage.setTitle("Game Screen");
            newStage.show();
            GameController.beginTurn();
            // creates land array
            landPlots = new Land[9][5]; // 5 rows, 9 columns, col = i, row = j
            int count = 0;
            for (int i = 0; i < landPlots.length; i++) {
              for (int j = 0; j < landPlots[0].length; j++) {
                Land newLand = new Land(i, j);
                newLand.setType(landTypes[count]);
                landPlots[i][j] = newLand;
                count++;
              }
            }
          } else {
            Launcher.primaryStage.setTitle("Player 4 Configuration");
            Launcher.primaryStage.toFront();
            playerName.clear();
            raceChoice.getSelectionModel().clearSelection();
            colorPick.setValue(Color.WHITE);
            count += 1;
          }

        } else if (count == 4) {
          Launcher.primaryStage.hide();
          try {
            gameRoot = FXMLLoader.load(getClass().getResource("UIFiles/MainMap.fxml"));
            gameScene = new Scene(gameRoot);
            Parent startWindow =
                FXMLLoader.load(getClass().getResource("UIFiles/playerStart.fxml"));
            startScene = new Scene(startWindow);
          } catch (Exception e1) {
            e1.printStackTrace();
          }

          newStage.setScene(gameScene);
          newStage.setTitle("Game Screen");
          newStage.show();
          GameController.beginTurn();
          // creates land array
          landPlots = new Land[9][5]; // 5 rows, 9 columns, col = i, row = j
          int count = 0;
          for (int i = 0; i < landPlots.length; i++) {
            for (int j = 0; j < landPlots[0].length; j++) {
              Land newLand = new Land(i, j);
              newLand.setType(landTypes[count]);
              landPlots[i][j] = newLand;
              count++;
            }
          }
        }
      }
    } else if (e.getSource() == backButton) {
      playerName.clear();
      raceChoice.getSelectionModel().clearSelection();
      colorPick.setValue(Color.WHITE);
      Launcher.primaryStage.setScene(Launcher.rootScene);
      Launcher.primaryStage.setTitle("M.U.L.E. Game Setup");
    }
    /*} catch (NullPointerException error) {
    	Launcher.primaryStage.setScene(Launcher.errorMessage);
    	Launcher.primaryStage.setTitle("Error!");
    }*/
  }
Example #13
0
 @Override
 public void onEvent(int type, Object data) {
   if (type == YES) GameController.getInstance().logOut();
 }
Example #14
0
 public void getGameTurn(String gameId, int turn) {
   GameEngine.showLoading();
   ServerDriver.getGameTurn(GameController.getInstance().getUser().getId(), gameId, turn);
 }
Example #15
0
 public void getGamesList() {
   GameEngine.showLoading();
   ServerDriver.getListGames(GameController.getInstance().getUser().getId());
 }
Example #16
0
 public void surrenderGame(String gameId) {
   ServerDriver.sendGameTurn(
       GameController.getInstance().getUser().getId(), gameId, "ended", "defeat");
 }
Example #17
0
 public void enableRandom() {
   ServerDriver.enableRandom(GameController.getInstance().getUser().getId());
 }
Example #18
0
 public void update(Canvas canvas) {
   gameController.update();
   renderer.draw(canvas);
 }
Example #19
0
  public void makeCellAlive(int i, int j) {

    controller.makeCellAlive(i, j);
  }
Example #20
0
 @FXML
 public void loadGame(ActionEvent event) {
   Stage newStage = new Stage();
   if (event.getSource() == loadButton) {
     loadData = LoadSaveGame.load();
     if (loadData != null) {
       Controller.loaded = true;
       GameController.numPasses = (int) Controller.loadData.get(4);
       // GameController.landButton.setDisable(true);
       try {
         gameRoot = FXMLLoader.load(getClass().getResource("UIFiles/MainMap.fxml"));
         gameScene = new Scene(gameRoot);
         Parent startWindow = FXMLLoader.load(getClass().getResource("UIFiles/playerStart.fxml"));
         startScene = new Scene(startWindow);
       } catch (IOException e) {
         e.printStackTrace();
       }
       newStage.setScene(gameScene);
       newStage.setTitle("Game Screen");
       newStage.show();
       GridPane grid = (GridPane) gameRoot;
       landPlots = (Land[][]) loadData.get(0);
       level = (String) loadData.get(1);
       players = (Player[]) loadData.get(3);
       for (Player player : players) {
         for (Land land : player.getLandOwned()) {
           landPlots[land.getCol()][land.getRow()].setOwner(player);
         }
       }
       if (grid != null) {
         for (Land[] landArray : landPlots) {
           for (Land land : landArray) {
             if (land.isOwned()) {
               Player owner = land.getOwner();
               Rectangle color = new Rectangle();
               color.setFill(Color.valueOf(owner.getColor()));
               color.setHeight(25);
               color.setWidth(25);
               color.setOpacity(1);
               GridPane.setHalignment(color, HPos.LEFT);
               GridPane.setValignment(color, VPos.TOP);
               grid.add(color, land.getCol(), land.getRow());
               if (land.hasMule()) {
                 Image mulePic = new Image("gameConfig/UIFiles/Media/aMule.png");
                 ImageView muleView = new ImageView();
                 muleView.setImage(mulePic);
                 muleView.setFitWidth(50);
                 muleView.setPreserveRatio(true);
                 GridPane.setHalignment(muleView, HPos.LEFT);
                 GridPane.setValignment(muleView, VPos.CENTER);
                 muleView.setId(String.valueOf(land.getCol()) + String.valueOf(land.getRow()));
                 grid.add(muleView, land.getCol(), land.getRow());
               }
             }
           }
         }
       }
       numPlayer = players.length;
       Turns turns = new Turns(players);
       turns.setRounds((int) loadData.get(5));
       GameController.beginTurn();
     } else {
       Controller.loaded = false;
     }
   }
 }
Example #21
0
 private void halt() {
   controller.halt();
 }
 @FXML
 void returnToSpacePort() {
   GameController.getControl().setScreen(Screens.NEW_SPACE_PORT);
 }
Example #23
0
  public static void main(String[] args) {
    // initialize model
    GameBoard GamePieces = new GameBoard();

    // initialize controller
    GameController Controller = new GameController();

    // Initialize GUI
    Main_Window window = new Main_Window();
    window.initialize();
    window.initializeDiscardDialog();

    // phase
    boolean SecondYear = false;

    EventQueue.invokeLater(
        new Runnable() {
          public void run() {
            try {
              window.Display.setVisible(true);

              window.SetDeckCount(GamePieces.GetDeckSize());
              window.SetDiscardCount(GamePieces.GetDiscardDeckSize());
              window.SetRoomList(GamePieces.GetTurnPlayerPossibleRooms());
              window.SetAllRoomList(GamePieces.GetRoomList());
              window.SetHand(GamePieces.GetHumanPlayerHand());
              window.SetInitialCardImage();
              window.SetPlayer1XYPixel(GamePieces.GetJimPosX(), GamePieces.GetJimPosY());
              window.SetPlayer2XYPixel(GamePieces.GetSusyPosX(), GamePieces.GetSusyPosY());
              window.SetPlayer3XYPixel(GamePieces.GetBobPosX(), GamePieces.GetBobPosY());
              window.SetPlayer1Points(GamePieces.GetJimPoints());
              window.SetPlayer2Points(GamePieces.GetSusyPoints());
              window.SetPlayer3Points(GamePieces.GetBobPoints());
            } catch (Exception e) {
              e.printStackTrace();
            }
          }
        });

    // Game Flow
    while (true) {
      if ((GamePieces.QPTotal() > 60) && !SecondYear) {
        GamePieces.DiscardHand();
        GamePieces.Reshuffle();
        GamePieces.RemoveYear1Cards();
        GamePieces.AddYear2Cards();
        SecondYear = true;
        window.SetInitialCardImage();
      }
      window.SetDeckCount(GamePieces.GetDeckSize());
      window.SetDiscardCount(GamePieces.GetDiscardDeckSize());
      if (GamePieces.GetDeckSize() == 0) {
        GamePieces.Reshuffle();
        window.SetDeckCount(GamePieces.GetDeckSize());
        window.SetDiscardCount(GamePieces.GetDiscardDeckSize());
      }
      Controller.ProcessPlayerTurn(GamePieces, window);
      try {
        Thread.sleep(200);
      } catch (Exception e) {
        System.out.println("Sleep Error");
        e.printStackTrace();
      }
    }
  }