Collision checking for outer bounds works apparentlly solely on Windows, commented out for now #1
							
								
								
									
										5
									
								
								.classpath
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										5
									
								
								.classpath
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							| @@ -2,6 +2,7 @@ | ||||
| <classpath> | ||||
| 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"> | ||||
| 		<attributes> | ||||
| 			<attribute name="module" value="true"/> | ||||
| 			<attribute name="maven.pomderived" value="true"/> | ||||
| 		</attributes> | ||||
| 	</classpathentry> | ||||
| @@ -12,10 +13,6 @@ | ||||
| 		</attributes> | ||||
| 	</classpathentry> | ||||
| 	<classpathentry kind="src" path="src/main/resources"/> | ||||
| 	<classpathentry kind="lib" path="Snake_jar.jar"/> | ||||
| 	<classpathentry kind="lib" path="Snake_runnableJAR.jar"/> | ||||
| 	<classpathentry kind="lib" path="Snake/jgoodies-forms-1.8.0.jar"/> | ||||
| 	<classpathentry kind="lib" path="Snake/miglayout15-swing.jar"/> | ||||
| 	<classpathentry kind="src" output="target/test-classes" path="src/test/java"> | ||||
| 		<attributes> | ||||
| 			<attribute name="test" value="true"/> | ||||
|   | ||||
							
								
								
									
										0
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										0
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										
										
										Normal file → Executable file
									
								
							
							
								
								
									
										0
									
								
								.settings/org.eclipse.jdt.core.prefs
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										0
									
								
								.settings/org.eclipse.jdt.core.prefs
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
								
								
									
										0
									
								
								.settings/org.eclipse.jdt.ui.prefs
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										0
									
								
								.settings/org.eclipse.jdt.ui.prefs
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
								
								
									
										0
									
								
								.settings/org.eclipse.m2e.core.prefs
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										0
									
								
								.settings/org.eclipse.m2e.core.prefs
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							| @@ -1,6 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <classpath> | ||||
| 	<classpathentry exported="true" kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/> | ||||
| 	<classpathentry kind="src" path="src"/> | ||||
| 	<classpathentry kind="output" path="bin"/> | ||||
| </classpath> | ||||
							
								
								
									
										1
									
								
								Snake/.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								Snake/.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -1 +0,0 @@ | ||||
