2017-04-11 69 views
1

開始 - 這是我目前正在進行的一項任務,只是希望指向正確的方向 - 沒有爲我完成我的工作。如何在每次迭代中輸出一維數組變量位置

我想通過使用Thread.sleep(1000)使用一維數組來創建一個「烏龜和兔子」比賽,以便用戶可以實際觀看比賽,並使用SecureRandom生成對於for循環的每次迭代(1秒=一次迭代=軌道上的一個新位置),對應於預定向前或向後位置變化的新數字。

我的問題是我不知道從哪裏開始打印出賽車手的身體姿勢。我們必須創建一條虛線,並將賽車手放在各自的當前橫向位置上,每秒都在變化,直到他們獲勝。我沒有代碼來顯示這部分程序,因爲我不知道從哪裏開始。我無法找到任何與此有關的信息,你們中的一個人能否指出我正確的方向?

我很抱歉如果我浪費了任何人的時間與這個問題。由於

+0

剛剛開始for循環和樣本打印每秒樣本字,然後前進(只是一步一步) –

+0

您需要學習java –

+0

與打印物理位置,您可以創建一個char []'與點的值然後循環每個點每次位置變化 – abcOfJavaAndCPP

回答

1

您可以嘗試這樣的事:

public void printRacerPositions(double harePos, double tortoisePos, double trackLength) 
{ 
    for(int i = 0; i < (harePos/trackLength) * VISUAL_TRACK_LENGTH; i++) 
    { 
     System.out.print(" "); 
    } 
    System.out.println("H"); 

    for(int i = 0; i < VISUAL_TRACK_LENGTH; i++) 
    { 
     System.out.print("-"); 
    } 
    System.out.println("|"); 

    for(int i = 0; i < (tortoisePos/trackLength) * VISUAL_TRACK_LENGTH; i++) 
    { 
     System.out.print(" "); 
    } 
    System.out.println("T"); 
} 

我不明白您說的「一維數組變量」,即「改變位置」爲不真正使任何意義是什麼意思。老實說,我不覺得你需要使用數組來解決這個問題。

您可以根據每次迭代的速度和隨機數生成器更新烏龜和兔子的位置,然後按照上面的說明直觀地打印出它們的位置。

注意,你必須定義這個工作一

private int final VISUAL_TRACK_LENGTH; //The horizontal visual size of your track 

地方。該

(harePos/trackLength) * VISUAL_TRACK_LENGTH 

計算將讓你在比賽中的野兔已完成的百分比,然後通過文字軌道的實際視覺長度乘以它,讓您的實際軌道長度可以是任何東西,即使它止跌不適合你的顯示器。

+0

我最終做了類似於您的建議,但不得不堅持與陣列不幸的是每個任務,我只是爲每個賽車手做了一個數組,並在輸出方法中運行了一個循環。這是一個令人困惑的問題,我知道。雖然我知道元素不能反彈,但我一直試圖說,打印的變量會改變輸出屏幕中的橫向位置以模擬賽道比賽。我只是沒有描述得很好 –

相關問題