Java项目:俄罗斯赌盘游戏 (下)

上一篇,我们讲到了初始化以及装弹模拟过程:Java项目:俄罗斯赌盘游戏 (上)

这一篇,我们来讲一下这个游戏的关键过程:中枪的概率问题

我们可以根据子弹总共的数量和实弹的数量计算出中弹的百分比,然后用取1~100里的随机数,如果随机数大于百分比,那么就没中弹,否则生命减少一

①中枪概率

设定一个随机数(1~100)

import java.util.Scanner;
import java.util.Random;
public class Gungame{
    static Scanner sr=new Scanner(System.in);
    static a1=3,a2=3;
    static public void main(String[] args)throws InterruptedException{
        System.out.println("欢迎来到俄罗斯转盘赌!每人有三条生命,可以选择打自己,也可以选择打别人,如果打自己,下一轮还是自己开枪,否则到别人开枪。");
        System.out.println("输入玩家1名字");
        player1=sr.nextLine();
        System.out.println("输入玩家2名字");
        player2=sr.nextLine();
        System.out.print("现在开始装弹");
        for(int i=1;i<=3;i++){
            Thread.sleep(500);//暂停
            System.out.print(".");
            Thread.sleep(500);
            System.out.print(".");
            Thread.sleep(500);
            System.out.print(".");
            Thread.sleep(500);
            System.out.print("\n\n\n\n\n\n\n\n\n\n\n");//假清屏
             System.out.println("欢迎来到俄罗斯转盘赌!每人有三条命");
         }
         System.out.println("装弹完毕,五发实弹-五发虚弹");
         int shi=5,sum=10,t=1;
         while(a1!=0&&a2!=0){//其中一个人死了才能结束游戏
             Random rand=new Random();
             int r=rand.nextInt(100);//随机数
             int h=shi*1.0/sum*100;//中弹概率
         }

    }
}

②询问打谁

因为在游戏中,可以选择打自己,也可以打别人,但是上一轮如果是朝自己开枪,那么这一轮也是自己选择,否则轮到别人,所以我们定义一个变量来记录到谁选则。

(我们每过一轮都要输出一次生命值)

 System.out.println(player1+"的生命数:"+a1+"   "+player2+"的生命数:"+a2);
 if(t==1){System.out.println(player1+"要打谁?\n1:自己\n2:对方");}
 else {System.out.println(player2+"要打谁?\n1:自己\n2:对方");}
import java.util.Scanner;
import java.util.Random;
public class Gungame{
    static Scanner sr=new Scanner(System.in);
    static a1=3,a2=3;
    static public void main(String[] args)throws InterruptedException{
        System.out.println("欢迎来到俄罗斯转盘赌!每人有三条生命,可以选择打自己,也可以选择打别人,如果打自己,下一轮还是自己开枪,否则到别人开枪。");
        System.out.println("输入玩家1名字");
        player1=sr.nextLine();
        System.out.println("输入玩家2名字");
        player2=sr.nextLine();
        System.out.print("现在开始装弹");
        for(int i=1;i<=3;i++){
            Thread.sleep(500);//暂停
            System.out.print(".");
            Thread.sleep(500);
            System.out.print(".");
            Thread.sleep(500);
            System.out.print(".");
            Thread.sleep(500);
            System.out.print("\n\n\n\n\n\n\n\n\n\n\n");//假清屏
             System.out.println("欢迎来到俄罗斯转盘赌!每人有三条命");
         }
         System.out.println("装弹完毕,五发实弹-五发虚弹");
         int shi=5,sum=10,t=1;
         while(a1!=0&&a2!=0){//其中一个人死了才能结束游戏
             Random rand=new Random();
             int r=rand.nextInt(100);//随机数
             int h=shi*1.0/sum*100;//中弹概率
             System.out.println(player1+"的生命数:"+a1+"   "+player2+"的生命数:"+a2);
             if(t==1){System.out.println(player1+"要打谁?\n1:自己\n2:对方");}
             else {System.out.println(player2+"要打谁?\n1:自己\n2:对方");}
         }

    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值