diff --git a/.classpath b/.classpath index fceb480..b40b729 100644 --- a/.classpath +++ b/.classpath @@ -1,6 +1,11 @@ - + + + + + + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c790f4d --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +.metadata/* +.settings/* +bin/* diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index 3a21537..0000000 --- a/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -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 diff --git a/bin/bg1.jpg b/bin/bg1.jpg deleted file mode 100644 index 0517a6a..0000000 Binary files a/bin/bg1.jpg and /dev/null differ diff --git a/bin/bg1.png b/bin/bg1.png deleted file mode 100644 index ed98806..0000000 Binary files a/bin/bg1.png and /dev/null differ diff --git a/bin/game.jpg b/bin/game.jpg deleted file mode 100644 index 39e77e4..0000000 Binary files a/bin/game.jpg and /dev/null differ diff --git a/bin/risk/creategame/CGController.class b/bin/risk/creategame/CGController.class deleted file mode 100644 index 1c9a071..0000000 Binary files a/bin/risk/creategame/CGController.class and /dev/null differ diff --git a/bin/risk/creategame/CGmodel.class b/bin/risk/creategame/CGmodel.class deleted file mode 100644 index 40cf90b..0000000 Binary files a/bin/risk/creategame/CGmodel.class and /dev/null differ diff --git a/bin/risk/creategame/CGview.class b/bin/risk/creategame/CGview.class deleted file mode 100644 index cd2ec4a..0000000 Binary files a/bin/risk/creategame/CGview.class and /dev/null differ diff --git a/bin/risk/home/Homecontroller.class b/bin/risk/home/Homecontroller.class deleted file mode 100644 index 2674c9a..0000000 Binary files a/bin/risk/home/Homecontroller.class and /dev/null differ diff --git a/bin/risk/home/Homemodel.class b/bin/risk/home/Homemodel.class deleted file mode 100644 index f05395c..0000000 Binary files a/bin/risk/home/Homemodel.class and /dev/null differ diff --git a/bin/risk/home/Homeview$1.class b/bin/risk/home/Homeview$1.class deleted file mode 100644 index bdd78b3..0000000 Binary files a/bin/risk/home/Homeview$1.class and /dev/null differ diff --git a/bin/risk/home/Homeview.class b/bin/risk/home/Homeview.class deleted file mode 100644 index bfb7b48..0000000 Binary files a/bin/risk/home/Homeview.class and /dev/null differ diff --git a/bin/risk/main/Main.class b/bin/risk/main/Main.class deleted file mode 100644 index 5ce630b..0000000 Binary files a/bin/risk/main/Main.class and /dev/null differ diff --git a/bin/risk/player/player.class b/bin/risk/player/player.class deleted file mode 100644 index cfccd6c..0000000 Binary files a/bin/risk/player/player.class and /dev/null differ diff --git a/src/risk/game/Constants.java b/src/risk/game/Constants.java new file mode 100644 index 0000000..db36ad1 --- /dev/null +++ b/src/risk/game/Constants.java @@ -0,0 +1,5 @@ +package risk.game; + +public class Constants { + public final static int MAX_STAT = 100; +} diff --git a/src/risk/main/Main.java b/src/risk/main/Main.java index 93c4667..bbea785 100644 --- a/src/risk/main/Main.java +++ b/src/risk/main/Main.java @@ -1,16 +1,35 @@ package risk.main; -import risk.home.Homecontroller; -import risk.home.Homemodel; -import risk.home.Homeview; +import risk.player.CreateUserModel; +import risk.player.IGamePlayer; +import risk.player.Player; public class Main { + + // ENTRY POINT + // boot strapping. + @SuppressWarnings("unused") public static void main(String[] args) { - + /* Homeview theView = new Homeview(); Homemodel theModel = new Homemodel(); - Homecontroller theController = new Homecontroller(null, null); + Homecontroller theController = new Homecontroller(null, null);*/ + + CreateUserModel model = new CreateUserModel(); + + boolean agility =model.setAgility(3); + boolean health = model.setHeatlh(7); + boolean attack = model.setAttack(7); + + IGamePlayer playerplayer = new Player(model); + + int agile =playerplayer.getAgility(); + playerplayer.ProcessXp(1000); + + int newstats = playerplayer.getAgility(); + + } } diff --git a/src/risk/player/CreateUserModel.java b/src/risk/player/CreateUserModel.java new file mode 100644 index 0000000..beae76d --- /dev/null +++ b/src/risk/player/CreateUserModel.java @@ -0,0 +1,112 @@ +package risk.player; + +public class CreateUserModel implements IPlayerStats{ + + private static int START_STAT = 5; + + private static int POINTS = 10; + + + public CreateUserModel(){ + // defaults. + _attack= _defence= _range =_magic =_agility=_health= START_STAT; + _remainingPoints = POINTS; + } + + private int _attack; + private int _defence; + private int _range; + private int _magic; + private int _agility; + private int _health; + + private int _remainingPoints; + + + private boolean canAddValue(int value){ + int newValue = _remainingPoints - value; + if(newValue < 0) return false; + _remainingPoints = newValue; + return true; + } + + @Override + public int getAttack() { + // TODO Auto-generated method stub + return _attack; + } + + @Override + public int getDefence() { + // TODO Auto-generated method stub + return _defence; + } + + @Override + public int getRange() { + // TODO Auto-generated method stub + return _range; + } + + @Override + public int getMagic() { + // TODO Auto-generated method stub + return _magic; + } + + @Override + public int getAgility() { + // TODO Auto-generated method stub + return _agility; + } + + @Override + public int getHeatlh() { + // TODO Auto-generated method stub + return _health; + } + + + + public boolean setAttack(int value) { + if(!canAddValue(value)) return false; + _attack+= value; + return true; + } + + + public boolean setDefence(int value) { + if(!canAddValue(value)) return false; + _defence+= value; + return true; + } + + + public boolean setRange(int value) { + if(!canAddValue(value)) return false; + _range+= value; + return true; + } + + + public boolean setMagic(int value) { + if(!canAddValue(value)) return false; + _magic+= value; + return true; + } + + + public boolean setAgility(int value) { + if(!canAddValue(value)) return false; + _agility+= value; + return true; + } + + + public boolean setHeatlh(int value) { + if(!canAddValue(value)) return false; + _health+= value; + return true; + } + +} diff --git a/src/risk/player/IGamePlayer.java b/src/risk/player/IGamePlayer.java new file mode 100644 index 0000000..8809b43 --- /dev/null +++ b/src/risk/player/IGamePlayer.java @@ -0,0 +1,7 @@ +package risk.player; + +public interface IGamePlayer extends IPlayerStats{ + + void ProcessXp(int xp); + +} diff --git a/src/risk/player/IPlayerStats.java b/src/risk/player/IPlayerStats.java new file mode 100644 index 0000000..80ae873 --- /dev/null +++ b/src/risk/player/IPlayerStats.java @@ -0,0 +1,10 @@ +package risk.player; + +public interface IPlayerStats{ + int getAttack(); + int getDefence(); + int getRange(); + int getMagic(); + int getAgility(); + int getHeatlh(); +} diff --git a/src/risk/player/player.java b/src/risk/player/player.java index 4c2e2d9..8db6605 100644 --- a/src/risk/player/player.java +++ b/src/risk/player/player.java @@ -1,19 +1,130 @@ package risk.player; -public class player { - - //global player - public static int START_STAT = 5; - public static int MAX_STAT = 100; - public static int POINTS = 10; +import java.util.ArrayList; + +import risk.game.Constants; +import risk.player.stats.Dave; +import risk.player.stats.IStatModifier; +import risk.player.stats.PlayerStatModification; + +public class Player implements IGamePlayer { //player - public int attack,defence,range,magic,agility = START_STAT; - public int health = 500; + private int _attack; + private int _defence; + private int _range; + private int _magic; + private int _agility; + private int _health; + private final ArrayList _statModifiers; - public player(){ - + public Player(CreateUserModel model){ + _agility = model.getAgility(); + _attack = model.getAttack(); + _defence = model.getDefence(); + _health = model.getHeatlh(); + _magic = model.getMagic(); + _range = model.getRange(); + _statModifiers = new ArrayList(); + _statModifiers.add(new Dave()); } + @Override + public int getAttack() { + // TODO Auto-generated method stub + return _attack; + } + @Override + public int getDefence() { + // TODO Auto-generated method stub + return _defence; + } + + @Override + public int getRange() { + // TODO Auto-generated method stub + return _range; + } + + @Override + public int getMagic() { + // TODO Auto-generated method stub + return _magic; + } + + @Override + public int getAgility() { + // TODO Auto-generated method stub + return _agility; + } + + @Override + public int getHeatlh() { + // TODO Auto-generated method stub + return _health; + } + + @Override + public void ProcessXp(int xp){ + + for (IStatModifier mod: _statModifiers) { + for(PlayerStatModification modifier : mod.Results(xp)){ + addXpResult(modifier); + } + } + } + + private void addXpResult(PlayerStatModification mod){ + switch(mod.Type){ + case Agility: + if(_agility + mod.IncreaseBy > Constants.MAX_STAT) _agility = Constants.MAX_STAT; else _agility += mod.IncreaseBy; + break; + case Attack: + if(_attack + mod.IncreaseBy > Constants.MAX_STAT) _attack = Constants.MAX_STAT; else _attack += mod.IncreaseBy; + break; + case Defence: + if(_defence + mod.IncreaseBy > Constants.MAX_STAT) _defence = Constants.MAX_STAT; else _defence += mod.IncreaseBy; + break; + case Health: + if(_health + mod.IncreaseBy > Constants.MAX_STAT) _health = Constants.MAX_STAT; else _health += mod.IncreaseBy; + break; + case Magic: + if(_magic + mod.IncreaseBy > Constants.MAX_STAT) _magic = Constants.MAX_STAT; else _magic += mod.IncreaseBy; + break; + case Range: + if(_range + mod.IncreaseBy > Constants.MAX_STAT) _range = Constants.MAX_STAT; else _range += mod.IncreaseBy; + break; + } + } + + + private void setAttack(int value) { + _health= value; + } + + + private void setDefence(int value) { + _health= value; + } + + + private void setRange(int value) { + _health= value; + } + + + private void setMagic(int value) { + _health= value; + } + + + private void setAgility(int value) { + _health= value; + } + + + private void setHeatlh(int value) { + _health= value; + } } diff --git a/src/risk/player/stats/Dave.java b/src/risk/player/stats/Dave.java new file mode 100644 index 0000000..2ebde2a --- /dev/null +++ b/src/risk/player/stats/Dave.java @@ -0,0 +1,16 @@ +package risk.player.stats; + +import java.util.ArrayList; + +public class Dave implements IStatModifier { + + @Override + public ArrayList Results(int xp) { + ArrayList mods = new ArrayList(); + if(xp == 1000){ + mods.add(new PlayerStatModification(StatType.Agility, 50)); + } + return mods; + } + +} diff --git a/src/risk/player/stats/IStatModifier.java b/src/risk/player/stats/IStatModifier.java new file mode 100644 index 0000000..5f49843 --- /dev/null +++ b/src/risk/player/stats/IStatModifier.java @@ -0,0 +1,8 @@ +package risk.player.stats; + +import java.util.ArrayList; + +public interface IStatModifier { + + ArrayList Results(int xp); +} diff --git a/src/risk/player/stats/PlayerStatModification.java b/src/risk/player/stats/PlayerStatModification.java new file mode 100644 index 0000000..5804305 --- /dev/null +++ b/src/risk/player/stats/PlayerStatModification.java @@ -0,0 +1,12 @@ +package risk.player.stats; + +public class PlayerStatModification { + + public PlayerStatModification(StatType type, int increaseBy){ + Type = type; + IncreaseBy = increaseBy; + } + + public final StatType Type; + public final int IncreaseBy; +} diff --git a/src/risk/player/stats/StatType.java b/src/risk/player/stats/StatType.java new file mode 100644 index 0000000..6643c4c --- /dev/null +++ b/src/risk/player/stats/StatType.java @@ -0,0 +1,10 @@ +package risk.player.stats; + +public enum StatType { + Attack, + Defence, + Range, + Magic, + Agility, + Health; +} diff --git a/src/risk/creategame/CGController.java b/src/risk/ui/controllers/CGController.java similarity index 52% rename from src/risk/creategame/CGController.java rename to src/risk/ui/controllers/CGController.java index d19a30a..062be4e 100644 --- a/src/risk/creategame/CGController.java +++ b/src/risk/ui/controllers/CGController.java @@ -1,4 +1,4 @@ -package risk.creategame; +package risk.ui.controllers; public class CGController { diff --git a/src/risk/home/Homecontroller.java b/src/risk/ui/controllers/Homecontroller.java similarity index 60% rename from src/risk/home/Homecontroller.java rename to src/risk/ui/controllers/Homecontroller.java index 1825dc2..04e0f1d 100644 --- a/src/risk/home/Homecontroller.java +++ b/src/risk/ui/controllers/Homecontroller.java @@ -1,7 +1,7 @@ -package risk.home; +/*package risk.ui.controllers; -import risk.creategame.CGmodel; -import risk.creategame.CGview; +import risk.ui.models.CGmodel; +import risk.ui.views.CGview; public class Homecontroller { @@ -11,3 +11,4 @@ public Homecontroller(CGview theView, CGmodel theModel) { } } +*/ \ No newline at end of file diff --git a/src/risk/creategame/CGmodel.java b/src/risk/ui/models/CGmodel.java similarity index 56% rename from src/risk/creategame/CGmodel.java rename to src/risk/ui/models/CGmodel.java index f9443f8..6856aea 100644 --- a/src/risk/creategame/CGmodel.java +++ b/src/risk/ui/models/CGmodel.java @@ -1,4 +1,4 @@ -package risk.creategame; +package risk.ui.models; public class CGmodel { diff --git a/src/risk/home/Homemodel.java b/src/risk/ui/models/Homemodel.java similarity index 86% rename from src/risk/home/Homemodel.java rename to src/risk/ui/models/Homemodel.java index 0876602..c7c50da 100644 --- a/src/risk/home/Homemodel.java +++ b/src/risk/ui/models/Homemodel.java @@ -1,4 +1,4 @@ -package risk.home; +package risk.ui.models; import java.awt.Frame; import java.awt.event.ActionEvent; diff --git a/src/risk/creategame/CGview.java b/src/risk/ui/views/CGview.java similarity index 98% rename from src/risk/creategame/CGview.java rename to src/risk/ui/views/CGview.java index d5191ce..d106455 100644 --- a/src/risk/creategame/CGview.java +++ b/src/risk/ui/views/CGview.java @@ -1,4 +1,4 @@ -package risk.creategame; +/*package risk.ui.views; import java.awt.Dimension; import java.awt.FlowLayout; @@ -19,6 +19,11 @@ import risk.player.player; public class CGview { + + + + + JFrame frame = new JFrame(); public static JLabel text = new JLabel("Player name:"); @@ -53,10 +58,10 @@ public CGview() { frame.setLocation(width, height); - /* + * NOTE: drawPanel and drawPanel(S) are two seperate things, * should probably refactor this - */ + // make infomation @@ -139,3 +144,4 @@ public void drawPanels() { } } +*/ \ No newline at end of file diff --git a/src/risk/home/Homeview.java b/src/risk/ui/views/Homeview.java similarity index 92% rename from src/risk/home/Homeview.java rename to src/risk/ui/views/Homeview.java index 9aad9f7..6b8d704 100644 --- a/src/risk/home/Homeview.java +++ b/src/risk/ui/views/Homeview.java @@ -1,4 +1,4 @@ -package risk.home; +/*package risk.ui.views; import java.awt.Color; import java.awt.Dimension; @@ -24,14 +24,13 @@ -import risk.creategame.CGmodel; -import risk.creategame.CGview; +import risk.ui.models.CGmodel; public class Homeview extends JFrame { - /** + *//** * - */ + *//* private static final long serialVersionUID = 1L; public static JFrame frame = new JFrame(); public static JPanel panel = new JPanel(); @@ -64,7 +63,7 @@ public void actionPerformed(ActionEvent e){ }); try { - BufferedImage img = ImageIO.read(new File("src/bg1.jpg")/*.getAbsoluteFile()*/); + BufferedImage img = ImageIO.read(new File("src/bg1.jpg").getAbsoluteFile()); JLabel piclabel = new JLabel(new ImageIcon(img)); pic.add(piclabel); } catch (IOException e) { @@ -95,3 +94,4 @@ public static void addButtons() { } +*/ \ No newline at end of file