Commit 6d621d16 authored by xiaoye's avatar xiaoye

增加'<', '=', '>'的攻守搜索方法

parent 409d8abf
......@@ -200,6 +200,27 @@ public class CardSearchInfo implements ICardFilter{
return false;
}
public boolean chkAtkDef(int ct, String search) {
switch (search.charAt(0)) {
case '>':
if (search.length() > 1 && search.charAt(1) == '=') {
return ct >= (TextUtils.isDigitsOnly(search.substring(2)) ? i(search.substring(2)) : -2);
} else {
return ct > (TextUtils.isDigitsOnly(search.substring(1)) ? i(search.substring(1)) : -2);
}
case '<':
if (search.length() > 1 && search.charAt(1) == '=') {
return ct <= (TextUtils.isDigitsOnly(search.substring(2)) ? i(search.substring(2)) : -2);
} else {
return ct < (TextUtils.isDigitsOnly(search.substring(1)) ? i(search.substring(1)) : -2);
}
case '=':
return ct == (TextUtils.isDigitsOnly(search.substring(1)) ? i(search.substring(1)) : -2);
default:
return ct == (TextUtils.isDigitsOnly(search) ? i(search) : -2);
}
}
@Override
public boolean isValid(Card card) {
if(keyWord != null && !keyWord.isValid(card)){
......@@ -221,10 +242,8 @@ public class CardSearchInfo implements ICardFilter{
if (!(i(atks[0]) <= card.Attack && card.Attack <= i(atks[1]))) {
return false;
}
} else {
if (card.Attack != ((TextUtils.isDigitsOnly(atk) ? i(atk) : -2))) {
return false;
}
} else if (!chkAtkDef(card.Attack, atk)) {
return false;
}
}
......@@ -239,10 +258,8 @@ public class CardSearchInfo implements ICardFilter{
if (!(i(defs[0]) <= card.Defense && card.Defense <= i(defs[1]))) {
return false;
}
} else {
if (card.Defense != ((TextUtils.isDigitsOnly(def) ? i(def) : -2))) {
return false;
}
} else if (card.isLink() || !chkAtkDef(card.Defense, def)) {
return false;
}
}
}
......
......@@ -83,6 +83,10 @@ public class Card extends CardData implements Parcelable {
return (isType(Type, CardType.Fusion) || isType(Type, CardType.Synchro) || isType(Type, CardType.Xyz) || isType(Type, CardType.Link));
}
public static boolean isLink(long Type) {
return isType(Type, CardType.Link);
}
public Card type(long type) {
this.Type = type;
return this;
......@@ -120,6 +124,10 @@ public class Card extends CardData implements Parcelable {
return isSpellTrap(Type);
}
public boolean isLink() {
return isType(Type, CardType.Link);
}
public boolean isExtraCard() {
return (isType(CardType.Fusion) || isType(CardType.Synchro) || isType(CardType.Xyz) || isType(Type, CardType.Link));
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment