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