zoukankan      html  css  js  c++  java
  • 一个挑战塔游戏问题

      最近在玩某易的《阴阳师》。想到一个挑战塔的小问题。挑战塔有1到10层。战胜层数越高,越容易获取高级物品。那么代码大概怎么写呢?

      简单的举例:第一层有10%的概率获取到1个物品; 第二层概率20%,第三层30% 。。。。。

      最关键是一个公式:  random(1,100) <= level*10  

      下面是代码示例。代码想的还有不同类物品的事宜。看注释~

    package com.randomGame;
    
    import java.util.Random;
    
    /**
     * 从低到高,1-->10层挑战塔。战斗胜利后,有低中高三种战利品。 
     * 挑战塔层数越高,越容易获取高级物品。
     * 3层以上才有中级物品,6层以上才有高级物品
     * 最多的情况是2个低级,1个中级,1个高级,最少有且只有一个低级物品。
     * 
     * random(1,100) <= level*10  层数越大,越容易取得物品
     * @date   2016年9月21日
     *
     */
    public class Game {
    
        public static void main(String[] args) throws InterruptedException {
            for(int i=1; i<=10; i++){
                String logText = "";
                //低级,根据层数,最少1个低级物品。最多2个            
                int result = new Random(System.currentTimeMillis()).nextInt(100);
                int lowCount = 1;
                if(result<=11*i){
                    lowCount++;
                }
                logText += "低级 概率"+11*i+">="+result;
                //Thread.sleep(10);
                //3层以后才有中级
                result = new Random(System.currentTimeMillis()).nextInt(200);
                int middleCount = 0;
                if(i>=3 && result<=11*i){
                    middleCount++;
                }
                logText += "	中级 概率"+11*i+">="+result+"	";            
                //Thread.sleep(10);            
                //6层以后才有高级
                result = new Random(System.currentTimeMillis()).nextInt(300);
                int highCount = 0;
                if(i>=6 && result<=11*i){
                    highCount++;
                }
                logText += "高级 概率"+11*i+">="+result;            
                //System.out.println(logText);
                System.out.println(String.format("挑战第%s层, 低级物品获得%s个,中级物品获得%s个,高级物品获得%s个。
    ", 
                        i,lowCount, middleCount, highCount));
            }
        }
    
    }
  • 相关阅读:
    C语言编程如何实现输出一个回型递增的N阶矩阵(螺旋矩阵)
    cookie测试要点
    一个网页怎么开展测试
    web和app区别
    app功能测试
    复习Linux笔记
    学习python
    微信小程序测试流程
    Redis
    记录
  • 原文地址:https://www.cnblogs.com/ELMND/p/5892471.html
Copyright © 2011-2022 走看看