2016-06-18 11 views
-2

Ich bin neu in Java und ich entwickle ein Zahl Ratespiel. Wenn ich auf die zufällige Schaltfläche klicke, bekomme ich eine Zufallszahl, die okay ist, aber wenn ich dieses zweite Mal versuche, sind die zweite und die erste Zufallszahl gleich.Erste und zweite Rate sind die gleichen

Wie kann ich es lösen? Hier ist mein Code:

int KullaniciTahmini; 

@Override 

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    final TextView Sayi = (TextView) findViewById(R.id.Sayi); 
    Button Tamam = (Button) findViewById(R.id.Tamam); 
    final Button Rastgele = (Button) findViewById(R.id.Rastgele); 
    final EditText Tahmin = (EditText) findViewById(R.id.Tahmin); 
    final int gizliSayi = 0 + (int)(Math.random() * 100); 

    Rastgele.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      int random = (int)(Math.random() * 100); 
      Sayi.setText("Lutfen 0 ile 100 arasinda bir deger giriniz!"); 
     } 
    }); 

    Tamam.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 

      int KullaniciTahmini = Integer.parseInt(Tahmin.getText().toString()); 

      if (KullaniciTahmini < gizliSayi) { 

       Sayi.setText("Degeri Buyult"); 
      } 

      if (KullaniciTahmini > gizliSayi) { 

       Sayi.setText("Degeri Kucult"); 
      } 

      if (KullaniciTahmini == gizliSayi) { 

       Sayi.setText("Dogru Cevap!"); 
      } 
     } 
    }); 
} 

Antwort

0

Sie weisen nur gizliSayi einmal in onCreate:

final int gizliSayi = 0 + (int)(Math.random() * 100); 

Ich glaube, Sie die final es entfernen möchten, und dann diesen Wert in Rastgele.setOnClickListener aktualisieren, indem Sie diese Zeile zu ändern:

int random = (int)(Math.random() * 100); 

dazu:

gizliSayi = (int)(Math.random() * 100); 
Verwandte Themen