Merge branch 'development' into 'dev/test'
Updated 'Die' class. See merge request progproj/gruppen-ht24/Gruppe-01!31
This commit is contained in:
		
							
								
								
									
										1887
									
								
								Projekte/mdga/client/hs_err_pid24033.log
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1887
									
								
								Projekte/mdga/client/hs_err_pid24033.log
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							@@ -1,15 +1,18 @@
 | 
				
			|||||||
package pp.mdga.client;
 | 
					package pp.mdga.client;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import com.jme3.app.SimpleApplication;
 | 
					import com.jme3.app.SimpleApplication;
 | 
				
			||||||
 | 
					import com.jme3.system.JmeContext;
 | 
				
			||||||
import com.simsilica.lemur.GuiGlobals;
 | 
					import com.simsilica.lemur.GuiGlobals;
 | 
				
			||||||
import pp.mdga.client.acoustic.AcousticHandler;
 | 
					import pp.mdga.client.acoustic.AcousticHandler;
 | 
				
			||||||
import pp.mdga.client.animation.AnimationHandler;
 | 
					import pp.mdga.client.animation.AnimationHandler;
 | 
				
			||||||
import com.jme3.system.AppSettings;
 | 
					import com.jme3.system.AppSettings;
 | 
				
			||||||
 | 
					import pp.mdga.client.dialog.JoinDialog;
 | 
				
			||||||
import pp.mdga.client.view.*;
 | 
					import pp.mdga.client.view.*;
 | 
				
			||||||
import pp.mdga.message.server.ServerInterpreter;
 | 
					import pp.mdga.message.server.ServerInterpreter;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import java.util.concurrent.ExecutorService;
 | 
					import java.util.concurrent.ExecutorService;
 | 
				
			||||||
import java.util.concurrent.Executors;
 | 
					import java.util.concurrent.Executors;
 | 
				
			||||||
 | 
					import java.util.prefs.Preferences;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Main application class for the MdgaApp game.
 | 
					 * Main application class for the MdgaApp game.
 | 
				
			||||||
@@ -17,6 +20,8 @@
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
public class MdgaApp extends SimpleApplication {
 | 
					public class MdgaApp extends SimpleApplication {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private static Preferences prefs = Preferences.userNodeForPackage(JoinDialog.class);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /** Handles animations in the application. */
 | 
					    /** Handles animations in the application. */
 | 
				
