Skip to content

Commit

Permalink
Standalone apps 3D
Browse files Browse the repository at this point in the history
  • Loading branch information
armin-reichert committed Dec 15, 2024
1 parent 3d294f0 commit 5116500
Show file tree
Hide file tree
Showing 9 changed files with 210 additions and 16 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,10 @@
import de.amr.games.pacman.model.ms_pacman_tengen.MsPacManGameTengen;
import de.amr.games.pacman.ui3d.model.Model3D;
import de.amr.games.pacman.ui3d.scene3d.Perspective;
import de.amr.games.pacman.ui3d.variants.MsPacManGameConfiguration3D;
import de.amr.games.pacman.ui3d.variants.MsPacManGameTengenConfiguration3D;
import de.amr.games.pacman.ui3d.variants.PacManGameConfiguration3D;
import de.amr.games.pacman.ui3d.variants.PacManGameXXLConfiguration3D;
import de.amr.games.pacman.ui3d.variants.MsPacManGameConfiguration_3D;
import de.amr.games.pacman.ui3d.variants.MsPacManGameTengenConfiguration_3D;
import de.amr.games.pacman.ui3d.variants.PacManGameConfiguration_3D;
import de.amr.games.pacman.ui3d.variants.PacManGameXXLConfiguration_3D;
import javafx.application.Application;
import javafx.beans.property.*;
import javafx.geometry.Dimension2D;
Expand Down Expand Up @@ -77,10 +77,10 @@ public void init() {
public void start(Stage stage) {
ui = new PacManGamesUI_3D();
ui.loadAssets();
ui.setGameConfiguration(GameVariant.MS_PACMAN, new MsPacManGameConfiguration3D());
ui.setGameConfiguration(GameVariant.MS_PACMAN_TENGEN, new MsPacManGameTengenConfiguration3D());
ui.setGameConfiguration(GameVariant.PACMAN, new PacManGameConfiguration3D());
ui.setGameConfiguration(GameVariant.PACMAN_XXL, new PacManGameXXLConfiguration3D());
ui.setGameConfiguration(GameVariant.MS_PACMAN, new MsPacManGameConfiguration_3D());
ui.setGameConfiguration(GameVariant.MS_PACMAN_TENGEN, new MsPacManGameTengenConfiguration_3D());
ui.setGameConfiguration(GameVariant.PACMAN, new PacManGameConfiguration_3D());
ui.setGameConfiguration(GameVariant.PACMAN_XXL, new PacManGameXXLConfiguration_3D());
for (GameVariant variant : GameVariant.values()) {
ui.assets().addAll(ui.gameConfiguration(variant).assets());
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
package de.amr.games.pacman.ui3d.apps;

import de.amr.games.pacman.arcade.pacman.PacManGame;
import de.amr.games.pacman.controller.GameController;
import de.amr.games.pacman.model.GameVariant;
import de.amr.games.pacman.ui3d.PacManGamesUI_3D;
import de.amr.games.pacman.ui3d.variants.MsPacManGameConfiguration_3D;
import javafx.application.Application;
import javafx.geometry.Dimension2D;
import javafx.geometry.Rectangle2D;
import javafx.stage.Screen;
import javafx.stage.Stage;
import org.tinylog.Logger;

import java.io.File;

public class ArcadeMsPacManApp extends Application {

private PacManGamesUI_3D ui;

@Override
public void init() throws Exception {
File userDir = new File(System.getProperty("user.home"), ".pacmanfx");
if (userDir.mkdir()) {
Logger.info("User dir '{}' created", userDir);
}
GameController.it().addGameImplementation(GameVariant.MS_PACMAN, new PacManGame(userDir));
GameController.it().selectGame(GameVariant.MS_PACMAN);
}

@Override
public void start(Stage stage) throws Exception {
ui = new PacManGamesUI_3D();
ui.loadAssets();
var config = new MsPacManGameConfiguration_3D();
ui.setGameConfiguration(GameVariant.MS_PACMAN, config);
ui.assets().addAll(config.assets());
ui.createAndStart(stage, initialSize());
}

private static Dimension2D initialSize() {
Rectangle2D screenSize = Screen.getPrimary().getBounds();
double aspect = 1.2;
double height = 0.8 * screenSize.getHeight();
return new Dimension2D(aspect * height, height);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
package de.amr.games.pacman.ui3d.apps;

import de.amr.games.pacman.arcade.pacman.PacManGame;
import de.amr.games.pacman.controller.GameController;
import de.amr.games.pacman.model.GameVariant;
import de.amr.games.pacman.ui3d.PacManGamesUI_3D;
import de.amr.games.pacman.ui3d.variants.PacManGameConfiguration_3D;
import javafx.application.Application;
import javafx.geometry.Dimension2D;
import javafx.geometry.Rectangle2D;
import javafx.stage.Screen;
import javafx.stage.Stage;
import org.tinylog.Logger;

import java.io.File;

public class ArcadePacManApp extends Application {

private PacManGamesUI_3D ui;

@Override
public void init() throws Exception {
File userDir = new File(System.getProperty("user.home"), ".pacmanfx");
if (userDir.mkdir()) {
Logger.info("User dir '{}' created", userDir);
}
GameController.it().addGameImplementation(GameVariant.PACMAN, new PacManGame(userDir));
GameController.it().selectGame(GameVariant.PACMAN);
}

@Override
public void start(Stage stage) throws Exception {
ui = new PacManGamesUI_3D();
ui.loadAssets();
var config = new PacManGameConfiguration_3D();
ui.setGameConfiguration(GameVariant.PACMAN, config);
ui.assets().addAll(config.assets());
ui.createAndStart(stage, initialSize());
}

private static Dimension2D initialSize() {
Rectangle2D screenSize = Screen.getPrimary().getBounds();
double aspect = 1.2;
double height = 0.8 * screenSize.getHeight();
return new Dimension2D(aspect * height, height);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
package de.amr.games.pacman.ui3d.apps;

import de.amr.games.pacman.arcade.pacman_xxl.PacManGameXXL;
import de.amr.games.pacman.arcade.pacman_xxl.PacManGameXXLConfiguration;
import de.amr.games.pacman.controller.GameController;
import de.amr.games.pacman.model.GameVariant;
import de.amr.games.pacman.ui2d.PacManGamesUI;
import de.amr.games.pacman.ui3d.PacManGamesUI_3D;
import de.amr.games.pacman.ui3d.variants.PacManGameXXLConfiguration_3D;
import javafx.application.Application;
import javafx.geometry.Dimension2D;
import javafx.geometry.Rectangle2D;
import javafx.stage.Screen;
import javafx.stage.Stage;
import org.tinylog.Logger;

import java.io.File;

public class ArcadePacManXXLApp extends Application {

private PacManGamesUI_3D ui;

@Override
public void init() throws Exception {
File userDir = new File(System.getProperty("user.home"), ".pacmanfx");
if (userDir.mkdir()) {
Logger.info("User dir '{}' created", userDir);
}
GameController.it().addGameImplementation(GameVariant.PACMAN_XXL, new PacManGameXXL(userDir));
GameController.it().selectGame(GameVariant.PACMAN_XXL);
}

@Override
public void start(Stage stage) throws Exception {
ui = new PacManGamesUI_3D();
ui.loadAssets();
var config = new PacManGameXXLConfiguration_3D();
ui.setGameConfiguration(GameVariant.PACMAN_XXL, config);
ui.assets().addAll(config.assets());
ui.createAndStart(stage, initialSize());
}

private static Dimension2D initialSize() {
Rectangle2D screenSize = Screen.getPrimary().getBounds();
double aspect = screenSize.getWidth() / screenSize.getHeight();
double height = 0.8 * screenSize.getHeight();
return new Dimension2D(aspect * height, height);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
package de.amr.games.pacman.ui3d.apps;

import de.amr.games.pacman.controller.GameController;
import de.amr.games.pacman.model.GameVariant;
import de.amr.games.pacman.model.ms_pacman_tengen.MsPacManGameTengen;
import de.amr.games.pacman.tengen.ms_pacman.MsPacManGameTengenConfiguration;
import de.amr.games.pacman.ui2d.PacManGamesUI;
import de.amr.games.pacman.ui3d.PacManGamesUI_3D;
import de.amr.games.pacman.ui3d.variants.MsPacManGameTengenConfiguration_3D;
import javafx.application.Application;
import javafx.geometry.Dimension2D;
import javafx.geometry.Rectangle2D;
import javafx.stage.Screen;
import javafx.stage.Stage;
import org.tinylog.Logger;

import java.io.File;

import static de.amr.games.pacman.tengen.ms_pacman.MsPacManGameTengenConfiguration.NES_SIZE;

public class TengenMsPacManApp extends Application {

private PacManGamesUI_3D ui;

@Override
public void init() throws Exception {
File userDir = new File(System.getProperty("user.home"), ".pacmanfx");
if (userDir.mkdir()) {
Logger.info("User dir '{}' created", userDir);
}
GameController.it().addGameImplementation(GameVariant.MS_PACMAN_TENGEN, new MsPacManGameTengen(userDir));
GameController.it().selectGame(GameVariant.MS_PACMAN_TENGEN);
}

@Override
public void start(Stage stage) throws Exception {
ui = new PacManGamesUI_3D();
ui.loadAssets();
var config = new MsPacManGameTengenConfiguration_3D();
ui.setGameConfiguration(GameVariant.MS_PACMAN_TENGEN, config);
ui.assets().addAll(config.assets());
ui.createAndStart(stage, initialSize());
}

private static Dimension2D initialSize() {
Rectangle2D screenSize = Screen.getPrimary().getBounds();
double aspect = (double) NES_SIZE.x() / NES_SIZE.y();
double height = 0.8 * screenSize.getHeight();
return new Dimension2D(aspect * height, height);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@

import static de.amr.games.pacman.ui3d.PacManGames3dApp.PY_3D_ENABLED;

public class MsPacManGameConfiguration3D extends MsPacManGameConfiguration {
public class MsPacManGameConfiguration_3D extends MsPacManGameConfiguration {

public MsPacManGameConfiguration3D() {
public MsPacManGameConfiguration_3D() {
set("PlayScene3D", new PlayScene3D());
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@

import static de.amr.games.pacman.ui3d.PacManGames3dApp.PY_3D_ENABLED;

public class MsPacManGameTengenConfiguration3D extends MsPacManGameTengenConfiguration {
public class MsPacManGameTengenConfiguration_3D extends MsPacManGameTengenConfiguration {

public MsPacManGameTengenConfiguration3D() {
public MsPacManGameTengenConfiguration_3D() {
set("PlayScene3D", new PlayScene3D());
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@

import static de.amr.games.pacman.ui3d.PacManGames3dApp.PY_3D_ENABLED;

public class PacManGameConfiguration3D extends PacManGameConfiguration {
public class PacManGameConfiguration_3D extends PacManGameConfiguration {

public PacManGameConfiguration3D() {
public PacManGameConfiguration_3D() {
set("PlayScene3D", new PlayScene3D());
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@

import static de.amr.games.pacman.ui3d.PacManGames3dApp.PY_3D_ENABLED;

public class PacManGameXXLConfiguration3D extends PacManGameXXLConfiguration {
public class PacManGameXXLConfiguration_3D extends PacManGameXXLConfiguration {

public PacManGameXXLConfiguration3D() {
public PacManGameXXLConfiguration_3D() {
set("PlayScene3D", new PlayScene3D());
}

Expand Down

0 comments on commit 5116500

Please sign in to comment.