俄羅斯輪盤是一種自殺式玩命遊戲。參與者在左輪手槍的彈巢放入一顆子彈,之後將子彈盤旋轉,然後關上。參與者輪流把手槍對着自己的頭,按下扳機;直至有人中槍,或不敢按下扳機爲止。傳說這種“遊戲”源自十九世紀俄羅斯,由監獄的獄卒強迫囚犯進行,以作爲賭博。亦有說這是源自決鬥的方法。也有說是亡命之徒之間用作比拼勇氣。
- 定義玩家
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
}
}
- 實現遊戲規則
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;
}
}
- 測試界面
package com.Roulette;
public class Roulette {
public static void main(String[] args) {
StartGUI s = new StartGUI();
s.startGui();
}
}