0

これは私が作ろうとしているゲームです。$1500 でゲームを開始し、ゲームをプレイするたびに $100 を支払う必要があります。 . ゲーム開始時、ポットには $4 が入っています。表が出ると、ポットのお金が 2 倍になり、再びフリップします。テールのときは、ポットのすべてのお金を獲得します。$100 未満になると、破産します (ゲーム オーバー)。あなたは最初のメニューに戻ります...そして、このゲームがあなたの最高のお金(ハイスコア)を記録するようにしたいので、これが私がこれまでに得たものです...

public class COINFLIP
{
public static void main(String[] args)
{
int tail = 0;//tail
int head = 0;//head
int x = 0;//tries
while (x < 1)
{
    int coin;//coin
    coin = (int) (Math.random() * 2);
    x++;
    if (coin == 0) {
    headCount++; // int type
    wasHeads = true; // boolean type
    wasTails = false;
  } else {
    tailCount++;
    wasHeads = false; // boolean type
    wasTails = true;
 }
    int sm = 1500;//starting money
    int cm;//current money
    int pm = 4;//money in the pot
    cm = sm - 100 + pm;
}
if (wasHeads)
{
pm = pm * 2;
}
else if (wasTails)
{
System.out.println("Your money is: $" + cm);
}
if (cm < 100);
System.out.println("Sorry, but you are broke!!!");
}
}

エラー:

C:\Users\Loyal Xie\Documents\COINFLIP.java:14: error: cannot find symbol
    headCount++; // int type
    ^
symbol:   variable headCount
location: class COINFLIP
C:\Users\Loyal Xie\Documents\COINFLIP.java:15: error: cannot find symbol
    wasHeads = true; // boolean type
    ^
symbol:   variable wasHeads
location: class COINFLIP
C:\Users\Loyal Xie\Documents\COINFLIP.java:16: error: cannot find symbol
    wasTails = false;
    ^
symbol:   variable wasTails
location: class COINFLIP
C:\Users\Loyal Xie\Documents\COINFLIP.java:18: error: cannot find symbol
   tailCount++;
   ^
symbol:   variable tailCount
location: class COINFLIP
C:\Users\Loyal Xie\Documents\COINFLIP.java:19: error: cannot find symbol
    wasHeads = false; // boolean type
    ^
symbol:   variable wasHeads
location: class COINFLIP
C:\Users\Loyal Xie\Documents\COINFLIP.java:20: error: cannot find symbol
    wasTails = true;
    ^
symbol:   variable wasTails
location: class COINFLIP
C:\Users\Loyal Xie\Documents\COINFLIP.java:27: error: cannot find symbol
if (wasHeads)
    ^
symbol:   variable wasHeads
location: class COINFLIP
C:\Users\Loyal Xie\Documents\COINFLIP.java:27: error: illegal start of type
if (wasHeads)
   ^
C:\Users\Loyal Xie\Documents\COINFLIP.java:29: error: cannot find symbol
pm = pm * 2;
^
symbol:   variable pm
location: class COINFLIP
C:\Users\Loyal Xie\Documents\COINFLIP.java:29: error: cannot find symbol
pm = pm * 2;
     ^
symbol:   variable pm
location: class COINFLIP
C:\Users\Loyal Xie\Documents\COINFLIP.java:31: error: cannot find symbol
else if (wasTails)
         ^
symbol:   variable wasTails
location: class COINFLIP
C:\Users\Loyal Xie\Documents\COINFLIP.java:31: error: illegal start of type
else if (wasTails)
        ^
C:\Users\Loyal Xie\Documents\COINFLIP.java:33: error: cannot find symbol
System.out.println("Your money is: $" + cm);

                                        ^
symbol:   variable cm
location: class COINFLIP
C:\Users\Loyal Xie\Documents\COINFLIP.java:35: error: cannot find symbol
if (cm < 100);
    ^
symbol:   variable cm
location: class COINFLIP
14 errors

しかし、多くのエラーがあり、私のステートメントはまだエラーになっています...問題はifステートメントにあると思います.head = trueを設定してifステートメントで使用するのにまだ問題があると思います....何かご意見は?

4

2 に答える 2

0

インデントを修正すると、

if (coin == 0)  
{
    headCount++; // int type   
}
    wasHeads = true; // boolean type

wasHeadsif ステートメントにはなく、100% の確率で実行されます。同じことが当てはまりますwasTails = true;

これは、後でテストif (wasHeads)が常に実行されることを意味します。

whileまた、一度しか実行されないので、なぜこれをループにするのですか。

編集

エラーに関しては、使用する前に変数を定義する必要があります。

例えば

headCount++; 

最初に次のように定義する必要があります

int headCount = 0;
于 2014-09-01T04:07:42.937 に答える
0

ブール値への割り当ては、それぞれのテストケースにはありません (そして、単純なものを本当に好むべきですelse)。だから何か、

if (coin == 0) {
  headCount++; // int type
  wasHeads = true; // boolean type
  wasTails = false;
} else {
  tailCount++;
  wasHeads = false; // boolean type
  wasTails = true;
}
于 2014-09-01T04:08:17.880 に答える