Class 创建新类以运行游戏
我已经创建了一个类,做剪纸石头剪刀Class 创建新类以运行游戏,class,methods,Class,Methods,我已经创建了一个类,做剪纸石头剪刀 public class RPS { private char cAns; public RPS() { reset(); } public String promptShoot() { return "Rock, Paper, Scissors, Shoot! (r/p/s)\n"; } public void AI() { dou
public class RPS {
private char cAns;
public RPS()
{
reset();
}
public String promptShoot()
{
return "Rock, Paper, Scissors, Shoot! (r/p/s)\n";
}
public void AI()
{
double temp = Math.random();
int num = (int)(temp * 2.99);
switch(num)
{
case 0:
cAns = 'r';
break;
case 1:
cAns = 'p';
break;
case 2:
cAns = 's';
break;
}
}
全班学生随机选择电脑。然后,它使用扫描仪请求人工输入
public int shoot(char hAns)
{
if(hAns == cAns)
return 0;
else if((cAns == 'r' && hAns == 'p')
|| (cAns == 'p' && hAns == 's')
|| (cAns == 's' && hAns == 'r'))
return 1;
else
return -1;
}
一旦双方都选择了他们的选择,它将宣布胜利者:
public String winner(int won)
{
if(won == 1)
return "The human won!!! All hail the human!!!";
else if(won == -1)
return "The computer won!!! Humans must die!!!";
else
return "Tie!";
}
public void reset()
{
cAns = 'a';
}
}
我认为这是可行的,但我没有意识到我需要创建一个单独的类来运行这个RPS类
到目前为止,我有这个
import java.util.Scanner;
public class game
{
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);
RPS choice = new RPS();
choice.AI();
System.out.print(choice.promptShoot());
choice.hAns(scan.nextInt());
scan.close();
}
}
我以为这会初始化游戏,但它不工作。有什么建议或者我可以被指向正确的方向吗?将
静态
添加到赢家和射击方法中。
把这个放在main的末尾:
System.out.println(winner(shoot(scan.nextLine().charAt(0))));
删除choice.hAns(scan.nextInt())代码>我让我的教授帮我上RPS课,他显然说我不应该在上面做任何改变。它应该像他给我的那样工作。我只是想创建一个运行游戏的类。因为我是java新手,所以我很困惑。好吧,我不可能重写所有内容,但这里有一些方法可以解决它:将所有内容放在main中,并在reset()后放入RPS()。然后删除main()中的所有内容并放入新的RPS();你可以走了。会有一些小问题,但你会很快解决的。