java编写剪刀石头布游戏

19 篇文章 0 订阅

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();
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值