I think with the timers, you have to define them outside of the loop or else they'll get recreated each time and lose their value.
Like:
Code:
Timer timer1 = new Timer();
while (...) {
// use timer1
}
not
Code:
while(...) {
Timer timer1 = new Timer();
// use timer1
}
In c++ you could make it static, but that doesn't exist in Java:
Code:
while(...) {
static Timer timer1 = new Timer();
// use timer1
}
EDIT:
same for things like spinThrower. You may want to read up a little on scope.
The loss of static is one of the main reasons I like c++ more than java. In java you have to put all of those booleans before the loop and then you have to keep going up and back to see what type they are, while in c++ you can make them static and they'll be right there. Oh, well.