			||||||
    private AnimationHandler animationHandler;
 | 
					    private AnimationHandler animationHandler;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -39,7 +44,7 @@ public class MdgaApp extends SimpleApplication {
 | 
				
			|||||||
    private MdgaState state = null;
 | 
					    private MdgaState state = null;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /** Scale for rendering images. */
 | 
					    /** Scale for rendering images. */
 | 
				
			||||||
    private static final float IMAGE_SCALE = 1.5f;
 | 
					    private float imageScale = prefs.getInt("scale", 1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /** The main menu view. */
 | 
					    /** The main menu view. */
 | 
				
			||||||
    private MdgaView mainView;
 | 
					    private MdgaView mainView;
 | 
				
			||||||
@@ -74,9 +79,9 @@ private MdgaApp() {
 | 
				
			|||||||
    public static void main(String[] args) {
 | 
					    public static void main(String[] args) {
 | 
				
			||||||
        AppSettings settings = new AppSettings(true);
 | 
					        AppSettings settings = new AppSettings(true);
 | 
				
			||||||
        settings.setSamples(128);
 | 
					        settings.setSamples(128);
 | 
				
			||||||
 | 
					        settings.setWidth(prefs.getInt("width", 1280));
 | 
				
			||||||
 | 
					        settings.setHeight(prefs.getInt("height", 720));
 | 
				
			||||||
        settings.setCenterWindow(true);
 | 
					        settings.setCenterWindow(true);
 | 
				
			||||||
        settings.setWidth((int) (1920*0.9f));
 | 
					 | 
				
			||||||
        settings.setHeight((int) (1080*0.9f));
 | 
					 | 
				
			||||||
        settings.setVSync(false);
 | 
					        settings.setVSync(false);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        MdgaApp app = new MdgaApp();
 | 
					        MdgaApp app = new MdgaApp();
 | 
				
			||||||
@@ -190,7 +195,7 @@ public MdgaState getState() {
 | 
				
			|||||||
     * @return the image scale as a float
 | 
					     * @return the image scale as a float
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    public float getImageScale() {
 | 
					    public float getImageScale() {
 | 
				
			||||||
        return IMAGE_SCALE;
 | 
					        return imageScale;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
@@ -253,15 +258,12 @@ public ServerConnection getNetworkSupport(){
 | 
				
			|||||||
        return networkConnection;
 | 
					        return networkConnection;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public void updateResolution(int width, int height) {
 | 
					    public void updateResolution(int width, int height, float imageFactor) {
 | 
				
			||||||
        AppSettings settings = getContext().getSettings();
 | 
					        prefs.putInt("width", width);
 | 
				
			||||||
 | 
					        prefs.putInt("height", height);
 | 
				
			||||||
 | 
					        prefs.putFloat("scale", imageFactor);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        settings.setResolution(width, height);
 | 
					        stop();
 | 
				
			||||||
        setSettings(settings);
 | 
					 | 
				
			||||||
        restart();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        enter(state);
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -158,4 +158,8 @@ protected void calculateRelative() {
 | 
				
			|||||||
        heightStep = verticalStep / 2;
 | 
					        heightStep = verticalStep / 2;
 | 
				
			||||||
        widthStep = horizontalStep / 2;
 | 
					        widthStep = horizontalStep / 2;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public Vector2f getPos() {
 | 
				
			||||||
 | 
					        return pos;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -30,20 +30,9 @@ public SettingsButton(MdgaApp app, Node node, Runnable action) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        // Enable adjustment for positioning
 | 
					        // Enable adjustment for positioning
 | 
				
			||||||
        adjust = true;
 | 
					        adjust = true;
 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					        pictureNormal.setImage(app.getAssetManager(), "Images/Settings_Button_normal.png", true);
 | 
				
			||||||
     * Displays the settings button by attaching it to the scene graph.
 | 
					        pictureHover.setImage(app.getAssetManager(), "Images/Settings_Button_hover.png", true);
 | 
				
			||||||
     */
 | 
					 | 
				
			||||||
    @Override
 | 
					 | 
				
			||||||
    public void show() {
 | 
					 | 
				
			||||||
        release();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        calculateRelative();
 | 
					 | 
				
			||||||
        setRelative();
 | 
					 | 
				
			||||||
        setImageRelative(pictureNormal);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        node.attachChild(instance);
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
@@ -51,12 +40,6 @@ public void show() {
 | 
				
			|||||||
     */
 | 
					     */
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public void onHover() {
 | 
					    public void onHover() {
 | 
				
			||||||
        icon = new IconComponent("Images/Settings_Button_hover.png");
 | 
					 | 
				
			||||||
        icon.setIconScale(0.02f * app.getImageScale());
 | 
					 | 
				
			||||||
        icon.setHAlignment(HAlignment.Center);
 | 
					 | 
				
			||||||
        icon.setVAlignment(VAlignment.Center);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        instance.setIcon(icon);
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
@@ -64,12 +47,6 @@ public void onHover() {
 | 
				
			|||||||
     */
 | 
					     */
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public void onUnHover() {
 | 
					    public void onUnHover() {
 | 
				
			||||||
        icon = new IconComponent("Images/Settings_Button_normal.png");
 | 
					 | 
				
			||||||
        icon.setIconScale(0.02f * app.getImageScale());
 | 
					 | 
				
			||||||
        icon.setHAlignment(HAlignment.Center);
 | 
					 | 
				
			||||||
        icon.setVAlignment(VAlignment.Center);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        instance.setIcon(icon);
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,18 +3,20 @@
 | 
				
			|||||||
import com.jme3.math.Vector2f;
 | 
					import com.jme3.math.Vector2f;
 | 
				
			||||||
import com.jme3.scene.Node;
 | 
					import com.jme3.scene.Node;
 | 
				
			||||||
import pp.mdga.client.MdgaApp;
 | 
					import pp.mdga.client.MdgaApp;
 | 
				
			||||||
 | 
					import pp.mdga.client.button.ButtonLeft;
 | 
				
			||||||
 | 
					import pp.mdga.client.button.ButtonRight;
 | 
				
			||||||
import pp.mdga.client.button.MenuButton;
 | 
					import pp.mdga.client.button.MenuButton;
 | 
				
			||||||
import pp.mdga.client.view.MdgaView;
 | 
					import pp.mdga.client.view.MdgaView;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public class VideoSettingsDialog extends Dialog {
 | 
					public class VideoSettingsDialog extends Dialog {
 | 
				
			||||||
    private MenuButton backButton;
 | 
					    private MenuButton backButton;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private MenuButton hdButton9;
 | 
					    private ButtonLeft hdButton9;
 | 
				
			||||||
    private MenuButton fullHdButton9;
 | 
					    private ButtonLeft fullHdButton9;
 | 
				
			||||||
    private MenuButton wqhdButton9;
 | 
					    private ButtonLeft wqhdButton9;
 | 
				
			||||||
    private MenuButton hdButton10;
 | 
					    private ButtonRight hdButton10;
 | 
				
			||||||
    private MenuButton fullHdButton10;
 | 
					    private ButtonRight fullHdButton10;
 | 
				
			||||||
    private MenuButton wqhdButton10;
 | 
					    private ButtonRight wqhdButton10;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private final MdgaView view;
 | 
					    private final MdgaView view;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -28,16 +30,29 @@ public VideoSettingsDialog(MdgaApp app, Node node, MdgaView view) {
 | 
				
			|||||||
        backButton = new MenuButton(app, node, view::leaveVideoSettings, "Zurück");
 | 
					        backButton = new MenuButton(app, node, view::leaveVideoSettings, "Zurück");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // MenuButton für verschiedene Auflösungen erstellen
 | 
					        // MenuButton für verschiedene Auflösungen erstellen
 | 
				
			||||||
        hdButton9 = new MenuButton(app, node, () -> app.updateResolution(1280, 720), "hd 16:9");
 | 
					        hdButton9 = new ButtonLeft(app, node, () -> app.updateResolution(1280, 720, 1.0f), "hd 16:9", 10);
 | 
				
			||||||
        fullHdButton9 = new MenuButton(app, node, () -> app.updateResolution(1920, 1080), "full hd 16:9");
 | 
					        fullHdButton9 = new ButtonLeft(app, node, () -> app.updateResolution(1920, 1080, 2.25f), "full hd 16:9", 10);
 | 
				
			||||||
        wqhdButton9 = new MenuButton(app, node, () -> app.updateResolution(2560, 1440), "wqhd 16:9");
 | 
					        wqhdButton9 = new ButtonLeft(app, node, () -> app.updateResolution(2560, 1440, 4.0f), "wqhd 16:9", 10);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        hdButton10 = new MenuButton(app, node, () -> app.updateResolution(1280, 800), "hd 16:10");
 | 
					
 | 
				
			||||||
        fullHdButton10 = new MenuButton(app, node, () -> app.updateResolution(1920, 1200), "full hd 16:10");
 | 
					        hdButton10 = new ButtonRight(app, node, () -> app.updateResolution(1280, 800, 1.0f), "hd 16:10", 10);
 | 
				
			||||||
        wqhdButton10 = new MenuButton(app, node, () -> app.updateResolution(2560, 1600), "wqhd 16:10");
 | 
					        fullHdButton10 = new ButtonRight(app, node, () -> app.updateResolution(1920, 1200, 2.25f), "full hd 16:10", 10);
 | 
				
			||||||
 | 
					        wqhdButton10 = new ButtonRight(app, node, () -> app.updateResolution(2560, 1600, 4.0f), "wqhd 16:10", 10);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        float offset = 2.8f;
 | 
					        float offset = 2.8f;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        hdButton9.setPos(new Vector2f(hdButton9.getPos().x, MenuButton.VERTICAL - offset));
 | 
				
			||||||
 | 
					        hdButton10.setPos(new Vector2f(hdButton10.getPos().x, MenuButton.VERTICAL - offset));
 | 
				
			||||||
 | 
					        offset += 1.5f;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        fullHdButton9.setPos(new Vector2f(fullHdButton9.getPos().x, MenuButton.VERTICAL - offset));
 | 
				
			||||||
 | 
					        fullHdButton10.setPos(new Vector2f(fullHdButton10.getPos().x, MenuButton.VERTICAL - offset));
 | 
				
			||||||
 | 
					        offset += 1.5f;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        wqhdButton9.setPos(new Vector2f(wqhdButton9.getPos().x, MenuButton.VERTICAL - offset));
 | 
				
			||||||
 | 
					        wqhdButton10.setPos(new Vector2f(wqhdButton10.getPos().x, MenuButton.VERTICAL - offset));
 | 
				
			||||||
 | 
					        offset += 1.5f;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        backButton.setPos(new Vector2f(0, 1.8f));
 | 
					        backButton.setPos(new Vector2f(0, 1.8f));
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -43,11 +43,14 @@ public class Die {
 | 
				
			|||||||
     */
 | 
					     */
 | 
				
			||||||
    private int lastNumberOfDice;
 | 
					    private int lastNumberOfDice;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private final boolean lock;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * This constructor is used to create a new Die object with a random seed.
 | 
					     * This constructor is used to create a new Die object with a random seed.
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    public Die() {
 | 
					    public Die() {
 | 
				
			||||||
        this.random = RandomGeneratorFactory.of("Random").create();
 | 
					        this.random = RandomGeneratorFactory.of("Random").create();
 | 
				
			||||||
 | 
					        this.lock = false;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
@@ -57,6 +60,18 @@ public Die() {
 | 
				
			|||||||
     */
 | 
					     */
 | 
				
			||||||
    public Die(long seed) {
 | 
					    public Die(long seed) {
 | 
				
			||||||
        this.random = RandomGeneratorFactory.of("Random").create(seed);
 | 
					        this.random = RandomGeneratorFactory.of("Random").create(seed);
 | 
				
			||||||
 | 
					        this.lock = false;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Constructor.
 | 
				
			||||||
 | 
					     * 
 | 
				
			||||||
 | 
					     * @param roll as the roll which should be returned everytime the shuffle method will be called as an Integer.
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public Die(int roll) {
 | 
				
			||||||
 | 
					        this.random = RandomGeneratorFactory.of("Random").create();
 | 
				
			||||||
 | 
					        this.lastNumberOfDice = roll;
 | 
				
			||||||
 | 
					        this.lock = true;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
@@ -65,6 +80,10 @@ public Die(long seed) {
 | 
				
			|||||||
     * @return lastNumberOfDice as an Integer.
 | 
					     * @return lastNumberOfDice as an Integer.
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    public int shuffle() {
 | 
					    public int shuffle() {
 | 
				
			||||||
 | 
					        if (this.lock) {
 | 
				
			||||||
 | 
					            return this.lastNumberOfDice;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        this.lastNumberOfDice = this.random.nextInt(MAXIMUM_EYES) + 1;
 | 
					        this.lastNumberOfDice = this.random.nextInt(MAXIMUM_EYES) + 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        return this.lastNumberOfDice;
 | 
					        return this.lastNumberOfDice;
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user