public class LittleKid {
public static void main(String[] args) {
if(args.length < 1){
System.out.println("Geobits says you can't do this.");
System.exit(0);
}
String[] sections = args[0].split("#");
String me, them, out = "";
switch(sections[0]){
case "T":
out = "LittleKid";
out += "|Poisoner:0:80:100:50:0:1:13";
out += "|Poisoner:0:80:100:50:0:1:13";
out += "|Poisoner:0:80:100:50:0:1:13";
break;
case "B":
out = "1:1:1";
break;
case "C":
me = sections[1];
them = sections[2];
int pick = 0;
if(!isAlive(me, pick)){
for(int i=0;i<3;i++){
if(isAlive(me,i))
pick = i;
}
}
out = String.valueOf(pick);
break;
case "A":
me = sections[1];
them = sections[2];
int active = getActive(me);
int enemyActive = getActive(them);
if (getField(me, HP, active) < 50 && getField(me, MOVE1, active) != 0) {
out = "1";
} else if (getEffectCount(them, POISON, enemyActive, false) < 1 && getField(me, MOVE2, active) != 0) {
out = "2";
} else {
out = "0";
}
break;
default:
out = "Invalid query from controller.";
}
System.out.println(out);
}
static boolean isAlive(String teamState, int who){
return getField(teamState, HP, who) > 0;
}
static int getActive(String teamState){
return Integer.parseInt(teamState.split("\\|")[0].split(":")[1]);
}
static int getField(String teamState, int field, int who){
String[] fields = teamState.split("\\|")[who+1].split(":");
return Integer.parseInt(fields[field]);
}
static int getEffectCount(String teamState, int effect, int who, boolean mine){
String[] fields = teamState.split("\\|")[who+1].split(":");
int count = 0;
for(int i=mine?14:8;i<fields.length;i++){
if(Integer.parseInt(fields[i]) == effect)
count++;
}
return count;
}
final static int ID = 1;
final static int ATTACK = 2;
final static int DEFENSE = 3;
final static int SPEED = 4;
final static int HP = 5;
final static int TYPE = 6;
final static int MOVE0 = 8;
final static int MOVE1 = 9;
final static int MOVE2 = 10;
final static int POISON = 1;
}
public class LittleKid {
public static void main(String[] args) {
if(args.length < 1){
System.out.println("Geobits says you can't do this.");
System.exit(0);
}
String[] sections = args[0].split("#");
String me, them, out = "";
switch(sections[0]){
case "T":
out = "LittleKid";
out += "|Poisoner:0:80:100:50:0:1:13";
out += "|Poisoner:0:80:100:50:0:1:13";
out += "|Poisoner:0:80:100:50:0:1:13";
break;
case "B":
out = "1:1:1";
break;
case "C":
me = sections[1];
them = sections[2];
int pick = 0;
if(!isAlive(me, pick)){
for(int i=0;i<3;i++){
if(isAlive(me,i))
pick = i;
}
}
out = String.valueOf(pick);
break;
case "A":
me = sections[1];
them = sections[2];
int active = getActive(me);
int enemyActive = getActive(them);
if (getField(me, HP, active) < 50 && getField(me, MOVE1, active) != 0) {
out = "1";
} else if (getEffectCount(them, POISON, enemyActive, false) < 1 && getField(me, MOVE2, active) != 0) {
out = "2";
} else {
out = "0";
}
break;
default:
out = "Invalid query from controller.";
}
System.out.println(out);
}
static boolean isAlive(String teamState, int who){
return getField(teamState, HP, who) > 0;
}
static int getActive(String teamState){
return Integer.parseInt(teamState.split("\\|")[0].split(":")[1]);
}
static int getField(String teamState, int field, int who){
String[] fields = teamState.split("\\|")[who+1].split(":");
return Integer.parseInt(fields[field]);
}
static int getEffectCount(String teamState, int effect, int who, boolean mine){
String[] fields = teamState.split("\\|")[who+1].split(":");
int count = 0;
for(int i=mine?14:8;i<fields.length;i++){
if(Integer.parseInt(fields[i]) == effect)
count++;
}
return count;
}
final static int ID = 1;
final static int ATTACK = 2;
final static int DEFENSE = 3;
final static int SPEED = 4;
final static int HP = 5;
final static int TYPE = 6;
final static int MOVE0 = 8;
final static int MOVE1 = 9;
final static int MOVE2 = 10;
final static int POISON = 1;
}