| /bin/ | ||||
| @@ -1,17 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <projectDescription> | ||||
| 	<name>Snake</name> | ||||
| 	<comment></comment> | ||||
| 	<projects> | ||||
| 	</projects> | ||||
| 	<buildSpec> | ||||
| 		<buildCommand> | ||||
| 			<name>org.eclipse.jdt.core.javabuilder</name> | ||||
| 			<arguments> | ||||
| 			</arguments> | ||||
| 		</buildCommand> | ||||
| 	</buildSpec> | ||||
| 	<natures> | ||||
| 		<nature>org.eclipse.jdt.core.javanature</nature> | ||||
| 	</natures> | ||||
| </projectDescription> | ||||
| @@ -1,11 +0,0 @@ | ||||
| eclipse.preferences.version=1 | ||||
| org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled | ||||
| org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 | ||||
| org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve | ||||
| org.eclipse.jdt.core.compiler.compliance=1.8 | ||||
| org.eclipse.jdt.core.compiler.debug.lineNumber=generate | ||||
| org.eclipse.jdt.core.compiler.debug.localVariable=generate | ||||
| org.eclipse.jdt.core.compiler.debug.sourceFile=generate | ||||
| org.eclipse.jdt.core.compiler.problem.assertIdentifier=error | ||||
| org.eclipse.jdt.core.compiler.problem.enumIdentifier=error | ||||
| org.eclipse.jdt.core.compiler.source=1.8 | ||||
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							| @@ -1,21 +0,0 @@ | ||||
| package dev.lh.snake; | ||||
|  | ||||
| import java.awt.Color; | ||||
| import java.awt.Graphics; | ||||
| import java.awt.Point; | ||||
|  | ||||
| public class Food { | ||||
|  | ||||
| 	private Point position; | ||||
| 	 | ||||
| 	public Food(int x, int y) { | ||||
| 		position = new Point(x,y); | ||||
| 	} | ||||
| 	 | ||||
| 	public void render(Graphics g) { | ||||
| 		g.setColor(Color.yellow); | ||||
| 		g.fillRect(position.x, position.y, 16, 16); | ||||
| 	} | ||||
| 	 | ||||
| 	 | ||||
| } | ||||
| @@ -1,98 +0,0 @@ | ||||
| package dev.lh.snake; | ||||
|  | ||||
| import java.awt.Color; | ||||
| import java.awt.Dimension; | ||||
| import java.awt.Graphics; | ||||
| import java.awt.Toolkit; | ||||
| import java.awt.event.KeyAdapter; | ||||
| import java.awt.event.KeyEvent; | ||||
|  | ||||
| import javax.swing.JFrame; | ||||
| import javax.swing.JPanel; | ||||
| import javax.swing.Timer; | ||||
|  | ||||
| import dev.lh.snake.Snake; | ||||
|  | ||||
| public class GameWindow extends JFrame { | ||||
|  | ||||
| 	/** | ||||
| 	 *  | ||||
| 	 */ | ||||
| 	private static final long serialVersionUID = 1L; | ||||
| 	Toolkit tk = Toolkit.getDefaultToolkit(); | ||||
| 	int xSize = ((int) tk.getScreenSize().getWidth()); | ||||
| 	int ySize = ((int) tk.getScreenSize().getHeight()); | ||||
|  | ||||
| 	public GameWindow(int width, int height, String title) { | ||||
| 		super(title); | ||||
| 		setLocationRelativeTo(null); | ||||
| 		Dimension size = new Dimension(width, height); | ||||
| 		setPreferredSize(size); | ||||
| 		setMinimumSize(size); | ||||
| 		setMaximumSize(size); | ||||
| 		setResizable(false); | ||||
| 		setDefaultCloseOperation(EXIT_ON_CLOSE); | ||||
|  | ||||
| 		Snake s = new Snake(3); | ||||
|  | ||||
| 		add(new JPanel() { | ||||
|  | ||||
| 			/** | ||||
| 			 *  | ||||
| 			 */ | ||||
| 			private static final long serialVersionUID = 1L; | ||||
|  | ||||
| 			@Override | ||||
| 			protected void paintComponent(Graphics g) { | ||||
| 				super.paintComponent(g); | ||||
| 				g.setColor(Color.black); | ||||
| 				g.fillRect(0, 0, width, height); | ||||
| 				s.render(g); | ||||
| 			} | ||||
| 		}); | ||||
|  | ||||
| 		addKeyListener(new KeyAdapter() { | ||||
|  | ||||
| 			@Override | ||||
| 			public void keyPressed(KeyEvent e) { | ||||
| 				super.keyPressed(e); | ||||
| 				switch (e.getKeyCode()) { | ||||
| 				case KeyEvent.VK_W: | ||||
| 					s.setRichtung(Direction.Up); | ||||
| 					break; | ||||
| 				case KeyEvent.VK_A: | ||||
| 					s.setRichtung(Direction.Left); | ||||
| 					break; | ||||
| 				case KeyEvent.VK_S: | ||||
| 					s.setRichtung(Direction.Down); | ||||
| 					break;	 | ||||
| 				case KeyEvent.VK_D: | ||||
| 					s.setRichtung(Direction.Right); | ||||
| 					break; | ||||
| 				case KeyEvent.VK_UP: | ||||
| 					s.setRichtung(Direction.Up); | ||||
| 					break; | ||||
| 				case KeyEvent.VK_LEFT: | ||||
| 					s.setRichtung(Direction.Left); | ||||
| 					break; | ||||
| 				case KeyEvent.VK_DOWN: | ||||
| 					s.setRichtung(Direction.Down); | ||||
| 					break;	 | ||||
| 				case KeyEvent.VK_RIGHT: | ||||
| 					s.setRichtung(Direction.Right); | ||||
| 					break;		 | ||||
|  | ||||
| 				}// switch | ||||
| 			}// keypressed | ||||
| 		});// keylistener | ||||
|  | ||||
| 		Timer timer = new Timer (200, (evt)->{ | ||||
| 			s.tick(); | ||||
| 			repaint(); | ||||
| 		}); | ||||
| 		timer.start(); | ||||
| 		 | ||||
| 		setVisible(true); | ||||
| 		 | ||||
| 	} | ||||
| }// Konstruktor | ||||
| @@ -1,15 +0,0 @@ | ||||
| package dev.lh.snake; | ||||
|  | ||||
| import java.util.ArrayList; | ||||
| import java.util.List; | ||||
|  | ||||
| public class Handler { | ||||
| 	 | ||||
| 	List<Updateable> targets; | ||||
| 	 | ||||
| 	public Handler() { | ||||
| 		targets = new ArrayList<>(); | ||||
| 		targets.add(new Snake(3)); | ||||
| 	} | ||||
|  | ||||
| } | ||||
| @@ -1,13 +0,0 @@ | ||||
| package dev.lh.snake; | ||||
|  | ||||
| import dev.lh.snake.GameWindow; | ||||
|  | ||||
| public class Main { | ||||
|  | ||||
| 	public static void main(String[] args) { | ||||
|  | ||||
| 		GameWindow game = new GameWindow(640, 480, "Snake"); | ||||
| 		game.setVisible(true); | ||||
| 	} | ||||
|  | ||||
| } | ||||
| @@ -1,76 +0,0 @@ | ||||
| package dev.lh.snake; | ||||
|  | ||||
| import java.awt.Color; | ||||
| import java.awt.Graphics; | ||||
| import java.awt.Point; | ||||
|  | ||||
| public class Snake implements Updateable { | ||||
|  | ||||
| 	static enum Direction{ | ||||
| 		Left, Right, Up, Down; | ||||
| 	} | ||||
| 	private Direction Richtung; | ||||
| 	private int length; | ||||
| 	private Point[] tiles; | ||||
| 	 | ||||
| 	public Snake(int length) { | ||||
| 		this.length = length; | ||||
| 		tiles =new Point[length]; | ||||
| 		Richtung = Direction.Left; | ||||
| 		 | ||||
| 		for(int i = 0; i<length;i++) { | ||||
| 			tiles[i] = new Point(320-50*i, 240); | ||||
| 		} | ||||
| 		 | ||||
| 	}//End Constructor | ||||
| 	@Override | ||||
| 	public void tick() { | ||||
| 		int velX = 0, velY = 0; | ||||
| 		switch(Richtung) { | ||||
| 		 | ||||
| 		case Up: | ||||
| 			velY=-50; | ||||
| 			break; | ||||
| 		case Down: | ||||
| 			velY=50; | ||||
| 			break; | ||||
| 		case Left: | ||||
| 			velX=-50; | ||||
| 			break; | ||||
| 		case Right: | ||||
| 			velX=50; | ||||
| 			break;			 | ||||
| 		}//switch | ||||
| 	Point next = (Point) tiles[0].clone(), cur; | ||||
| 	tiles[0].x+=velX; | ||||
| 	tiles[0].y+=velY; | ||||
| 		 | ||||
| 	 | ||||
| 	for(int i = 1;i<length;i++) { | ||||
| 		cur = tiles[i]; | ||||
| 		tiles[i]=(Point) next.clone(); | ||||
| 		next = cur; | ||||
| 		 | ||||
| 	}//for | ||||
| 	 | ||||
| 	}//End tick | ||||
| 	@Override | ||||
| 	public void render(Graphics g) { | ||||
| 		g.setColor(Color.green); | ||||
| 	 | ||||
| 		for (int i = 0; i<length;i++) { | ||||
| 			g.drawRect(tiles[i].x, tiles[i].y, 50, 50); | ||||
| 			 | ||||
| 		} | ||||
| 		 | ||||
| 		 | ||||
| 	}//End render | ||||
|  | ||||
| 	public Direction getRichtung() { | ||||
| 		return Richtung; | ||||
| 	} | ||||
|  | ||||
| 	public void setRichtung(Direction richtung) { | ||||
| 		Richtung = richtung; | ||||
| 	} | ||||
| } | ||||
| @@ -1,19 +0,0 @@ | ||||
| package dev.lh.snake; | ||||
|  | ||||
| import java.awt.Graphics; | ||||
|  | ||||
| public class Spawner implements Updateable{ | ||||
|  | ||||
| 	@Override | ||||
| 	public void tick() { | ||||
|  | ||||
| 		 | ||||
| 	} | ||||
|  | ||||
| 	@Override | ||||
| 	public void render(Graphics g) { | ||||
|  | ||||
| 		 | ||||
| 	} | ||||
|  | ||||
| } | ||||
| @@ -1,11 +0,0 @@ | ||||
| package dev.lh.snake; | ||||
|  | ||||
| import java.awt.Graphics; | ||||
|  | ||||
| public interface Updateable { | ||||
| 	 | ||||
| 	void tick(); | ||||
| 	 | ||||
| 	void render(Graphics g); | ||||
|  | ||||
| } | ||||
							
								
								
									
										
											BIN
										
									
								
								Snake_jar.jar
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Snake_jar.jar
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							| @@ -1,45 +0,0 @@ | ||||
| package dev.lh; | ||||
|  | ||||
| import java.awt.Color; | ||||
| import java.awt.Graphics; | ||||
| import java.awt.Point; | ||||
|  | ||||
| /** | ||||
|  * Project: <strong>Snake</strong><br> | ||||
|  * File: <strong>Food.java</strong><br> | ||||
|  * Created: <strong>11 Mar 2020</strong><br> | ||||
|  * | ||||
|  * @author Leon Hofmeister | ||||
|  * @since Snake 1.0 | ||||
|  */ | ||||
| public class Food { | ||||
|  | ||||
| 	private Point position; | ||||
|  | ||||
| 	/** | ||||
| 	 * Constructs a new food object. | ||||
| 	 * | ||||
| 	 * @param x the x coordinate of the new food | ||||
| 	 * @param y the y coordinate of the new food | ||||
| 	 * @since Snake 1.0 | ||||
| 	 */ | ||||
| 	public Food(int x, int y) { position = new Point(x, y); } | ||||
|  | ||||
| 	/** | ||||
| 	 * Constructs a new food object. | ||||
| 	 * | ||||
| 	 * @param position the position of the food | ||||
| 	 * @since Snake 1.1 | ||||
| 	 */ | ||||
| 	public Food(Point position) { this.position = position; } | ||||
|  | ||||
| 	/** | ||||
| 	 * @param g the {@link Graphics} object used to draw the food | ||||
| 	 * @since Snake 1.0 | ||||
| 	 */ | ||||
| 	public void render(Graphics g) { | ||||
| 		g.setColor(Color.yellow); | ||||
| 		g.fillRect(position.x, position.y, 16, 16); | ||||
| 	} | ||||
|  | ||||
| } | ||||
							
								
								
									
										0
									
								
								src/main/dev/lh/FoodFactory.java
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										0
									
								
								src/main/dev/lh/FoodFactory.java
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							| @@ -1,30 +0,0 @@ | ||||
| package dev.lh; | ||||
|  | ||||
| import java.util.ArrayList; | ||||
| import java.util.List; | ||||
|  | ||||
| /** | ||||
|  * The handler handles incoming events in Snake.<br> | ||||
|  * <br> | ||||
|  * Project: <strong>Snake</strong><br> | ||||
|  * File: <strong>Handler.java</strong><br> | ||||
|  * Created: <strong>11 Mar 2020</strong><br> | ||||
|  * | ||||
|  * @author Leon Hofmeister | ||||
|  * @since Snake 1.0 | ||||
|  */ | ||||
| public class Handler { | ||||
|  | ||||
| 	List<Updateable> targets; | ||||
|  | ||||
| 	/** | ||||
| 	 * Constructs a new {@link Handler}. | ||||
| 	 * | ||||
| 	 * @since Snake 1.0 | ||||
| 	 */ | ||||
| 	public Handler() { | ||||
| 		targets = new ArrayList<>(); | ||||
| 		targets.add(new Snake(3)); | ||||
| 	} | ||||
|  | ||||
| } | ||||
							
								
								
									
										0
									
								
								src/main/dev/lh/Main.java
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										0
									
								
								src/main/dev/lh/Main.java
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
								
								
									
										20
									
								
								src/main/dev/lh/Snake.java
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										20
									
								
								src/main/dev/lh/Snake.java
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							| @@ -52,10 +52,11 @@ public class Snake implements Updateable { | ||||
| 		Down; | ||||
| 	} | ||||
|  | ||||
| 	private static FoodFactory	foodFactory	= FoodFactory.getInstance(); | ||||
| 	private static Endscreen	endscreen; | ||||
| 	private Direction			Richtung; | ||||
| 	private int					length; | ||||
| 	private List<Point>			tiles		= new ArrayList<>(); | ||||
| 	private static FoodFactory	foodFactory	= FoodFactory.getInstance(); | ||||
| 	private final int			snakeSize	= 10; | ||||
|  | ||||
| 	/** | ||||
| @@ -67,17 +68,15 @@ public class Snake implements Updateable { | ||||
| 	public Snake(int length) { | ||||
| 		this.length	= length; | ||||
| 		Richtung	= Direction.Right; | ||||
|  | ||||
| 		// adding the initial tiles of the snake | ||||
| 		for (int i = 0; i < length; i++) | ||||
| 			tiles.add(new Point(320 - 50 * i, 240)); | ||||
|  | ||||
| 	}// End Constructor | ||||
| 			tiles.add(new Point(320 - snakeSize * i, 240)); | ||||
| 	} | ||||
|  | ||||
| 	@Override | ||||
| 	public void nextFrame() { | ||||
| 		int velX = 0, velY = 0; | ||||
| 		switch (Richtung) { | ||||
|  | ||||
| 			case Up: | ||||
| 				velY = -snakeSize; | ||||
| 				break; | ||||
| @@ -90,7 +89,7 @@ public class Snake implements Updateable { | ||||
| 			case Right: | ||||
| 				velX = snakeSize; | ||||
| 				break; | ||||
| 		}// switch | ||||
| 		} | ||||
| 		Point next = (Point) tiles.get(0).clone(), cur; | ||||
| 		tiles.get(0).x	+= velX; | ||||
| 		tiles.get(0).y	+= velY; | ||||
| @@ -101,8 +100,9 @@ public class Snake implements Updateable { | ||||
| 			next = cur; | ||||
| 		} | ||||
|  | ||||
| 		// case if the snake is outside of the screen or touches itself | ||||
| 		if (!Main.getGame().getBounds().contains(tiles.get(0)) || checkSelfCollision()) gameOver(); | ||||
| 		// case if snake is outside of the screen or touches itself | ||||
| 		if (checkSelfCollision()) gameOver(); | ||||
| 		// if (!Main.getGame().getBounds().contains(tiles.get(0))) gameOver(); | ||||
|  | ||||
| 		// case if snake eats food | ||||
| 		if (foodFactory.checkCollision(new Rectangle(tiles.get(0).x, tiles.get(0).y, snakeSize, snakeSize))) { | ||||
| @@ -117,7 +117,7 @@ public class Snake implements Updateable { | ||||
| 	 * @since Snake 1.1 | ||||
| 	 */ | ||||
| 	private void gameOver() { | ||||
| 		Endscreen endscreen = new Endscreen(length); | ||||
| 		endscreen = new Endscreen(length); | ||||
| 		endscreen.setVisible(true); | ||||
| 		Main.getGame().close(); | ||||
| 	} | ||||
|   | ||||
| @@ -1,25 +0,0 @@ | ||||
| package dev.lh; | ||||
|  | ||||
| import java.awt.Graphics; | ||||
|  | ||||
| /** | ||||
|  * Project: <strong>Snake</strong><br> | ||||
|  * File: <strong>Spawner.java</strong><br> | ||||
|  * Created: <strong>11 Mar 2020</strong><br> | ||||
|  * | ||||
|  * @author Leon Hofmeister | ||||
|  * @since Snake 1.0 | ||||
|  */ | ||||
| public class Spawner implements Updateable { | ||||
|  | ||||
| 	@Override | ||||
| 	public void nextFrame() { | ||||
|  | ||||
| 	} | ||||
|  | ||||
| 	@Override | ||||
| 	public void render(Graphics g) { | ||||
|  | ||||
| 	} | ||||
|  | ||||
| } | ||||
							
								
								
									
										0
									
								
								src/main/dev/lh/Updateable.java
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										0
									
								
								src/main/dev/lh/Updateable.java
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
								
								
									
										43
									
								
								src/main/dev/lh/ui/Endscreen.java
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										43
									
								
								src/main/dev/lh/ui/Endscreen.java
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							| @@ -1,13 +1,9 @@ | ||||
| package dev.lh.ui; | ||||
|  | ||||
| import java.awt.BorderLayout; | ||||
| import java.awt.Font; | ||||
| import java.awt.*; | ||||
| import java.awt.event.KeyEvent; | ||||
|  | ||||
| import javax.swing.JButton; | ||||
| import javax.swing.JDialog; | ||||
| import javax.swing.JLabel; | ||||
| import javax.swing.JPanel; | ||||
| import javax.swing.*; | ||||
| import javax.swing.border.EmptyBorder; | ||||
|  | ||||
| import dev.lh.Main; | ||||
| @@ -24,8 +20,9 @@ public class Endscreen extends JDialog { | ||||
|  | ||||
| 	private static final long serialVersionUID = -4457484397259161063L; | ||||
|  | ||||
| 	private final JPanel	contentPanel	= new JPanel(); | ||||
| 	private static int		score			= 0; | ||||
| 	private final JPanel		contentPanel	= new JPanel(); | ||||
| 	private int					score			= 0; | ||||
| 	private static final int	goodOrBadResult	= 200; | ||||
|  | ||||
| 	/** | ||||
| 	 * Create the dialog. | ||||
| @@ -33,7 +30,7 @@ public class Endscreen extends JDialog { | ||||
| 	 * @param score the highscore to set | ||||
| 	 */ | ||||
| 	public Endscreen(int score) { | ||||
| 		Endscreen.score = score; | ||||
| 		this.score = score; | ||||
| 		try { | ||||
| 			// readInHighscoresPoints(); | ||||
| 			// readInHighscoresPlayers(); | ||||
| @@ -55,7 +52,6 @@ public class Endscreen extends JDialog { | ||||
| 		} catch (Exception e) { | ||||
| 			e.printStackTrace(); | ||||
| 		} | ||||
| 		contentPanel.setLayout(null); | ||||
| 		// JScrollPane scrollPane = new JScrollPane(); | ||||
| 		// scrollPane.setBounds(10, 412, 349, 238); | ||||
| 		// contentPanel.add(scrollPane); | ||||
| @@ -78,16 +74,13 @@ public class Endscreen extends JDialog { | ||||
|  | ||||
| 		JButton btnNewButton = new JButton("Play again"); | ||||
| 		btnNewButton.setMnemonic(KeyEvent.VK_ENTER); | ||||
|  | ||||
| 		btnNewButton.addActionListener(e -> { Main.startGame(); setVisible(false); dispose(); }); | ||||
| 		// BLOß NICHT RAUSWERFEN | ||||
| 		btnNewButton.addActionListener(e -> { Main.startGame(); dispose(); }); | ||||
| 		contentPanel.setLayout(new BorderLayout(0, 0)); | ||||
| 		btnNewButton.setIcon(new ImageIcon(ClassLoader.getSystemResource("/com/sun/javafx/webkit/prism/resources/mediaPlayDisabled.png"))); | ||||
| 		btnNewButton.setIconTextGap(5); | ||||
| 		// btnNewButton.setIcon(new | ||||
| 		// ImageIcon(ClassLoader.getSystemResource("/com/sun/javafx/webkit/prism/resources/mediaPlayDisabled.png"))); | ||||
| 		// Endscreen.class.getResource("/com/sun/javafx/webkit/prism/resources/mediaPlayDisabled.png"))); | ||||
| 		btnNewButton.setFont(new Font("Times New Roman", Font.PLAIN, 15)); | ||||
| 		btnNewButton.setBounds(85, 512, 243, 100); | ||||
| 		contentPanel.add(btnNewButton); | ||||
| 		contentPanel.add(btnNewButton, BorderLayout.SOUTH); | ||||
|  | ||||
| 		// JButton btnClose = new JButton("Close game"); | ||||
| 		// | ||||
| @@ -139,14 +132,17 @@ public class Endscreen extends JDialog { | ||||
|  | ||||
| 		JLabel lblDeinPunktestand = new JLabel("Dein Punktestand:	     " + String.valueOf(score)); | ||||
| 		lblDeinPunktestand.setFont(new Font("Times New Roman", Font.PLAIN, 25)); | ||||
| 		lblDeinPunktestand.setBounds(10, 45, 291, 50); | ||||
| 		contentPanel.add(lblDeinPunktestand); | ||||
| 		contentPanel.add(lblDeinPunktestand, BorderLayout.NORTH); | ||||
|  | ||||
| 		// JLabel lblYourName = new JLabel("Your Name:"); | ||||
| 		// lblYourName.setFont(new Font("Times New Roman", Font.PLAIN, 15)); | ||||
| 		// lblYourName.setBounds(10, 355, 82, 29); | ||||
| 		// contentPanel.add(lblYourName); | ||||
|  | ||||
| 		Image resultImage = Toolkit.getDefaultToolkit() | ||||
| 			.getImage(this.getClass() | ||||
| 				.getResource((score < goodOrBadResult) ? "/Snake/src/main/resources/Try_Again.jpg" : "/Snake/src/main/resources/1211548-200.png")); | ||||
| 		resultImage.flush(); | ||||
| 		// JCheckBox chckbxNewCheckBox = new JCheckBox(""); | ||||
| 		// JLabel lblDasIstEin = new JLabel("Das ist ein hervorragender Wert!"); | ||||
| 		// lblDasIstEin.setFont(new Font("Times New Roman", Font.PLAIN, 15)); | ||||
| @@ -161,10 +157,9 @@ public class Endscreen extends JDialog { | ||||
| 		// chckbxNewCheckBox.setBounds(300, 200, 250, 210); | ||||
| 		// lblDasIstEin.setText("Das kannst du aber noch verbessern!"); | ||||
| 		// lblDasIstEin.setBounds(10, 100, 240, 50); | ||||
| 		// contentPanel.add(lblDasIstEin); | ||||
| 		// } | ||||
| 		// contentPanel.add(chckbxNewCheckBox); | ||||
| 		// contentPanel.add(lblDasIstEin); | ||||
| 		// contentPanel.add(chckbxNewCheckBox, BorderLayout.CENTER); | ||||
| 		// contentPanel.add(lblDasIstEin, BorderLayout.EAST); | ||||
| 		setVisible(true); | ||||
| 	} | ||||
|  | ||||
| @@ -172,13 +167,13 @@ public class Endscreen extends JDialog { | ||||
| 	 * @return the highscore of the current game | ||||
| 	 * @since Snake 1.0 | ||||
| 	 */ | ||||
| 	public static int getScore() { return score; } | ||||
| 	public int getScore() { return score; } | ||||
|  | ||||
| 	/** | ||||
| 	 * @param score the new highscore | ||||
| 	 * @since Snake 1.0 | ||||
| 	 */ | ||||
| 	public static void setScore(int score) { Endscreen.score = score; } | ||||
| 	public void setScore(int score) { this.score = score; } | ||||
| 	/* | ||||
| 	 * public static void readInHighscoresPoints() { try { // FileReader reads text | ||||
| 	 * files in the default encoding. FileReader fileReader = new | ||||
|   | ||||
							
								
								
									
										2
									
								
								src/main/dev/lh/ui/GameWindow.java
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										2
									
								
								src/main/dev/lh/ui/GameWindow.java
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							| @@ -44,7 +44,7 @@ public class GameWindow extends JFrame { | ||||
| 		setMinimumSize(size); | ||||
| 		setPreferredSize(size); | ||||
| 		setMaximumSize(size); | ||||
| 		setExtendedState(JFrame.MAXIMIZED_BOTH); | ||||
| 		setExtendedState(getExtendedState() | JFrame.MAXIMIZED_BOTH); | ||||
| 		setResizable(false); | ||||
| 		setDefaultCloseOperation(EXIT_ON_CLOSE); | ||||
|  | ||||
|   | ||||
							
								
								
									
										0
									
								
								src/main/dev/lh/ui/StartScreen.java
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										0
									
								
								src/main/dev/lh/ui/StartScreen.java
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
								
								
									
										0
									
								
								src/main/resources/1211548-200.png
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										0
									
								
								src/main/resources/1211548-200.png
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							| Before Width: | Height: | Size: 5.4 KiB After Width: | Height: | Size: 5.4 KiB | 
							
								
								
									
										0
									
								
								src/main/resources/Try_Again.jpg
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										0
									
								
								src/main/resources/Try_Again.jpg
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							| Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB | 
		Reference in New Issue
	
	Block a user