Andbin, that makes perfect sense, thanks so much! It completely solved my problem. If I run into further issues, should I start a new thread or should I edit the OP for this one, or what is the etiquette here?
--- Update ---
The next problem is a little bit more vague. Using the speeds that were indexed at the start of the main argument, I want to increment values in an array until one hits 1000, at which point the method pauses, outputs who hits 1000 and thereby gets a turn, and waits for a value to subtract from that 1000 (getting a turn is -200, and then a further -400 for moving or acting). I figure the best way to do this is a for loop, like so:
Scanner scan=new Scanner(System.in);
int a; //for loop
int turnindex=-1; //set to a positive when a unit reaches 1000CT, otherwise stays -1
for (a=0; a<15; a++) { //loop cycles through the indexes of ct and adds the corresponding speed values, just once
ct[a]+=speeds[a]; //will likely need to run 10-12 times before anyone gets a turn
if (ct[a]>999) //at the end of each run, if nothing printed (such as a unit getting a turn) run again
turnindex=a; //once a unit gets a turn, break and wait for a prompt to continue or to set a character's speed or CT
}
if (turnindex>0){
System.out.println(names[turnindex]+" gets a turn! How much CT do they lose?");
ct[turnindex]-=scan.nextInt(); //subtracts appropriate CT
turnindex=-1;} //resets turnindex
}
The most obvious issues I can see with this is that it hiccups when two units with similar or identical speeds hit 1000 in the same run through the for loop. Is the best way to deal with this by making a method within the loop, or by having the loop "break" when a unit hits 1000, or by some other avenue entirely? Again, thank you all for your help.
--- Update ---
Okay, I think I like what I've got going here.
public void turns()
{
int a; //for loop
boolean b = true; //keeps while loop running
while(b=true)
for (a=0; a<15; a++) { //loop cycles through the indexes of ct and adds the corresponding speed values, just once
ct[a]+=speeds[a];
if(ct[a]>999)
turnBreak(a);} //will likely need to run 10-12 times before anyone gets a turn
}
public void turnBreak(int whoseTurn)
{
Scanner scan = new Scanner(System.in);
System.out.println(names[whoseTurn]+" gets a turn! How much CT do they lose?");
ct[whoseTurn]-=scan.nextInt(); //subtracts appropriate CT
System.out.println("Got it. Anything else to report?");
//filler space for applying death, haste, slow, etc.
}
Is there anything really tremendously stupid going on here? If not, then I think I only have one major problem left.