package com.apple.Demo;
import java.util.Random;
import java.util.Scanner;
/*
* 老虎机类
* @author Mr.缄默少言
*/
public class Machine {
//属性私有化,行为公开化
//筹码
private int coin;
//赌注
private int bet;
//奖金
private int bonus;
//选择的水果
private String chooseId;
//老虎机停下来的水果
private String luckId;
public Machine(){
super();
}
//创建一个无参构造器
public Machine(int coin) {
super();
this.coin = coin;
}
public int getCoin() {
return coin;
}
public void setCoin(int coin) {
this.coin = coin;
}
public int getBet() {
return bet;
}
public void setBet(int bet) {
this.bet = bet;
}
public int getBonus() {
return bonus;
}
public void setBonus(int bonus) {
this.bonus = bonus;
}
public String getChooseId() {
return chooseId;
}
public void setChooseId(String chooseId) {
this.chooseId = chooseId;
}
public String getLuckId() {
return luckId;
}
public void setLuckId(String luckId) {
this.luckId = luckId;
}
//封装一个打印游戏规则的方法(五要素)
public void print(){
System.out.println("老虎机游戏规则如下:"
+"1.游戏开始时,每个玩家都会有10元的筹码;\n"
+"2.输入大写的A~F,选择对应的水果;\n"
+"3.A代表苹果,奖金10¥\n"
+"4.B代表橘子,奖金20¥\n"
+"5.C代表橙子,奖金40¥\n"
+"6.D代表西瓜,奖金60¥\n"
+"7.E代表梨子,奖金180¥\n"
+"8.F代表香蕉,奖金100¥\n"
+"9.退出游戏,请输入Q\n"
+"10.当筹码为0时,游戏结束"
);
}
//运行原理
public void toWork() {
while (true){
System.out.println("游戏开始,你的初始筹码:¥" + coin);
//让玩家去押注
System.out.println("请输入你选择的水果(A~F):");
//接受玩家的押注
Scanner scan = new Scanner(System.in);
chooseId = scan.next();
//条件判断
if ("Q".equals(chooseId)) {
System.out.println("你选择的退出游戏");
//return ;//结束当前方法
System.exit(0);//结束虚拟机
} else {
//选择水果对应的字母
switch (chooseId) {
case "A":
luckId = chooseId;
bonus = 10;
break;
case "B":
luckId = chooseId;
bonus = 20;
break;
case "C":
luckId = chooseId;
bonus = 40;
break;
case "D":
luckId = chooseId;
bonus = 60;
break;
case "E":
luckId = chooseId;
bonus = 80;
break;
case "F":
luckId = chooseId;
bonus = 100;
break;
default:
System.out.println("不对,请选择正确的押注");
break;
}
//开始押注
System.out.println("请输入你的押注:¥");
bet = scan.nextInt();
//对押注进行判断
if (bet > coin) {
System.out.println("你的筹码不足");
//return ;//结束
System.exit(0);//结束虚拟机
} else {
//老虎机开始运行
Random ran = new Random();
//取一个随机数
int c = ran.nextInt(20) + 1;
//随机转[1,20]圈
for (int i = 0; i < c; i++) {
//再取一个随机数,来描述随机到水果
int j = ran.nextInt(10) + 1;//[1,10]
switch (j) {
case 1:
System.out.println("===苹果===");
luckId = "A";
break;
case 2:
System.out.println("===橘子===");
luckId = "B";
break;
case 3:
System.out.println("===橙子===");
luckId = "C";
break;
case 4:
System.out.println("===西瓜===");
luckId = "D";
break;
case 5:
System.out.println("===梨子===");
luckId = "E";
break;
case 6:
System.out.println("===香蕉===");
luckId = "F";
break;
default:
System.out.println("=========");
break;
}
}
//判断是否中奖
if (luckId == chooseId) {
System.out.println("恭喜你中间了,奖金为:¥" + bet * bonus);
//筹码增加
coin = coin - bet + bet * bonus;
System.out.println("你的累计筹码:¥" + coin);
} else {
System.out.println("很遗憾,这次你没有中奖,需要扣除相应的筹码:¥" + bet);
//剩余筹码
coin = coin - bet;
System.out.println("剩下的筹码不多了:¥" + coin);
}
//如果筹码为0,退出游戏
if (coin <= 0) {
System.out.println("你的筹码为0,去充值后再来");
//return ;//结束当前方法
System.exit(0);//结束虚拟机
}
}
}
}
}
}
|