diff --git a/Arctic_Nigthmare/src/arctic_nightmare/Board.java b/Arctic_Nigthmare/src/arctic_nightmare/Board.java index 59fd43e74b6ab2bb9c71a41abaaca8d1dba100e4..d5440a885229ef6d54aae345cb1132cea1f8aab2 100644 --- a/Arctic_Nigthmare/src/arctic_nightmare/Board.java +++ b/Arctic_Nigthmare/src/arctic_nightmare/Board.java @@ -1,6 +1,10 @@ package arctic_nightmare; import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; import java.util.List; +import java.util.Random; +import java.lang.Math; public class Board { private List<Field> fields; @@ -17,14 +21,35 @@ public class Board { return columns; } - public Board(int field_num , int column_num) { + public Board(int field_num , int column_num, int player_num) { fields = new ArrayList<Field>(); + ArrayList<Item> essentials = new ArrayList<Item>(); + essentials.add(new Item("Pistol")); essentials.add(new Item("Flare"));essentials.add( new Item("Cartridge")); + ArrayList<Item> otheritems = new ArrayList<Item>(); + otheritems.add(new Item("Food"));otheritems.add(new Item("Rope"));otheritems.add(new Item("DivingSuit")); otheritems.add(new Item("Shovel")); + otheritems.add(new FragileShovel());otheritems.add(new Tent()); + Random rnd = new Random(); //random generator for the snow layers for(int i = 0; i < field_num; ++i) { if(i % 2 == 0) - fields.add(new StableField()); + fields.add(new StableField(rnd.nextInt(5), (Item)null)); else - fields.add(new UnstableField(1,1,(Item)null)); - //fields.add(new StableField()); + fields.add(new UnstableField(rnd.nextInt(5), rnd.nextInt(player_num),(Item)null)); + } + //place essential objects on stable fields + while(essentials.size() != 0){ + int idx = rnd.nextInt(fields.size()); + if(fields.get(idx).getCapacity() == 10 && fields.get(idx).getItem() == null){ + fields.get(idx).addItem(essentials.get(0)); + essentials.remove(0); + } + } + //place other items to remaining fields + while(otheritems.size() != 0){ + int idx = rnd.nextInt(fields.size()); + if(fields.get(idx).getCapacity() != 0 && fields.get(idx).getItem() == null){ + fields.get(idx).addItem(otheritems.get(0)); + otheritems.remove(0); + } } columns = column_num; setNeighbors(); diff --git a/Arctic_Nigthmare/src/arctic_nightmare/Game.java b/Arctic_Nigthmare/src/arctic_nightmare/Game.java index 03f9d8e17fb25f3b46e5a615303c5f941b9d7e17..c9a945a5a96fa3ad112bd32c3580e6bcbaf8bf3b 100644 --- a/Arctic_Nigthmare/src/arctic_nightmare/Game.java +++ b/Arctic_Nigthmare/src/arctic_nightmare/Game.java @@ -70,7 +70,7 @@ public class Game{ void newGame(int fieldsnum, int boardcolumns, int playernum){ - board = new Board(fieldsnum, boardcolumns); + board = new Board(fieldsnum, boardcolumns, playernum); bear = new IceBear(board.getfield(0)); players = new ArrayList<Person>(); board.getfield(0).bear = bear; diff --git a/Arctic_Nigthmare/src/arctic_nightmare/GameWindow.java b/Arctic_Nigthmare/src/arctic_nightmare/GameWindow.java index a68aa7fc6c09950984a56394edc83f1b40991d9e..6a447af57ca1501cdd6d702ffdd0db442c9df704 100644 --- a/Arctic_Nigthmare/src/arctic_nightmare/GameWindow.java +++ b/Arctic_Nigthmare/src/arctic_nightmare/GameWindow.java @@ -142,7 +142,7 @@ public class GameWindow extends JFrame{ static public Object[] getMapOptions() { String[] size = {"3", "4", "5", "6", "7", "8", "9"}; - String[] players = {"2", "4", "5", "6"}; + String[] players = {"2","3","4", "5", "6"}; String[] difficulty = {"CakeWalk", "Saturdy afternoon", "Sure?", "You are kidding!", "White hell"}; JComboBox<String> combo = new JComboBox<>(size); JComboBox<String> combo1 = new JComboBox<>(players);