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();
    }
}

這裏寫圖片描述

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