Remove some try statements and switches
This commit is contained in:
		@@ -1,5 +1,7 @@
 | 
				
			|||||||
package dev.lh;
 | 
					package dev.lh;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import static java.awt.Color.*;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import java.awt.*;
 | 
					import java.awt.*;
 | 
				
			||||||
import java.util.Random;
 | 
					import java.util.Random;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -27,30 +29,56 @@ public class FoodFactory {
 | 
				
			|||||||
	 * @since Snake 1.0
 | 
						 * @since Snake 1.0
 | 
				
			||||||
	 */
 | 
						 */
 | 
				
			||||||
	public static enum Food {
 | 
						public static enum Food {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		/**
 | 
							/**
 | 
				
			||||||
		 * Use if white food is wanted.
 | 
							 * Use if white food is wanted.
 | 
				
			||||||
		 */
 | 
							 */
 | 
				
			||||||
		white,
 | 
							white(
 | 
				
			||||||
 | 
								WHITE, 40
 | 
				
			||||||
 | 
							),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		/**
 | 
							/**
 | 
				
			||||||
		 * Use if yellow food is wanted.
 | 
							 * Use if yellow food is wanted.
 | 
				
			||||||
		 */
 | 
							 */
 | 
				
			||||||
		yellow,
 | 
							yellow(
 | 
				
			||||||
 | 
								YELLOW, 15
 | 
				
			||||||
 | 
							),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		/**
 | 
							/**
 | 
				
			||||||
		 * Use if orange food is wanted.
 | 
							 * Use if orange food is wanted.
 | 
				
			||||||
		 */
 | 
							 */
 | 
				
			||||||
		orange,
 | 
							orange(
 | 
				
			||||||
 | 
								ORANGE, 6
 | 
				
			||||||
 | 
							),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		/**
 | 
							/**
 | 
				
			||||||
		 * Use if red food is wanted.
 | 
							 * Use if red food is wanted.
 | 
				
			||||||
		 */
 | 
							 */
 | 
				
			||||||
		red,
 | 
							red(
 | 
				
			||||||
 | 
								RED, 2
 | 
				
			||||||
 | 
							),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		/**
 | 
							/**
 | 
				
			||||||
		 * Use if blue food is wanted.
 | 
							 * Use if blue food is wanted.
 | 
				
			||||||
		 */
 | 
							 */
 | 
				
			||||||
		blue
 | 
							blue(
 | 
				
			||||||
 | 
								BLUE, 1
 | 
				
			||||||
 | 
							);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							/**
 | 
				
			||||||
 | 
							 * The color of the food item.
 | 
				
			||||||
 | 
							 */
 | 
				
			||||||
 | 
							public final Color color;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							/**
 | 
				
			||||||
 | 
							 * The length bonus of the food item.
 | 
				
			||||||
 | 
							 */
 | 
				
			||||||
 | 
							public final int lengthBonus;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							private Food(Color color, int lengthBonus) {
 | 
				
			||||||
 | 
								this.color = color;
 | 
				
			||||||
 | 
								this.lengthBonus = lengthBonus;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	private static FoodFactory foodFactory = new FoodFactory();
 | 
						private static FoodFactory foodFactory = new FoodFactory();
 | 
				
			||||||
@@ -142,23 +170,7 @@ public class FoodFactory {
 | 
				
			|||||||
	 * @since Snake 1.0
 | 
						 * @since Snake 1.0
 | 
				
			||||||
	 */
 | 
						 */
 | 
				
			||||||
	public void colorOfFood(Graphics g) {
 | 
						public void colorOfFood(Graphics g) {
 | 
				
			||||||
		switch (nextFood) {
 | 
							g.setColor(nextFood.color);
 | 
				
			||||||
			case white:
 | 
					 | 
				
			||||||
				g.setColor(Color.white);
 | 
					 | 
				
			||||||
				break;
 | 
					 | 
				
			||||||
			case yellow:
 | 
					 | 
				
			||||||
				g.setColor(Color.yellow);
 | 
					 | 
				
			||||||
				break;
 | 
					 | 
				
			||||||
			case orange:
 | 
					 | 
				
			||||||
				g.setColor(Color.orange);
 | 
					 | 
				
			||||||
				break;
 | 
					 | 
				
			||||||
			case red:
 | 
					 | 
				
			||||||
				g.setColor(Color.red);
 | 
					 | 
				
			||||||
				break;
 | 
					 | 
				
			||||||
			case blue:
 | 
					 | 
				
			||||||
				g.setColor(Color.blue);
 | 
					 | 
				
			||||||
				break;
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/**
 | 
						/**
 | 
				
			||||||
@@ -172,12 +184,12 @@ public class FoodFactory {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	/**
 | 
						/**
 | 
				
			||||||
	 * @param snakeHead the the head of a {@link Snake} object
 | 
						 * @param snakeHead the the head of a {@link Snake} object
 | 
				
			||||||
	 * @return true if the current food intersects with the snakehead
 | 
						 * @return true if the current food intersects with the snake head
 | 
				
			||||||
	 * @since Snake 1.0
 | 
						 * @since Snake 1.0
 | 
				
			||||||
	 */
 | 
						 */
 | 
				
			||||||
	public boolean checkCollision(Rectangle snakeHead) {
 | 
						public boolean checkCollision(Rectangle snakeHead) {
 | 
				
			||||||
		int			s		= rectangleSize * 5;
 | 
							int s = rectangleSize * 5;
 | 
				
			||||||
		Rectangle	food	= new Rectangle(pFood, new Dimension(s, s));
 | 
							Rectangle food = new Rectangle(pFood, new Dimension(s, s));
 | 
				
			||||||
		return food.intersects(snakeHead);
 | 
							return food.intersects(snakeHead);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -186,24 +198,6 @@ public class FoodFactory {
 | 
				
			|||||||
	 * @since Snake 1.0
 | 
						 * @since Snake 1.0
 | 
				
			||||||
	 */
 | 
						 */
 | 
				
			||||||
	public int getAdditionalLength() {
 | 
						public int getAdditionalLength() {
 | 
				
			||||||
		int snakeAdditionalLength = 0;
 | 
							return nextFood.lengthBonus;
 | 
				
			||||||
		switch (nextFood) {
 | 
					 | 
				
			||||||
			case white:
 | 
					 | 
				
			||||||
				snakeAdditionalLength = 40;
 | 
					 | 
				
			||||||
				break;
 | 
					 | 
				
			||||||
			case yellow:
 | 
					 | 
				
			||||||
				snakeAdditionalLength = 15;
 | 
					 | 
				
			||||||
				break;
 | 
					 | 
				
			||||||
			case orange:
 | 
					 | 
				
			||||||
				snakeAdditionalLength = 6;
 | 
					 | 
				
			||||||
				break;
 | 
					 | 
				
			||||||
			case red:
 | 
					 | 
				
			||||||
				snakeAdditionalLength = 2;
 | 
					 | 
				
			||||||
				break;
 | 
					 | 
				
			||||||
			case blue:
 | 
					 | 
				
			||||||
				snakeAdditionalLength = 1;
 | 
					 | 
				
			||||||
				break;
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		return snakeAdditionalLength;
 | 
					 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,8 +3,8 @@ package dev.lh;
 | 
				
			|||||||
import java.awt.Graphics;
 | 
					import java.awt.Graphics;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * This interface contains everything that needs to updated regularly.<br>
 | 
					 * This interface contains everything that needs to be updated regularly.
 | 
				
			||||||
 * <br>
 | 
					 * <p>
 | 
				
			||||||
 * Project: <strong>Snake</strong><br>
 | 
					 * Project: <strong>Snake</strong><br>
 | 
				
			||||||
 * File: <strong>Updateable.java</strong><br>
 | 
					 * File: <strong>Updateable.java</strong><br>
 | 
				
			||||||
 * Created: <strong>11 Mar 2020</strong><br>
 | 
					 * Created: <strong>11 Mar 2020</strong><br>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -20,9 +20,9 @@ public class Endscreen extends JDialog {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	private static final long serialVersionUID = -4457484397259161063L;
 | 
						private static final long serialVersionUID = -4457484397259161063L;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	private static final int	goodOrBadResult	= 200;
 | 
						private static final int goodOrBadResult = 200;
 | 
				
			||||||
	private final JPanel		contentPanel	= new JPanel();
 | 
						private final JPanel contentPanel = new JPanel();
 | 
				
			||||||
	private final int			score;
 | 
						private final int score;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/**
 | 
						/**
 | 
				
			||||||
	 * Create the dialog.
 | 
						 * Create the dialog.
 | 
				
			||||||
@@ -31,32 +31,33 @@ public class Endscreen extends JDialog {
 | 
				
			|||||||
	 */
 | 
						 */
 | 
				
			||||||
	public Endscreen(int score) {
 | 
						public Endscreen(int score) {
 | 
				
			||||||
		this.score = score;
 | 
							this.score = score;
 | 
				
			||||||
		try {
 | 
							setTitle("Endscreen");
 | 
				
			||||||
 | 
							setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
 | 
				
			||||||
 | 
							setBounds(100, 100, 700, 700);
 | 
				
			||||||
 | 
							getContentPane().setLayout(new BorderLayout());
 | 
				
			||||||
 | 
							contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
 | 
				
			||||||
 | 
							contentPanel.setLayout(new BorderLayout(0, 0));
 | 
				
			||||||
 | 
							getContentPane().add(contentPanel, BorderLayout.CENTER);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			setTitle("Endscreen");
 | 
							JButton btnNewButton = new JButton("Play again");
 | 
				
			||||||
			setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
 | 
							btnNewButton.setMnemonic(KeyEvent.VK_ENTER);
 | 
				
			||||||
			setBounds(100, 100, 700, 700);
 | 
							btnNewButton.addActionListener(e -> {
 | 
				
			||||||
			getContentPane().setLayout(new BorderLayout());
 | 
								Main.startGame();
 | 
				
			||||||
			contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
 | 
								dispose();
 | 
				
			||||||
			contentPanel.setLayout(new BorderLayout(0, 0));
 | 
							});
 | 
				
			||||||
			getContentPane().add(contentPanel, BorderLayout.CENTER);
 | 
							btnNewButton.setFont(new Font("Times New Roman", Font.PLAIN, 15));
 | 
				
			||||||
 | 
							contentPanel.add(btnNewButton, BorderLayout.SOUTH);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			JButton btnNewButton = new JButton("Play again");
 | 
							JLabel lblDeinPunktestand = new JLabel("Dein Punktestand:	     " + String.valueOf(score));
 | 
				
			||||||
			btnNewButton.setMnemonic(KeyEvent.VK_ENTER);
 | 
							lblDeinPunktestand.setFont(new Font("Times New Roman", Font.PLAIN, 25));
 | 
				
			||||||
			btnNewButton.addActionListener(e -> { Main.startGame(); dispose(); });
 | 
							contentPanel.add(lblDeinPunktestand, BorderLayout.NORTH);
 | 
				
			||||||
			btnNewButton.setFont(new Font("Times New Roman", Font.PLAIN, 15));
 | 
					 | 
				
			||||||
			contentPanel.add(btnNewButton, BorderLayout.SOUTH);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
			JLabel lblDeinPunktestand = new JLabel("Dein Punktestand:	     " + String.valueOf(score));
 | 
							Image resultImage = Toolkit.getDefaultToolkit()
 | 
				
			||||||
			lblDeinPunktestand.setFont(new Font("Times New Roman", Font.PLAIN, 25));
 | 
								.getImage(
 | 
				
			||||||
			contentPanel.add(lblDeinPunktestand, BorderLayout.NORTH);
 | 
									this.getClass()
 | 
				
			||||||
 | 
										.getResource((score < goodOrBadResult) ? "/Try_Again.jpg" : "/1211548-200.png")
 | 
				
			||||||
			Image resultImage = Toolkit.getDefaultToolkit()
 | 
								);
 | 
				
			||||||
				.getImage(this.getClass().getResource((score < goodOrBadResult) ? "/Try_Again.jpg" : "/1211548-200.png"));
 | 
							resultImage.flush();
 | 
				
			||||||
			resultImage.flush();
 | 
					 | 
				
			||||||
		} catch (Exception e) {
 | 
					 | 
				
			||||||
			e.printStackTrace();
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/**
 | 
						/**
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -21,13 +21,14 @@ import dev.lh.Main;
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
public class StartScreen extends JFrame {
 | 
					public class StartScreen extends JFrame {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	private static final long	serialVersionUID	= 6055940532003735543L;
 | 
						private static final long serialVersionUID = 6055940532003735543L;
 | 
				
			||||||
	private JPanel				contentPane;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/**
 | 
						/**
 | 
				
			||||||
	 * Closes the application.
 | 
						 * Closes the application.
 | 
				
			||||||
	 */
 | 
						 */
 | 
				
			||||||
	public static void close() { System.exit(0); }
 | 
						public static void close() {
 | 
				
			||||||
 | 
							System.exit(0);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/**
 | 
						/**
 | 
				
			||||||
	 * Launches Snake.
 | 
						 * Launches Snake.
 | 
				
			||||||
@@ -43,31 +44,27 @@ public class StartScreen extends JFrame {
 | 
				
			|||||||
	 * Create the frame.
 | 
						 * Create the frame.
 | 
				
			||||||
	 */
 | 
						 */
 | 
				
			||||||
	public StartScreen() {
 | 
						public StartScreen() {
 | 
				
			||||||
		try {
 | 
							setTitle("Snake - Startscreen");
 | 
				
			||||||
			// readInHighscores();
 | 
							setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 | 
				
			||||||
			setTitle("Snake - Startscreen");
 | 
							setBounds(500, 200, 550, 550);
 | 
				
			||||||
			setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 | 
					 | 
				
			||||||
			setBounds(500, 200, 550, 550);
 | 
					 | 
				
			||||||
			contentPane = new JPanel();
 | 
					 | 
				
			||||||
			contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
 | 
					 | 
				
			||||||
			setContentPane(contentPane);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
			JButton buPlay = new JButton("Start Game");
 | 
							JPanel contentPane = new JPanel();
 | 
				
			||||||
			buPlay.setBounds(158, 197, 190, 131);
 | 
							contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
 | 
				
			||||||
			buPlay.setText("Play Again");
 | 
							setContentPane(contentPane);
 | 
				
			||||||
			buPlay.setMnemonic(KeyEvent.VK_ENTER);
 | 
					
 | 
				
			||||||
			buPlay.setFont(new Font("Times New Roman", Font.PLAIN, 16));
 | 
							JButton buPlay = new JButton("Start Game");
 | 
				
			||||||
			buPlay.addActionListener(a -> {
 | 
							buPlay.setBounds(158, 197, 190, 131);
 | 
				
			||||||
				Main.startGame();
 | 
							buPlay.setText("Play Again");
 | 
				
			||||||
				setVisible(false);
 | 
							buPlay.setMnemonic(KeyEvent.VK_ENTER);
 | 
				
			||||||
				dispose();
 | 
							buPlay.setFont(new Font("Times New Roman", Font.PLAIN, 16));
 | 
				
			||||||
				System.gc();
 | 
							buPlay.addActionListener(a -> {
 | 
				
			||||||
			});
 | 
								Main.startGame();
 | 
				
			||||||
			contentPane.add(buPlay);
 | 
								setVisible(false);
 | 
				
			||||||
			contentPane.setLayout(null);
 | 
								dispose();
 | 
				
			||||||
			setVisible(true);
 | 
								System.gc();
 | 
				
			||||||
		} catch (Exception e) {
 | 
							});
 | 
				
			||||||
			e.printStackTrace();
 | 
							contentPane.add(buPlay);
 | 
				
			||||||
		}
 | 
							contentPane.setLayout(null);
 | 
				
			||||||
 | 
							setVisible(true);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user