其他分享
首页 > 其他分享> > 猜拳小游戏

猜拳小游戏

作者:互联网

//用户输入想要出的手势,然后跟电脑随机生成的手势比较,以定谁输谁赢
//要定义一个变量list来记录用户赢的次数
//0石头,1剪刀,2布
import java.util.Scanner;
public class Test{
  public static void main(String[] args) {
   Game game = new Game();
   //当一局结束后用户,询问用户是否要继续要的话重开
   //每局结束可以用户可以选择查看自己赢的次数
   Scanner scan = new Scanner(System.in);
   int gesp = -1;
   label1:for(;;){
     System.out.println("\n请输入你的手势,0石头,1剪刀,2布");
     gesp = scan.nextInt();
     game.caiQuan(gesp);
     for(;;){
      System.out.println("\n请问接下来您想做的是:");
      System.out.println("\n1.重开游戏  2.查看目前胜局次数  3.结束游戏");
      System.out.println("\n请选择");
      gesp = scan.nextInt();
      switch (gesp) {
       case 1:
        continue label1;
       case 2:
        System.out.println("\n您好,您目前的胜局次数为:" + game.list);
        continue ;
      }
    //如果不是1,2那就是退出了
     System.out.println("\n====谢谢游玩,欢迎下次再来====");
     break label1;
    }
   }
  }
}


class Game{
  //用户赢的次数
  int list;
  //定义一个方法,来随机生成手势,并把用户的手势传进来比较
  public void caiQuan(int gesp){
    //电脑的手势,0,1,2
    int gesc = (int)(Math.random() * 2);
    String sgesc = null;
    switch(gesc){
    case 0:
      sgesc = "石头";
      break;
    case 1:
      sgesc = "剪刀";
      break;
    case 2:
      sgesc = "布";
    }
    //switch检测差值,来确定输赢关系
    switch(gesp - gesc){
    case 0:
      System.out.println("\n本局电脑出的手势为:" + sgesc);
      System.out.println("\n====本局是平局====\n");
      break;
    case 1:
      System.out.println("\n本局电脑出的手势为:" + sgesc);
      System.out.println("\n====本局是电脑赢====\n");
      break;
    case -2:
      System.out.println("\n本局电脑出的手势为:" + sgesc);
      System.out.println("\n====本局是电脑赢====\n");
      break;
    default:
      list++;
      System.out.println("\n本局电脑出的手势为:" + sgesc);
      System.out.println("\n====本局是你赢====\n");
    }
  }
}

 

标签:case,猜拳,本局,sgesc,System,小游戏,println,out
来源: https://www.cnblogs.com/codemelo/p/15924286.html