java——猜拳游戏(剪刀石头布)

1. 表驱动方法:

package com.zth;
import java.util.Scanner;
public class CaiQuan {

  public static void main(String[] args) {
    
    String[] choice = {"剪刀","石头","布"};
    String[][] arr = {{"平","赢","输"},{"输","平","赢"},{"赢","输","平"}};
    System.out.println("请输入你的选择:(0. 剪刀     1.石头   2.布 ");
    Scanner scanner = new Scanner(System.in);
    
    int input = scanner.nextInt();
    
    int ran = (int)(Math.random()*10%3);
    System.out.println("你出的是:"+choice[input]);
    System.out.println("电脑出的是:"+choice[ran]);
    System.out.println("你"+arr[ran][input]+"了");

    
  }

}
package com.zth.mora;
import java.util.Scanner;
public class Mora {
  public String playerName;     // 玩家姓名
  int playerScore;              // 玩家分数
  int computerScore;            // 电脑分数
  int playerWinNum = 0;
  int comWinNum = 0;
  
  public void startplay() {
    
    System.out.print("请出拳:1.剪刀   2.石头   3.布(输入相应数字):");
    Scanner scanner = new Scanner(System.in);
    int playernumber = scanner.nextInt();
    
    while(playernumber !=1 && playernumber !=2 && playernumber !=3 && playernumber !=0) {
        System.out.println("您的输入有误,重新输入:(1.剪刀   2.石头   3.布    0.退出游戏)");
        playernumber = scanner.nextInt();
    }
    switch (playernumber){
      case 1:
        System.out.println("你出拳:剪刀");
        break;
      case 2:
        System.out.println("你出拳:石头");
        break;
      case 3:
        System.out.println("你出拳:布");
        break;
      case 0:
        System.out.println("游戏已结束,记得回来哦");
        System.exit(0);
    }
    
    int computernumber = (int)( (Math.random()*10)%3+1);
    switch (computernumber){
      case 1:
        System.out.println("电脑出拳:剪刀");
        break;
      case 2:
        System.out.println("电脑出拳:石头");
        break;
      case 3:
        System.out.println("电脑出拳:布");
        break;
    }
    
    
    if ( playernumber == computernumber) {

      System.out.println("啊,平局!");
     
  } else if ((playernumber == 1 && computernumber != 2) || (playernumber == 2 &&  computernumber != 3)
          || (playernumber == 3 && computernumber != 1)) {
    playerWinNum ++;
     System.out.println("哇,你赢了,好厉害!");
     
  } else {
    comWinNum++;
      System.out.println("^_^!!!你输了,真笨!");
      
  }
    
   System.out.println("当前比分:\t用户:电脑 = "+playerWinNum + ":"+comWinNum);
    //scanner.close();
    
  }

  public static void main(String[] args) {
    
   
    Mora mora = new Mora();
    Scanner aaa = new Scanner( System.in);
    boolean  flag =true;
    int i;
    
    while(flag) {
      mora.startplay();
      
      System.out.println("1. 继续游戏      0. 退出游戏");
      
      
     // System.out.println(input);
      i = aaa.nextInt();
      
      while( i!=1  && i!=0) {
        System.out.println("输入有误,请重新输入:");
        i = aaa.nextInt();
      }
      if(i == 0) {
        System.exit(0);
      }
    }
    
    aaa.close();
  }
 
}

 

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值