gpt4 book ai didi

java - 玩家决策问题

转载 作者:行者123 更新时间:2023-12-02 11:40:23 25 4
gpt4 key购买 nike

我正在尝试编写一个剪刀石头布的游戏,我想我快完成了。但是,我在调用最后一个方法时遇到问题。这是我到目前为止的代码:

import java.util.*;

public class RPS {
public static void main(String[] args) {
PlayerChoice();
ComputerChoice();
System.out.println("You played " + playerDecision + ". The computer played " + computerPlay +".");
}
public static void PlayerChoice() {
System.out.print("Type R(ock), P(aper) or S(cissors): ");
int r = "rock";
int p = "paper";
int s = "scissors";
String r = console.r();
string p = console.p();
String s = console.s();
Random rand = new Random();
int playerDecision = nextInt();
if(playerDecision.equalsIgnoreCase("r")){
System.out.println("rock");
}else if(playerDecision.equalsIgnoreCase("p")){
System.out.println("paper");
}else if(playerDecision.equalsIgnoreCase("s")){
System.out.println("scissors");
}
while(!nextInt = 'r' || 'p' || 's'){
System.out.println("Invalid answer. Re-type R, P or S: ");
}
System.out.print(playerDecision);
}
public static void ComputerChoice() {
int rock = 1, paper = 2, scissors = 3;
Random rand = new Random();
int computerPlay = rand.nextInt(3) + 1;

if(computerPlay == 0){
System.out.println("rock");
}else if(computerPlay == 1){
System.out.println("paper");
}else if(computerPlay == 2){
System.out.println("scissors");
}
System.out.print(computerPlay);
}
}

但是,我的代码找不到playerDecision或computerPlay。我希望方法 PlayerChoice 能够做出玩家的决定,如其名称所示。如果他们输入“R”,则注册“石头”,“P”代表布,“S”代表剪刀,无论大小写。 ComputerChoice 方法似乎运行良好。有人知道我在做出决定时做错了什么吗?我不知道为什么它读起来不正确,而且我没有想法。有人给我建议吗?

最佳答案

您的“快捷方式”语法是非法的。而且你的逻辑有点不对劲。 while(!nextInt = 'r' || 'p' || 's'){ 应该是这样的

while (nextInt != 'r' && nextInt != 'p' && nextInt != 's') {

应用德摩根定律,并得到

while (!(nextInt == 'r' || nextInt == 'p' || nextInt == 's')) {

此外,ComputerChoice “工作正常”。您正在生成 1 到 3(含)范围内的值,但仅检查零、一和二。删除 int computerPlay = rand.nextInt(3) + 1; 中的 + 1(或修复 if 逻辑)。

关于java - 玩家决策问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48615360/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com