Şu anda bir bowling programı üzerinde çalışıyorum ve çoğu çalışıyorum. BowlingGameTest adında bir oyun sınavına sahibim. Oyunun en skoruyla ilgilenen bir oyun ve bir oyunun kendisi ile ilgilenen Play adında bir sınıf. Bildiğim kadarıyla eklenen tek şey, 10. çerçeve özellikleridir. Şu anda, eğer "bir grev" yaparsam, o zaman 10. çerçeve sadece 1-9 çerçevelerine benziyor. Ancak, bana başka bir kase vermeli ve bir sonraki atışta "başka bir kase" ye de kapılmam gerekecek. Bunu 10. çerçeve için uygulamanın en iyi yolu ne olurdu? İşteJava Bowling Programı - 10. Çerçeve Ekleme
benim Çal sınıfında şimdiye kadar ne var:
import java.util.Random;
public class Play {
public static void main(String[] args) {
Game g = new Game();
int i;
int PinsDown1;
int PinsDown2;
int PinsDown3;
for (i=1; i<11; i++)
{
PinsDown1 = ThrowBall(0); //1st try
System.out.println("Frame " + i + " Throw 1" + " knocked down is " + PinsDown1);
if(PinsDown1 == 10)
{
g.roll(10);
System.out.println("Congratulations, you bowled a strike!");
System.out.println();
}
else
{
PinsDown2 = ThrowBall(PinsDown1); //2nd try
System.out.println("Frame " + i + " Throw 2" + " knocked down is " + PinsDown2);
g.roll(PinsDown1);
g.roll(PinsDown2);
if (PinsDown1+PinsDown2 == 10)
System.out.println("Congratulations, you bowled a spare!");
System.out.println();
}
}
System.out.println("Final score is " + g.score());
} //*** end main ***
public static int ThrowBall(int PinsDown)
{
int standing = 10-PinsDown;
Random rand = new Random();
int down = rand.nextInt(standing+1);
return down;
}
} //*** End class ***
Belki de kendi ['Yineleyici '' (http://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html) uygulamanızı kendiniz yapın. Bir onuncu uygunsa, sağlayın, aksi takdirde sadece dokuzuncuyu sağlayın. Özel bir yineleyici ile ilgili olarak [Bu Dave Dave Quartz adlı kişiye yanıt verin] (http://stackoverflow.com/a/22110692/642706) konusuna bakın. –