猜拳小游戏,应用Random

题目:完成一个猜拳的小游戏。
由系统随机一个数(0表示石头1表示剪刀2表示布),然后用户输入一个数(0表示石头1表示剪刀2表示布)。输出得出谁赢、谁输,还是平局。
输出的时候要输出“石头”、“剪刀”、“布”,不要输出0、1、2
可以写在一个循环里面。输入y表示还想玩,n表示退出游戏。结束之后要输出赢了多少次、输了多少次、平局多少次、记录游戏时长。

public static void four() {
    //获取游戏开始时间
    long start = System.currentTimeMillis();
    //构建二维数组枚举出用户胜负和平局
    String[][] winOrLose = {{"平局", "用户胜", "用户败"},
                            {"用户败", "平局", "用户胜"},
                            {"用户胜", "用户败", "平局"}};
    int[] os = {0, 1, 2};
    String[] userGuess = {"石头", "剪刀", "布"};
    String[] osGuess = {"石头", "剪刀", "布"};
    //定义变量分别记录平局次数,用户胜和败多少次
    int draw = 0, userWin = 0, userLose = 0;
    //定义随机函数
    Random random = new Random();
    //创建键盘输入对象
    Scanner scanner = new Scanner(System.in);
    System.out.println("开猜拳游戏。。。。。。。。。。");
    //猜拳游戏
    do {
        System.out.println("请出拳:0[石头]    1[剪刀]    2[布]");
        int userInput = scanner.nextInt();//用户出拳
        int osInput = os[random.nextInt(os.length)];//系统出拳
        //根据系统和用户出拳作为二维数组下标去二维数组里获取结果
        String result = winOrLose[userInput][osInput];
        if (result.equals("平局")) draw++;
        else if (result.equals("用户胜")) userWin++;
        else if (result.equals("用户败")) userLose++;
        System.out.println("本次游戏结束");
        System.out.println("用户出: " + userGuess[userInput] + "  系统出 : " + osGuess[osInput]);
        System.out.println("输入[y]继续游戏,输入[n]退出游戏");
        String val = scanner.next();
        if (val.equals("n"))break;
    }while (true);
    System.out.println("本次游戏浪费了你 " + (System.currentTimeMillis() - start)/1000 + " 秒");
    System.out.println("平局:" + draw);
    System.out.println("用户胜:" + userWin);
    System.out.println("用户败:" + userLose);
    System.out.println("系统胜:" + userLose);
    System.out.println("系统败:" + userWin);
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值