diff --git a/Arctic_Nigthmare/src/arctic_nightmare/GameWindow.java b/Arctic_Nigthmare/src/arctic_nightmare/GameWindow.java index fd936a01155fa11c89319ec7eba906a79be53c4c..7fe3979cfc64fd7829be2b0bf6cad68f94b97c71 100644 --- a/Arctic_Nigthmare/src/arctic_nightmare/GameWindow.java +++ b/Arctic_Nigthmare/src/arctic_nightmare/GameWindow.java @@ -9,6 +9,7 @@ import java.awt.RenderingHints; import java.awt.image.BufferedImage; import java.util.ArrayList; import java.util.List; +import javax.swing.GroupLayout; import javax.swing.ImageIcon; import javax.swing.JComboBox; import javax.swing.JFrame; @@ -16,15 +17,17 @@ import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTextField; +import javax.swing.SwingConstants; import javax.swing.UIManager; public class GameWindow extends JFrame{ private Game game; + private Person actualplayer; private List<Block> fields; private List<EventButton> buttons; private int lastclick; - private JLabel actualstats; + private JLabel actualstats, logo; GameWindow(Game game) { @@ -33,7 +36,9 @@ public class GameWindow extends JFrame{ actualstats.setVisible(true); actualstats.setOpaque(true); actualstats.setBackground(Color.white); - this.add(actualstats); + add(actualstats); + logo = new JLabel(new ImageIcon("src/arctic_nightmare/resources/logo.gif"), SwingConstants.CENTER); + add(logo); setSize(600, 600); setTitle("Arctic Nightmare"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); @@ -45,7 +50,7 @@ public class GameWindow extends JFrame{ public void drawBoard() { - Person actualplayer = game.getActualPlayer(); + actualplayer = game.getActualPlayer(); actualstats.setText("<html>" + actualplayer.getName() + "<br>Bodyheat : " + actualplayer.bodyTemp + "<br>Work : " + actualplayer.work + "</html>" ); for (Block block : fields) { @@ -91,27 +96,41 @@ public class GameWindow extends JFrame{ int windowhight = 200 +(columns -1) * fielddistancevertical + fielddistancevertical; setSize(windowwidth, windowhight); - actualstats.setBounds(windowwidth-100, windowhight-150, 100, 100); + logo.setBounds(windowwidth /2 - 270, 0, 527, 102); + actualstats.setBounds(windowwidth-100, windowhight-150, 100, 50); for (int i = 0;board.size() > i; i++) { Block block = new Block(this, board.getfield(i), 20 + fielddistancehorizontal * (i - (i / columns) * columns ), 150 + fielddistancevertical * (i / columns), fieldwidth, fildheight); this.add(block); fields.add(block); } - buttons.add(new EventButton(this, 0, "Step", windowwidth - buttonwidth, 10, buttonwidth, 40)); - buttons.add(new EventButton(this, 1, "Shovel", windowwidth - buttonwidth, 60, buttonwidth, 40 )); - buttons.add(new EventButton(this, 2, "Dig", windowwidth - buttonwidth, 110, buttonwidth, 40 )); - buttons.add(new EventButton(this, 3, "Pickup",windowwidth - buttonwidth, 160, buttonwidth, 40 )); - buttons.add(new EventButton(this, 4, "Tent", windowwidth - buttonwidth, 210, buttonwidth, 40 )); - buttons.add(new EventButton(this, 5, "Pistol", windowwidth - buttonwidth, 260, buttonwidth, 40 )); - buttons.add(new EventButton(this, 6, "Igluu",windowwidth - buttonwidth, 310, buttonwidth, 40 )); - buttons.add(new EventButton(this, 7, "Inspect",windowwidth - buttonwidth, 360, buttonwidth, 40 )); + buttons.add(new EventButton(this, 0, "Step", windowwidth - buttonwidth, 110, buttonwidth, 30)); + buttons.add(new EventButton(this, 1, "Shovel", windowwidth - buttonwidth, 150, buttonwidth, 30 )); + buttons.add(new EventButton(this, 2, "Dig", windowwidth - buttonwidth, 190, buttonwidth, 30 )); + buttons.add(new EventButton(this, 3, "Pickup",windowwidth - buttonwidth, 230, buttonwidth, 30 )); + buttons.add(new EventButton(this, 4, "Tent", windowwidth - buttonwidth, 270, buttonwidth, 30 )); + buttons.add(new EventButton(this, 5, "Pistol", windowwidth - buttonwidth, 310, buttonwidth, 30 )); + buttons.add(new EventButton(this, 6, "Igluu",windowwidth - buttonwidth, 350, buttonwidth, 30 )); + buttons.add(new EventButton(this, 7, "Inspect",windowwidth - buttonwidth, 390, buttonwidth, 30 )); + drawBoard(); } public void event(Field field) { - if (lastclick != -1) game.play(new Event(lastclick, field)); - lastclick = -1; + if (lastclick != -1){ + game.play(new Event(lastclick, field)); + lastclick = -1; + } + else + { + if (actualplayer.field.isNeighbor(field)) game.play(new Event(0, field)); + else if (actualplayer.field == field) + { + if (field.snow > 0) game.play(new Event(1, field)); + else if (0 >= field.snow && !field.itemPickable) game.play(new Event(2, field)); + else if (0 >= field.snow && field.itemPickable) game.play(new Event(3, field)); + } + } } public void event(int event) diff --git a/Arctic_Nigthmare/src/arctic_nightmare/MediaAssociation.java b/Arctic_Nigthmare/src/arctic_nightmare/MediaAssociation.java index 8b32d9055b63bc2cb608242e15ccbe40cbd1d27b..9921b57fa8cd52c97708d91db87a2fe8f7315c29 100644 --- a/Arctic_Nigthmare/src/arctic_nightmare/MediaAssociation.java +++ b/Arctic_Nigthmare/src/arctic_nightmare/MediaAssociation.java @@ -12,7 +12,6 @@ public class MediaAssociation { static { - //MediaAssociation.class.getClassLoader().getResource( items = new HashMap<>(); items.put("bear", new ImageIcon( "src/arctic_nightmare/resources/icebear.png")); items.put("eskimo", new ImageIcon( "src/arctic_nightmare/resources/eskimo.png")); diff --git a/Arctic_Nigthmare/src/arctic_nightmare/resources/logo.gif b/Arctic_Nigthmare/src/arctic_nightmare/resources/logo.gif new file mode 100644 index 0000000000000000000000000000000000000000..f855d3f9e8950da5e6975a0cf8e182cfae2ce859 Binary files /dev/null and b/Arctic_Nigthmare/src/arctic_nightmare/resources/logo.gif differ