Java俄罗斯轮盘死亡游戏

俄罗斯轮盘是一种自杀式玩命游戏。参与者在左轮手枪的弹巢放入一颗子弹,之后将子弹盘旋转,然后关上。参与者轮流把手枪对着自己的头,按下扳机;直至有人中枪,或不敢按下扳机为止。传说这种“游戏”源自十九世纪俄罗斯,由监狱的狱卒强迫囚犯进行,以作为赌博。亦有说这是源自决斗的方法。也有说是亡命之徒之间用作比拼勇气。

  1. 定义玩家
package com.Roulette;

public class Person {
    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Person(String name) {
        super();
        this.name = name;
    }

    public Person() {
        super();
        // TODO Auto-generated constructor stub
    }

}
  1. 实现游戏规则
package com.Roulette;

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

public class StartGUI {
    private Person[] person;
    private Random r = new Random();
    private int number;
    //子弹存放的位置
    private boolean[] pos = new boolean[6];
    private int index;
    Scanner sc = new Scanner(System.in);
    //开始界面
    public void startGui(){
        System.out.println("*****************************");
        System.out.println("*                           *");
        System.out.println("*                           *");
        System.out.println("*  欢迎加入俄罗斯轮盘死亡游戏    *");
        System.out.println("*      按任意键加入游戏              *");
        System.out.println("*                           *");
        System.out.println("*                           *");
        System.out.println("*****************************");
        //任意键开始游戏
        sc.nextLine();
        //添加加入游戏的人数
        addPerson();
        start();

    }
    public void start(){
        System.out.println("按任意键开始游戏:");
        sc.nextLine();
        //子弹所在的位置和开枪所在的位置
        gun();
        //随机从某一个人开始
        int ppos = r.nextInt(number);
        while(true){
        shot(person[ppos]);
        ppos = ++ppos%number;
        }

    }
    private void addPerson(){
        System.out.println("加入游戏的人数:");
        number = sc.nextInt();
        person = new Person[number];
        for(int i =0;i<number;i++){
            System.out.println("请输入玩家的姓名:");
            person[i] = new Person();
            person[i].setName(sc.next());
        }
    }
    private void gun(){
        //子弹存放的位置
        int gindex = r.nextInt(6);
        pos[gindex] = true;
        //枪射击开始的位置
        index = r.nextInt(6);
    }
    private void shot(Person p ){
        System.out.println(p.getName()+"开始游戏");
        if(pos[index]){
            System.out.println(p.getName()+"死亡,游戏结束!");
            System.exit(0);
        }
        System.out.println("恭喜"+p.getName()+"存活");
        index = ++index%6;
    }
}
  1. 测试界面
package com.Roulette;
public class Roulette {

    public static void main(String[] args) {
        StartGUI s = new StartGUI();
        s.startGui();
    }
}

这里写图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章