Bootstrap

1.骗子酒馆的模拟左轮手枪代码实现

        线下和朋友玩真人版的《骗子酒馆》,突发其想想搞一个模拟左轮手枪的代码用来解无左轮之忧。

        代码如下:(纯是一个代码小白,代码也是比较的繁琐,但简单易懂,大佬们尽可以修改指正)

package cn.edu.bdu.rg.revolvergame;
/**
 * 骗子酒馆幸运左轮模拟器
 */

import java.util.Random;
import java.util.Scanner;

public class RevolverSimulation {


    public static void main(String[] args) {
        System.out.println("开运");
        System.out.println("请按'1'开始开枪!");
        // TODO Auto-generated method stub
        int cnt = 0;
        Random random = new Random();
        Scanner scanner = new Scanner(System.in);
        int result, bullet1, bullet2, bullet3, bullet4, bullet5, bullet6;
        result = 0;
        int[] gun = new int[6];
        while (result != 1) {
            bullet1 = random.nextInt(2);
            bullet2 = random.nextInt(2);
            bullet3 = random.nextInt(2);
            bullet4 = random.nextInt(2);
            bullet5 = random.nextInt(2);
            bullet6 = random.nextInt(2);
            result = bullet1 + bullet2 + bullet3 + bullet4 + bullet5 + bullet6;
            gun[0] = bullet1;
            gun[1] = bullet2;
            gun[2] = bullet3;
            gun[3] = bullet4;
            gun[4] = bullet5;
            gun[5] = bullet6;
        }
        for (int i = 0; i <= 6; i++) {
            cnt++;
            int one = scanner.nextInt();
            if (gun[i] == 1) {
                System.out.print("嘭,淘汰\n");

                switch (cnt) {
                    case 1:
                        System.out.println("一次就中弹何其不是另一种幸运呢");
                        break;
                    case 2:
                        System.out.println("两枪中弹");
                        break;
                    case 3:
                        System.out.println("三枪中弹");
                        break;
                    case 4:
                        System.out.println("四枪中弹");
                        break;
                    case 5:
                        System.out.println("五枪中弹");
                        break;
                    default:
                        System.out.println("lucky~~,六次中弹");
                }
                break;

            } else {
                System.out.print("恭喜!第" + cnt + "次开枪未中弹\n" + "按1继续开枪:\n");

            }
        }


    }
}

        代码思路:

        运用数组及对数组的遍历和对随机数的使用,将数组的内容全部设为范围只有0,1的随机数,数组模拟左轮手枪,0代表空壳,1代表子弹;通过对六个数组内容值相加等于1来强制设定“枪”里面只有一发随机位置的子弹,而后对数组用for循环进行遍历来模拟左轮手枪的一颗一颗子弹的退蛋,其中Scanner的使用也很重要,它不仅用作了和我们的交互,也可以用来阻止for循环一股脑的全部循环完,Scanner帮我们卡住了for的每一次循环,知道我们按下1来命令其执行。

        代码使用java在idea上面实现的,大家可以简单建立一个cn.edu.bdu.rg.revolvergame的包然后复制即可使用了,运行之后如图所示:

        运行之后跟着操作提示,每次轮到“开枪”时按1+Enter即可实现模拟开枪。

        最后希望大家可以和朋友们玩的开心尽兴

;