2014-09-01 34 views
0

这是我试图制作的游戏。你以1500美元开始游戏,每次你想玩游戏,你必须支付100美元(选择1玩)(按2读取规则)(按3看看高分)游戏是一个翻转硬币游戏。当比赛开始时,底池中有$ 4。当它头顶在锅里的钱翻倍,你再次翻转。当它尾巴时,你可以获得锅中所有的钱。当你少于100美元时,你破产了(游戏结束)。您返回到起始菜单...我希望让这个本场比赛记录你的最高金额(高分) 所以这是我走到这一步......CoinFlipGame help ..在if语句中输入True

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中使用它声明....任何想法?

+0

什么是错误? – 2014-09-01 04:09:06

+0

你已经将'head'声明为'int',所以你不能将它赋值为'true'。 – 2014-09-01 04:10:12

+0

你的游戏有哪些规则?这('cm = sm - 100 + pm;')是错误的。但我需要知道规则来修复它。 – 2014-09-01 04:33:00

回答

0

如果纠正了缩进,你可能会注意到,与

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

wasHeads没有if语句,将被执行的时间100%。这同样适用于wasTails = true;

这意味着稍后您的测试总是会执行if (wasHeads)

另外,为什么有这个在while循环,因为它只会执行一次。

编辑

关于你的错误,你需要定义变量,然后才可以使用它们。

例如

headCount++; 

需要先定义为

int headCount = 0; 
+0

我看到你的解决方案和你的建议...我的代码的重点是不断翻转硬币,直到你到达尾巴,你赢得了所有的钱在锅里...你有钱继续玩它。因此代码必须能够反复运行。所以,你有什么想法,我可以改变我的代码到这样的事情... – 2014-09-01 17:05:52

+0

用'while(true)'替换'while(x <1)'和那么当你到达尾部并且你获得了所有的钱时'你会'断裂;' – 2014-09-02 00:04:57

0

你分配到你的布尔没有在各自的测试案例(和你应该更喜欢简单else)。所以类似的,

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

我测试了你的解决方案,但是错误仍然存​​在...... – 2014-09-01 04:11:49

+0

你需要声明boolean wasHeads = false;和'boolean wasTails = false;'某处。请指定**仍然会发生什么**错误。 – 2014-09-01 04:14:19

+0

我已经定义了我的错误,我一直坚持这一段时间... – 2014-09-01 04:24:16