package rockPaperScissors;
import java.util.Random;
public class JackBauerBot implements RPSStrategy {
float round = 0;
int rocks = 0;
int paps = 0;
int ss = 0;
int op = 9;
int copy = 0;
int scopy = 0;
int thor;
String move = "";
int mine = 9;
int r = 0;
int me[] = new int[11000];
int them[] = new int[11000];
int winna = 9;
int winme = 0;
int winthem = 0;
private Random generator;
public JackBauerBot()
{
reset();
}
public void reset()
{
rocks = 0;
paps = 0;
ss = 0;
round = 0;
copy = 0;
generator = new Random();
}
public String getName()
{
return "JackBauerBot";
}
public int nextThrow()
{
round++;
int winna = Referee.whoWins(mine, op);
if (winna == 1)
winme++;
if (winna == 2)
winthem++;
if (round > 5 && op == me[(int)round-2])
copy++;
//System.out.println(me[(int)round-1] + "" + op);
if (round < 5 || op == -1)
mine = generator.nextInt(3); //randomize for the first 15 turns or when i hit an invalid
if (round > 5)
if ((rocks/round) > .91 || (paps/round) > .91 || (ss/round) > .91)
mine = (op + 1) % 3;
else if ((copy / round) > .91)
mine = (mine + 1) % 3;
else
mine = (mine + 2) % 3;
if (winthem - winme > 200)
mine = generator.nextInt(3);
me[(int)round] = mine;
return mine;
}
public void opponentsLastThrow(int th)
{
if (th == -1)
move = "invalid";
if (th == 0)
{
rocks++;
op = th;
}
if (th == 1)
{
paps++;
op = th;
}
else
{
op = th;
ss++;
}
if (round > 5)
{
them[(int)round] = th;
}
}
}