mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-20 04:38:00 +00:00
make Player class abstract. Create 2 sub-classes AIPlayer and HumanPlayer. They are just bare-bones at this point.
Now, we should be able to move things one by one to the Human/AI subclasses from GameAction.java.
This commit is contained in:
2
.gitattributes
vendored
2
.gitattributes
vendored
@@ -5290,6 +5290,7 @@ src/arcane/util/Util.java svneol=native#text/plain
|
|||||||
src/com/cloudgarden/layout/AnchorConstraint.java -text svneol=native#text/plain
|
src/com/cloudgarden/layout/AnchorConstraint.java -text svneol=native#text/plain
|
||||||
src/com/cloudgarden/layout/AnchorLayout.java -text svneol=native#text/plain
|
src/com/cloudgarden/layout/AnchorLayout.java -text svneol=native#text/plain
|
||||||
src/com/esotericsoftware/minlog/Log.java svneol=native#text/plain
|
src/com/esotericsoftware/minlog/Log.java svneol=native#text/plain
|
||||||
|
src/forge/AIPlayer.java -text svneol=native#text/plain
|
||||||
src/forge/Ability.java svneol=native#text/plain
|
src/forge/Ability.java svneol=native#text/plain
|
||||||
src/forge/AbilityFactory.java -text svneol=native#text/plain
|
src/forge/AbilityFactory.java -text svneol=native#text/plain
|
||||||
src/forge/AbilityFactory_AlterLife.java -text svneol=native#text/plain
|
src/forge/AbilityFactory_AlterLife.java -text svneol=native#text/plain
|
||||||
@@ -5418,6 +5419,7 @@ src/forge/Gui_Treasury.java -text svneol=native#text/plain
|
|||||||
src/forge/Gui_Welcome.java svneol=native#text/plain
|
src/forge/Gui_Welcome.java svneol=native#text/plain
|
||||||
src/forge/Gui_WinLose.java svneol=native#text/plain
|
src/forge/Gui_WinLose.java svneol=native#text/plain
|
||||||
src/forge/HandSizeOp.java -text svneol=native#text/plain
|
src/forge/HandSizeOp.java -text svneol=native#text/plain
|
||||||
|
src/forge/HumanPlayer.java -text svneol=native#text/plain
|
||||||
src/forge/IO.java svneol=native#text/plain
|
src/forge/IO.java svneol=native#text/plain
|
||||||
src/forge/ImageCache.java svneol=native#text/plain
|
src/forge/ImageCache.java svneol=native#text/plain
|
||||||
src/forge/ImagePreviewPanel.java -text svneol=native#text/plain
|
src/forge/ImagePreviewPanel.java -text svneol=native#text/plain
|
||||||
|
|||||||
37
src/forge/AIPlayer.java
Normal file
37
src/forge/AIPlayer.java
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
|
||||||
|
package forge;
|
||||||
|
|
||||||
|
|
||||||
|
public class AIPlayer extends Player{
|
||||||
|
|
||||||
|
public AIPlayer(String myName) {
|
||||||
|
this(myName, 20, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
public AIPlayer(String myName, int myLife, int myPoisonCounters) {
|
||||||
|
super(myName, myLife, myPoisonCounters);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Player getOpponent() {
|
||||||
|
return AllZone.HumanPlayer;
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////
|
||||||
|
///
|
||||||
|
/// Methods to ease transition to Abstract Player class
|
||||||
|
///
|
||||||
|
///////////////
|
||||||
|
|
||||||
|
public boolean isHuman() { return false; }
|
||||||
|
public boolean isComputer() { return true; }
|
||||||
|
public boolean isPlayer(Player p1) {
|
||||||
|
return p1.getName().equals(this.name);
|
||||||
|
}
|
||||||
|
|
||||||
|
///////////////
|
||||||
|
///
|
||||||
|
/// End transition methods
|
||||||
|
///
|
||||||
|
///////////////
|
||||||
|
|
||||||
|
}//end AIPlayer class
|
||||||
@@ -13,8 +13,8 @@ public class AllZone implements NewConstants {
|
|||||||
//only for testing, should read decks from local directory
|
//only for testing, should read decks from local directory
|
||||||
// public static final IO IO = new IO("all-decks");
|
// public static final IO IO = new IO("all-decks");
|
||||||
|
|
||||||
public static final Player HumanPlayer = new Player("Human");
|
public static final Player HumanPlayer = new HumanPlayer("Human");
|
||||||
public static final Player ComputerPlayer = new Player("Computer");
|
public static final Player ComputerPlayer = new AIPlayer("Computer");
|
||||||
|
|
||||||
public static QuestData QuestData = null;
|
public static QuestData QuestData = null;
|
||||||
public static Quest_Assignment QuestAssignment = null;
|
public static Quest_Assignment QuestAssignment = null;
|
||||||
|
|||||||
37
src/forge/HumanPlayer.java
Normal file
37
src/forge/HumanPlayer.java
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
|
||||||
|
package forge;
|
||||||
|
|
||||||
|
|
||||||
|
public class HumanPlayer extends Player{
|
||||||
|
|
||||||
|
public HumanPlayer(String myName) {
|
||||||
|
this(myName, 20, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
public HumanPlayer(String myName, int myLife, int myPoisonCounters) {
|
||||||
|
super(myName, myLife, myPoisonCounters);
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////
|
||||||
|
///
|
||||||
|
/// Methods to ease transition to Abstract Player class
|
||||||
|
///
|
||||||
|
///////////////
|
||||||
|
|
||||||
|
public boolean isHuman() { return true; }
|
||||||
|
public boolean isComputer() { return false; }
|
||||||
|
public boolean isPlayer(Player p1) {
|
||||||
|
return p1.getName().equals(this.name);
|
||||||
|
}
|
||||||
|
|
||||||
|
///////////////
|
||||||
|
///
|
||||||
|
/// End transition methods
|
||||||
|
///
|
||||||
|
///////////////
|
||||||
|
|
||||||
|
public Player getOpponent() {
|
||||||
|
return AllZone.ComputerPlayer;
|
||||||
|
}
|
||||||
|
|
||||||
|
}//end HumanPlayer class
|
||||||
@@ -2,11 +2,11 @@
|
|||||||
package forge;
|
package forge;
|
||||||
|
|
||||||
|
|
||||||
public class Player extends MyObservable{
|
public abstract class Player extends MyObservable{
|
||||||
private String name;
|
protected String name;
|
||||||
private int poisonCounters;
|
protected int poisonCounters;
|
||||||
private int life;
|
protected int life;
|
||||||
private int assignedDamage;
|
protected int assignedDamage;
|
||||||
|
|
||||||
public Player(String myName) {
|
public Player(String myName) {
|
||||||
this(myName, 20, 0);
|
this(myName, 20, 0);
|
||||||
@@ -23,24 +23,11 @@ public class Player extends MyObservable{
|
|||||||
return name;
|
return name;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isHuman() {
|
public abstract boolean isHuman();
|
||||||
return name.equals("Human");
|
public abstract boolean isComputer();
|
||||||
}
|
public abstract boolean isPlayer(Player p1);
|
||||||
|
|
||||||
public boolean isComputer() {
|
public abstract Player getOpponent();
|
||||||
return name.equals("Computer");
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isPlayer(Player p1) {
|
|
||||||
return p1.getName().equals(this.name);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Player getOpponent() {
|
|
||||||
if(isPlayer(AllZone.HumanPlayer)) {
|
|
||||||
return AllZone.ComputerPlayer;
|
|
||||||
}
|
|
||||||
else return AllZone.HumanPlayer;
|
|
||||||
}
|
|
||||||
|
|
||||||
//////////////////////////
|
//////////////////////////
|
||||||
//
|
//
|
||||||
@@ -204,6 +191,8 @@ public class Player extends MyObservable{
|
|||||||
return new CardList();
|
return new CardList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//public abstract void discard(int n, SpellAbility sa);
|
||||||
|
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return name;
|
return name;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user