介绍
再练习一次循环。这个程序会比前一个更多一些。
在这种情况下,对手将是计算机。
任务1
这个游戏需要两个6面骰子。你将需要用随机数生成器模拟这些骰子。
每转一圈,玩家将轮流掷两个骰子。如果任何一个骰子上都没有出现1,则这些值将加到玩家的总数中。然后他们可以选择再次滚动(选择0),或者将回合传递给另一个玩家(选择1)。如果在其中一个骰子上出现1,则该玩家在整个回合中的总积分不会增加,而是成为另一个玩家的滚动回合(在前一回合中获得的积分仍然存在于他们的总积分中)。如果一个球员滚动两个1s,该球员的回合结束,他们的总数被重置为0。您将需要一个更多的随机数生成器,以确定是计算机(0)还是玩家(1)将先走。这也将用于模拟计算机的选择,要么再次滚动或通过翻转。这台发电机的种子将是140L。
假设用户输入有效。
输出应以“欢迎猪的游戏”开始
计算机的回合(当前点数:0)计算机滚动1和4,没有获得点数和你的回合,他们宣布哪个玩家的回合和当前点数。
然后是哪个玩家滚动的数字
如果赢得了积分,则显示该回合的总积分(请参见用户提示的第2行),如果一个回合被滚动,则宣布没有赢得积分和下一个玩家的回合(请参见计算机提示的第2行),如果两者都是1,则使用显示消息“/无论哪个玩家/滚动了两个,积分重置和/对手的/回合”
import java.util.Scanner;
import java.util.Random;
public class GameOfPigs {
public static void main(String[] args) {
Random die1 = new Random(140L);
Random die2 = new Random(340L);
Random compDecision = new Random(140L);
Scanner scnr = new Scanner(System.in);
int computerTotal = 0;
int playerTotal = 0;
boolean playerTurn = true;
// Decides who goes first...
if ((compDecision.nextInt(2)) == 0) {
playersTurn = false;
}
System.out.println("Welcome of the Game of Pigs");
// Main game loop
while (computerTotal < 100 && playerTotal < 100) {
System.out.println();
int currentPlayerPoints = 0;
// Player's loop
while (playersTurn) {
System.out.println("Your turn (current points: " + playerTotal + ")");
int roll1 = die1.nextInt(6) + 1;
int roll2 = die2.nextInt(6) + 1;
// First Rule...Not the same as the example in class!!!
// Adjust accordingly!!!! Multiple ways to do this!!!!
if (roll1 == 1 && roll2 == 1) {
playerTotal = 0;
playersTurn = false;
break;
}
// Second Rule
else if (roll1 == 1 || roll2 == 1) {
playerTotal = playerTotal;
playersTurn = false;
break;
}
// Third Rule
else {
playerTotal += currentPlayerPoints;
int choice = scnr.nextInt();
if (choice == 1) {
playerTotal += currentPlayerPoints;
playersTurn = false;
break;
}
}
}
if (playerTotal >= 100) {
break;
}
//
int currentCompPoints = 0;
// Computer's loop
while (!playersTurn) {
System.out.println("Computer's turn (current points: " + computerTotal + ")");
int roll1 = die1.nextInt(6)+1;
int roll2 = die2.nextInt(6)+1;
if (roll1 == 1 && roll2 == 1) {
computerTotal = 0;
}
else if (roll1 == 1 || roll2 == 1) {
computerTotal = computerTotal;
}
else {
int choice = compDecision.nextInt(2);
computerTotal += currentPlayerPoints;
}
}
}
}
if (playerTotal > computerTotal) {
System.out.println("Congratulations! You won!");
}
else {
System.out.println("Too Bad, the computer won.");
}
}
}
GameOfPigs.java:86: error: illegal start of type
if (playerTotal > computerTotal) {
^
GameOfPigs.java:86: error: <identifier> expected
if (playerTotal > computerTotal) {
^
GameOfPigs.java:86: error: ';' expected
if (playerTotal > computerTotal) {
^
GameOfPigs.java:86: error: illegal start of type
if (playerTotal > computerTotal) {
^
GameOfPigs.java:86: error: <identifier> expected
if (playerTotal > computerTotal) {
^
GameOfPigs.java:86: error: ';' expected
if (playerTotal > computerTotal) {
^
GameOfPigs.java:87: error: illegal start of type
System.out.println("Congratulations! You won!");
^
GameOfPigs.java:87: error: ';' expected
System.out.println("Congratulations! You won!");
^
GameOfPigs.java:87: error: invalid method declaration; return type required
System.out.println("Congratulations! You won!");
^
GameOfPigs.java:87: error: illegal start of type
System.out.println("Congratulations! You won!");
^
GameOfPigs.java:89: error: class, interface, or enum expected
else {
^
GameOfPigs.java:91: error: class, interface, or enum expected
}
^
12 errors
谢了!但现在它说:
GameOfPigs.java:18: error: cannot find symbol
playersTurn = false;
^
symbol: variable playersTurn
location: class GameOfPigs
GameOfPigs.java:29: error: cannot find symbol
while (playersTurn) {
^
symbol: variable playersTurn
location: class GameOfPigs
GameOfPigs.java:29: error: illegal start of type
while (playersTurn) {
^
GameOfPigs.java:38: error: cannot find symbol
playersTurn = false;
^
symbol: variable playersTurn
location: class GameOfPigs
GameOfPigs.java:45: error: cannot find symbol
playersTurn = false;
^
symbol: variable playersTurn
location: class GameOfPigs
GameOfPigs.java:55: error: cannot find symbol
playersTurn = false;
^
symbol: variable playersTurn
location: class GameOfPigs
GameOfPigs.java:68: error: cannot find symbol
while (!playersTurn) {
^
symbol: variable playersTurn
location: class GameOfPigs
7 errors
在if(playerTotal>computerTotal)
行前多了一个大括号。拆下一个,结构应该没问题。问题是,由于大括号太多,您在最后一个if语句之前关闭了方法,因此该语句基本上在方法之外,这在Java中是不允许的。如果您使用IDE,它应该向您显示这一点。
每次我整理这个的时候 这是输出 有人知道为什么吗?
问题内容: 如果html文件是本地文件(在我的C驱动器上),则可以使用,但是如果html文件在服务器上并且图像文件是本地文件,则无法使用。这是为什么? 任何可能的解决方法? 问题答案: 如果客户端可以请求本地文件系统文件,然后使用JavaScript找出其中的内容,则将是一个安全漏洞。 解决此问题的唯一方法是在浏览器中构建扩展。Firefox扩展和IE扩展可以访问本地资源。Chrome的限制更为严
我在第5行得到一个错误,上面说“未处理的异常IOException,InvalidFormatException”
下面是一个链表的简单实现。我刚刚添加了相关代码。首先,我向列表中添加一些值,10,990和10000。当我搜索相同的值时,对于key=10,我得到true,但是对于key=990和key=10000得到false,尽管它应该是true。另外,如果我将第二个值从990更改为99,并搜索key=99,这一次我得到的是true。 我不确定是否使用泛型类型。我想我在那里做错了什么。因为如果我用int替换泛
我正在做一个项目,我的意图是运行一个玉米作业,并发送邮件给我的朋友,祝他们生日,我能够从MySQL DB获取电子邮件,并将其与当前日期进行比较,但当涉及到发送电子邮件时,我得到NullPointerException。 我确信应用程序属性没有问题,我在其他项目中也使用了它们,它们的功能正常 这是我得到以下信息的错误
我有一个简单的测试设置,如 但当我尝试编译测试时,我会遇到53个错误,比如 实际上并没有传达任何关于问题所在的有用信息。我只能假设在我的构建中没有正确配置某些内容。sbt文件或其他地方。 这段代码确实曾经工作过,在我清理东西的过程中,事情发生了变化,现在它被破坏了,没有好的诊断。 有人能提出要找的东西吗?