I'm making a card game where I move cards around a few times each round. The card movements takes place in a thread. I keep getting java.lang.IllegalThreadStateException errors when my thread is trying to be executed while in progress already. Can anybody help me out here? Here is the code that determines how many different movements there should be and finally calls the start on the moveCard Thread.