2016-12-13 190 views
-1

對於我的新遊戲,我需要一個顯示當前得分的計數器。我有四種形狀,這些形狀中充滿了隨機選擇的列表中的顏色。如果第一個形狀用紅色填充,計數器應該增加,否則不應該增加。我試圖實現它,但櫃檯不算,我不知道是什麼錯。android - 設置計數器

public class GameScreen extends Activity implements OnGestureListener{  
    private Paint paint = new Paint();    
    public int score = 0;    
    TextView text; 
    public int colora; 
    public int colorb; 
    public int colorc; 
    public int colord; 

    @Override 
    protected void onCreate(Bundle savedInstanceState){ 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_game); 
     List<Integer> numbers = Arrays.asList(Color.RED, Color.BLUE, Color.GREEN, Color.YELLOW); 
     Collections.shuffle(numbers); 

     colora = numbers.get(0); 
     colorb = numbers.get(1); 
     colorc = numbers.get(2); 
     colord = numbers.get(3); 

     if(colora == Color.RED){ 
      score = score++; 
     } 

     TextView score = (TextView)findViewById(R.id.textView1); 
     score.setText(String.valueOf(score)); 

    } 
} 
+0

你應該給你的變量賦予有意義的名字。 – litelite

+0

打印數值ca並查看 –

+0

它打印出一個介於-256和-1611867之間的值...不知道它告訴我什麼 –

回答

1

x++運營商增加變量的值,然後返回值,因爲它是增量之前。因此,當您編寫score = score++時,您正在遞增score,然後立即用增量之前的值覆蓋該值,這意味着它始終爲零。

+0

我以什麼方式替換它? '++ x'? –

+0

只是刪除作爲,所以它只是'得分++' – litelite

+0

好吧,我測試了它。它開始計數,但不正確:有時它會增加兩個,有時它會增加,即使第一個形狀不是紅色的時候 –

0

如果你想添加1到你的變量你鍵入:score ++;或分數=分數+1; 不分=分++;