2015-06-14 100 views
0

我正在製作一個slapjack遊戲,其中甲板需要每5秒將卡片給予slapzone,然後翻轉圖像2秒鐘,然後再將圖片轉回。我知道我將不得不使用一個線程,但我無法弄清楚如何說重複每5秒我知道重複的部分將採取循環雖然。我如何獲得一個函數在java中重複

代碼:

public void run() 
{ 
    Thread thisThread = Thread.currentThread();  
    while (thisThread == myThread)   
    { 
     try 
     { 
      for (int i = 0 ; i < numcards ; i++) 
      { 
       deck.giveslapZone(slap1); 
      } 

      myThread = null;    // kills the thread 
     } 
     catch (InterruptedException ie) 
     { 
      System.out.println(ie.getMessage());  
     } 
    } 
} 
+3

無限循環和'的Thread.sleep(5000)'在它 – twentylemon

+0

設置'myThread'爲null不會 '殺死線程'。它退出外部循環。他們都顯得毫無意義。 – EJP

回答

0

你可以讓你的類實現Runnable然後聲明線程的線程=新主題(本);然後:例如 。

public void run() { 
    while(true) { 
     try 
     { 
      for (int i = 0; i < numcards; i++) 
      { 
       deck.giveslapZone(slap1); 
      } 
      thread.sleep(5000); 
     } 
     catch (InterruptedException ie) 
     { 
      System.out.println(ie.getMessage());  
     } 
    } 
} 
相關問題