mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-20 12:48:00 +00:00
- CheckStyle.
This commit is contained in:
@@ -116,7 +116,7 @@ public class GameLog extends MyObservable {
|
|||||||
public List<LogEntry> getLogEntries() {
|
public List<LogEntry> getLogEntries() {
|
||||||
return log;
|
return log;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the log entries below a certain level as a list.
|
* Gets the log entries below a certain level as a list.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -162,21 +162,21 @@ class CardFactoryEquipment {
|
|||||||
sbTrig.append("ValidCard$ Card.Self | Execute$ TrigGerm | TriggerDescription$ ");
|
sbTrig.append("ValidCard$ Card.Self | Execute$ TrigGerm | TriggerDescription$ ");
|
||||||
sbTrig.append("Living Weapon (When this Equipment enters the battlefield, ");
|
sbTrig.append("Living Weapon (When this Equipment enters the battlefield, ");
|
||||||
sbTrig.append("put a 0/0 black Germ creature token onto the battlefield, then attach this to it.)");
|
sbTrig.append("put a 0/0 black Germ creature token onto the battlefield, then attach this to it.)");
|
||||||
|
|
||||||
final StringBuilder sbGerm = new StringBuilder();
|
final StringBuilder sbGerm = new StringBuilder();
|
||||||
sbGerm.append("DB$ Token | TokenAmount$ 1 | TokenName$ Germ | TokenTypes$ Creature,Germ | RememberTokens$ True | ");
|
sbGerm.append("DB$ Token | TokenAmount$ 1 | TokenName$ Germ | TokenTypes$ Creature,Germ | RememberTokens$ True | ");
|
||||||
sbGerm.append("TokenOwner$ You | TokenColors$ Black | TokenPower$ 0 | TokenToughness$ 0 | TokenImage$ B 0 0 Germ | SubAbility$ DBGermAttach");
|
sbGerm.append("TokenOwner$ You | TokenColors$ Black | TokenPower$ 0 | TokenToughness$ 0 | TokenImage$ B 0 0 Germ | SubAbility$ DBGermAttach");
|
||||||
|
|
||||||
final StringBuilder sbAttach = new StringBuilder();
|
final StringBuilder sbAttach = new StringBuilder();
|
||||||
sbAttach.append("DB$ Attach | Defined$ Remembered | SubAbility$ DBGermClear");
|
sbAttach.append("DB$ Attach | Defined$ Remembered | SubAbility$ DBGermClear");
|
||||||
|
|
||||||
final StringBuilder sbClear = new StringBuilder();
|
final StringBuilder sbClear = new StringBuilder();
|
||||||
sbClear.append("DB$ Cleanup | ClearRemembered$ True");
|
sbClear.append("DB$ Cleanup | ClearRemembered$ True");
|
||||||
|
|
||||||
card.setSVar("TrigGerm", sbGerm.toString());
|
card.setSVar("TrigGerm", sbGerm.toString());
|
||||||
card.setSVar("DBGermAttach", sbAttach.toString());
|
card.setSVar("DBGermAttach", sbAttach.toString());
|
||||||
card.setSVar("DBGermClear", sbClear.toString());
|
card.setSVar("DBGermClear", sbClear.toString());
|
||||||
|
|
||||||
final Trigger etbTrigger = TriggerHandler.parseTrigger(sbTrig.toString(), card, true);
|
final Trigger etbTrigger = TriggerHandler.parseTrigger(sbTrig.toString(), card, true);
|
||||||
card.addTrigger(etbTrigger);
|
card.addTrigger(etbTrigger);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -285,7 +285,7 @@ public class CardFactorySorceries {
|
|||||||
Card biggest = exiled.get(0);
|
Card biggest = exiled.get(0);
|
||||||
|
|
||||||
for (final Card c : exiled) {
|
for (final Card c : exiled) {
|
||||||
if (biggest.getManaCost().getCMC() < c.getManaCost().getCMC() ) {
|
if (biggest.getManaCost().getCMC() < c.getManaCost().getCMC()) {
|
||||||
biggest = c;
|
biggest = c;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -145,11 +145,10 @@ public class Cost {
|
|||||||
private static final String RETURN_STR = "Return<";
|
private static final String RETURN_STR = "Return<";
|
||||||
private static final String REVEAL_STR = "Reveal<";
|
private static final String REVEAL_STR = "Reveal<";
|
||||||
|
|
||||||
|
|
||||||
public Cost(final Card card, CardManaCost cost, final boolean bAbility) {
|
public Cost(final Card card, CardManaCost cost, final boolean bAbility) {
|
||||||
this(card, cost.toString(), bAbility);
|
this(card, cost.toString(), bAbility);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
* Constructor for Cost.
|
* Constructor for Cost.
|
||||||
|
|||||||
@@ -14,4 +14,4 @@ public interface IParserManaCost extends Iterator<ManaCostShard> {
|
|||||||
* @return the total colorless cost
|
* @return the total colorless cost
|
||||||
*/
|
*/
|
||||||
int getTotalColorlessCost();
|
int getTotalColorlessCost();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -61,10 +61,11 @@ public class ManaCost {
|
|||||||
|
|
||||||
final CardManaCost manaCost = new CardManaCost(new ManaCostParser(sCost));
|
final CardManaCost manaCost = new CardManaCost(new ManaCostParser(sCost));
|
||||||
for (ManaCostShard shard : manaCost.getShards()) {
|
for (ManaCostShard shard : manaCost.getShards()) {
|
||||||
if ( shard == ManaCostShard.X )
|
if (shard == ManaCostShard.X) {
|
||||||
cntX++;
|
cntX++;
|
||||||
else
|
} else {
|
||||||
increaseShard(shard, 1);
|
increaseShard(shard, 1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
increaseColorlessMana(manaCost.getGenericCost());
|
increaseColorlessMana(manaCost.getGenericCost());
|
||||||
}
|
}
|
||||||
@@ -120,11 +121,14 @@ public class ManaCost {
|
|||||||
*/
|
*/
|
||||||
private List<ManaCostShard> getUnpaidPhyrexianMana() {
|
private List<ManaCostShard> getUnpaidPhyrexianMana() {
|
||||||
ArrayList<ManaCostShard> res = new ArrayList<ManaCostShard>();
|
ArrayList<ManaCostShard> res = new ArrayList<ManaCostShard>();
|
||||||
for(final Entry<ManaCostShard, Integer> part : this.unpaidShards.entrySet() )
|
for (final Entry<ManaCostShard, Integer> part : this.unpaidShards.entrySet()) {
|
||||||
{
|
|
||||||
if( !part.getKey().isPhyrexian() ) continue;
|
if (!part.getKey().isPhyrexian()) {
|
||||||
for(int i = 0; i < part.getValue(); i++)
|
continue;
|
||||||
|
}
|
||||||
|
for (int i = 0; i < part.getValue(); i++) {
|
||||||
res.add(part.getKey());
|
res.add(part.getKey());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
@@ -137,8 +141,10 @@ public class ManaCost {
|
|||||||
* @return a boolean.
|
* @return a boolean.
|
||||||
*/
|
*/
|
||||||
public final boolean containsPhyrexianMana() {
|
public final boolean containsPhyrexianMana() {
|
||||||
for(ManaCostShard shard : unpaidShards.keySet()) {
|
for (ManaCostShard shard : unpaidShards.keySet()) {
|
||||||
if ( shard.isPhyrexian() ) return true;
|
if (shard.isPhyrexian()) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -155,8 +161,11 @@ public class ManaCost {
|
|||||||
|
|
||||||
if (phy.size() > 0) {
|
if (phy.size() > 0) {
|
||||||
Integer cnt = unpaidShards.get(phy.get(0));
|
Integer cnt = unpaidShards.get(phy.get(0));
|
||||||
if( cnt <= 1 ) unpaidShards.remove(phy.get(0));
|
if (cnt <= 1) {
|
||||||
else unpaidShards.put(phy.get(0), Integer.valueOf(cnt - 1));
|
unpaidShards.remove(phy.get(0));
|
||||||
|
} else {
|
||||||
|
unpaidShards.put(phy.get(0), Integer.valueOf(cnt - 1));
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -177,13 +186,16 @@ public class ManaCost {
|
|||||||
*/
|
*/
|
||||||
public final boolean isColor(final String color) {
|
public final boolean isColor(final String color) {
|
||||||
//if ( "1".equals(color) ) return getColorlessManaAmount() > 0;
|
//if ( "1".equals(color) ) return getColorlessManaAmount() > 0;
|
||||||
if ( color.matches("^\\d+$") ) return getColorlessManaAmount() > 0;
|
if (color.matches("^\\d+$")) {
|
||||||
|
return getColorlessManaAmount() > 0;
|
||||||
for(ManaCostShard shard : unpaidShards.keySet())
|
}
|
||||||
{
|
|
||||||
|
for (ManaCostShard shard : unpaidShards.keySet()) {
|
||||||
|
|
||||||
String ss = shard.toString();
|
String ss = shard.toString();
|
||||||
if (ss.contains(color))
|
if (ss.contains(color)) {
|
||||||
return true;
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -211,7 +223,7 @@ public class ManaCost {
|
|||||||
if (mana.length() > 1) {
|
if (mana.length() > 1) {
|
||||||
mana = InputPayManaCostUtil.getShortColorString(mana);
|
mana = InputPayManaCostUtil.getShortColorString(mana);
|
||||||
}
|
}
|
||||||
for(ManaCostShard shard : unpaidShards.keySet()) {
|
for (ManaCostShard shard : unpaidShards.keySet()) {
|
||||||
if (canBePaidWith(shard, mana)) {
|
if (canBePaidWith(shard, mana)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -230,11 +242,11 @@ public class ManaCost {
|
|||||||
*/
|
*/
|
||||||
public final boolean isNeeded(final Mana paid) {
|
public final boolean isNeeded(final Mana paid) {
|
||||||
for (ManaCostShard shard : unpaidShards.keySet()) {
|
for (ManaCostShard shard : unpaidShards.keySet()) {
|
||||||
|
|
||||||
if (canBePaidWith(shard, paid)) {
|
if (canBePaidWith(shard, paid)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (shard.isSnow() && paid.isSnow()) {
|
if (shard.isSnow() && paid.isSnow()) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -299,12 +311,11 @@ public class ManaCost {
|
|||||||
if (toAdd <= 0) {
|
if (toAdd <= 0) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Integer cnt = unpaidShards.get(shard);
|
Integer cnt = unpaidShards.get(shard);
|
||||||
unpaidShards.put(shard, Integer.valueOf(cnt == null || cnt == 0 ? toAdd : toAdd + cnt ));
|
unpaidShards.put(shard, Integer.valueOf(cnt == null || cnt == 0 ? toAdd : toAdd + cnt));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
* decreaseColorlessMana
|
* decreaseColorlessMana
|
||||||
@@ -319,19 +330,18 @@ public class ManaCost {
|
|||||||
decreaseShard(ManaCostShard.COLORLESS, manaToSubtract);
|
decreaseShard(ManaCostShard.COLORLESS, manaToSubtract);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public final void decreaseShard(final ManaCostShard shard, final int manaToSubtract) {
|
public final void decreaseShard(final ManaCostShard shard, final int manaToSubtract) {
|
||||||
if (manaToSubtract <= 0) {
|
if (manaToSubtract <= 0) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Integer genericCnt = unpaidShards.get(shard);
|
Integer genericCnt = unpaidShards.get(shard);
|
||||||
if( null == genericCnt || genericCnt - manaToSubtract <= 0 )
|
if (null == genericCnt || genericCnt - manaToSubtract <= 0) {
|
||||||
unpaidShards.remove(shard);
|
unpaidShards.remove(shard);
|
||||||
else
|
} else {
|
||||||
unpaidShards.put(shard, Integer.valueOf(genericCnt - manaToSubtract));
|
unpaidShards.put(shard, Integer.valueOf(genericCnt - manaToSubtract));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
@@ -363,8 +373,7 @@ public class ManaCost {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ManaCostShard choice = null;
|
ManaCostShard choice = null;
|
||||||
for(ManaCostShard toPay : unpaidShards.keySet())
|
for (ManaCostShard toPay : unpaidShards.keySet()) {
|
||||||
{
|
|
||||||
if (canBePaidWith(toPay, mana)) {
|
if (canBePaidWith(toPay, mana)) {
|
||||||
// if m is a better to pay than choice
|
// if m is a better to pay than choice
|
||||||
if (choice == null) {
|
if (choice == null) {
|
||||||
@@ -391,36 +400,42 @@ public class ManaCost {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean isFisrtChoiceBetter(ManaCostShard s1, ManaCostShard s2 ) {
|
private boolean isFisrtChoiceBetter(ManaCostShard s1, ManaCostShard s2) {
|
||||||
return getPayPriority(s1) > getPayPriority(s2);
|
return getPayPriority(s1) > getPayPriority(s2);
|
||||||
}
|
}
|
||||||
|
|
||||||
private int getPayPriority(ManaCostShard s1) {
|
|
||||||
if ( s1 == ManaCostShard.COLORLESS ) return 0;
|
|
||||||
|
|
||||||
if( s1.isMonoColor() ) {
|
private int getPayPriority(ManaCostShard s1) {
|
||||||
if ( s1.isOr2Colorless() ) return 9;
|
if (s1 == ManaCostShard.COLORLESS) {
|
||||||
if ( !s1.isPhyrexian() ) return 10;
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (s1.isMonoColor()) {
|
||||||
|
if (s1.isOr2Colorless()) {
|
||||||
|
return 9;
|
||||||
|
}
|
||||||
|
if (!s1.isPhyrexian()) {
|
||||||
|
return 10;
|
||||||
|
}
|
||||||
return 8;
|
return 8;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 5;
|
return 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean canBePaidWith(ManaCostShard shard, Mana mana) {
|
private boolean canBePaidWith(ManaCostShard shard, Mana mana) {
|
||||||
//System.err.println(String.format("ManaPaid: paying for %s with %s" , shard, mana));
|
//System.err.println(String.format("ManaPaid: paying for %s with %s" , shard, mana));
|
||||||
// debug here even more;
|
// debug here even more;
|
||||||
return canBePaidWith(shard, InputPayManaCostUtil.getShortColorString(mana.getColor()) );
|
return canBePaidWith(shard, InputPayManaCostUtil.getShortColorString(mana.getColor()));
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean canBePaidWith(ManaCostShard shard, String mana) {
|
private boolean canBePaidWith(ManaCostShard shard, String mana) {
|
||||||
// most debug here!!
|
// most debug here!!
|
||||||
String sShard = shard.toString();
|
String sShard = shard.toString();
|
||||||
boolean res = "1".equals(sShard) || sShard.contains(mana);
|
boolean res = "1".equals(sShard) || sShard.contains(mana);
|
||||||
//System.out.println(String.format("Str: paying for %s with %s => %d" , shard, mana, res ? 1 : 0));
|
//System.out.println(String.format("Str: paying for %s with %s => %d" , shard, mana, res ? 1 : 0));
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
* addMana.
|
* addMana.
|
||||||
@@ -436,8 +451,7 @@ public class ManaCost {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ManaCostShard choice = null;
|
ManaCostShard choice = null;
|
||||||
for(ManaCostShard toPay : unpaidShards.keySet())
|
for (ManaCostShard toPay : unpaidShards.keySet()) {
|
||||||
{
|
|
||||||
if (canBePaidWith(toPay, mana)) {
|
if (canBePaidWith(toPay, mana)) {
|
||||||
// if m is a better to pay than choice
|
// if m is a better to pay than choice
|
||||||
if (choice == null) {
|
if (choice == null) {
|
||||||
@@ -475,11 +489,12 @@ public class ManaCost {
|
|||||||
*/
|
*/
|
||||||
public final void combineManaCost(final String extra) {
|
public final void combineManaCost(final String extra) {
|
||||||
final CardManaCost manaCost = new CardManaCost(new ManaCostParser(extra));
|
final CardManaCost manaCost = new CardManaCost(new ManaCostParser(extra));
|
||||||
for(ManaCostShard shard : manaCost.getShards()) {
|
for (ManaCostShard shard : manaCost.getShards()) {
|
||||||
if ( shard == ManaCostShard.X )
|
if (shard == ManaCostShard.X) {
|
||||||
cntX++;
|
cntX++;
|
||||||
else
|
} else {
|
||||||
increaseShard(shard, 1);
|
increaseShard(shard, 1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
increaseColorlessMana(manaCost.getGenericCost());
|
increaseColorlessMana(manaCost.getGenericCost());
|
||||||
}
|
}
|
||||||
@@ -502,11 +517,14 @@ public class ManaCost {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int nGeneric = getColorlessManaAmount();
|
int nGeneric = getColorlessManaAmount();
|
||||||
if( nGeneric > 0 )
|
if (nGeneric > 0) {
|
||||||
sb.append(nGeneric).append(" ");
|
sb.append(nGeneric).append(" ");
|
||||||
|
}
|
||||||
for( Entry<ManaCostShard, Integer> s : unpaidShards.entrySet() ) {
|
|
||||||
if ( s.getKey() == ManaCostShard.COLORLESS) continue;
|
for (Entry<ManaCostShard, Integer> s : unpaidShards.entrySet()) {
|
||||||
|
if (s.getKey() == ManaCostShard.COLORLESS) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
for (int i = 0; i < s.getValue(); i++) {
|
for (int i = 0; i < s.getValue(); i++) {
|
||||||
sb.append(s.getKey().toString()).append(" ");
|
sb.append(s.getKey().toString()).append(" ");
|
||||||
}
|
}
|
||||||
@@ -536,7 +554,7 @@ public class ManaCost {
|
|||||||
*/
|
*/
|
||||||
public final int getConvertedManaCost() {
|
public final int getConvertedManaCost() {
|
||||||
int cmc = 0;
|
int cmc = 0;
|
||||||
|
|
||||||
for (final Entry<ManaCostShard, Integer> s : this.unpaidShards.entrySet()) {
|
for (final Entry<ManaCostShard, Integer> s : this.unpaidShards.entrySet()) {
|
||||||
cmc += s.getKey().getCmc() * s.getValue();
|
cmc += s.getKey().getCmc() * s.getValue();
|
||||||
}
|
}
|
||||||
@@ -550,7 +568,9 @@ public class ManaCost {
|
|||||||
*
|
*
|
||||||
* @return a int.
|
* @return a int.
|
||||||
*/
|
*/
|
||||||
public final int getXcounter() { return cntX; }
|
public final int getXcounter() {
|
||||||
|
return cntX;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
|
|||||||
Reference in New Issue
Block a user