ChoiceAnswer.java
public class ChoiceAnswer{
String texts[]={"石头","剪刀","布"};int value; //【1】石头\t【2】剪刀\t【3】布
String getText(){
return texts[value-1];
}
ChoiceAnswer(int value){
this.value=value;
}
/**
返回0表示平手,返回1表示赢,返回-1表示输
*/
int compTo(ChoiceAnswer c){
if(value==c.value){
return 0;
}
if(value+1==c.value||(value==3&&c.value==1)){
return 1;
}
return -1;
}
}
Game.java
import java.util.Scanner;
public class Game{
void p(String s){
System.out.println(s);
}
void showWelcome(){
p("欢迎使用······");
p("请选择:【1】石头\t【2】剪刀\t【3】布");
}
ChoiceAnswer getUserChoice(){
Scanner sc = new Scanner(System.in);
int userChoice=Integer.parseInt(sc.nextLine());
while(userChoice<1||userChoice>3){
p("你输入的不正确!请重新输入!");
userChoice=Integer.parseInt(sc.nextLine());
}
return new ChoiceAnswer(userChoice);
}
ChoiceAnswer getComputerChoice(){
int computerChoice=(int)((Math.random()*3)+1);
return new ChoiceAnswer(computerChoice);
}
void showResult(ChoiceAnswer userChoice,ChoiceAnswer computerChoice){
int result=userChoice.compTo(computerChoice);
if(result==0){
System.out.println("平手,您和电脑均选择了:"+userChoice.getText());
}
else if(result==1){
System.out.println("恭喜,您赢了!您选择了:"+userChoice.getText()+"; 电脑选择了:"+computerChoice.getText());
}
else{
System.out.println("对不起,您败了!您选择了:"+userChoice.getText()+";电脑选择了:"+computerChoice.getText());
}
}
void start(){
showWelcome();
ChoiceAnswer userChoice=getUserChoice();
ChoiceAnswer computerChoice=getComputerChoice();
showResult(userChoice,computerChoice);
}
public static void main(String a[]){
new Game().start();
}
}