「java捕鱼设计」捕鱼达人java

博主:adminadmin 2022-11-30 10:29:06 57

今天给各位分享java捕鱼设计的知识,其中也会对捕鱼达人java进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

【技术贴】《捕鱼》游戏分值设置自动化设计-EXECL规则篇

个人观点,难免错漏百出,欢迎大家留言斧正——我是一条咸鱼

深海狂鲨

数值设计准则

1. 概率游戏,遵循“自然概率>人工干预”原则,更能激发博弈类游戏的趣味性

2. 系统自动调节,设计者必须保证各种状态下回收率、命中率的可控性

3. 数值设计与功能需求一致,但不具备普适性,具体项目需具体分析

捕鱼公式演化

1. 标准公式:捕获概率 = 鱼炮分值 * (1 - 抽水率) / 鱼分值

捕获概率越高,鱼越好打,系统放分;反之鱼越难打,系统吃分

玩家捕鱼时,使用的鱼炮分值越大,捕获概率越高

抽水率即游戏平台的收入来源,抽水率越大,捕获概率越低

鱼分值越高的目标(大鱼),捕获概率越低

2. 吃分放分期望流程

现出分:衡量系统输赢程度的系统参数

友好度:玩家捕鱼的难易程度,越容易捕鱼,友好度越高,反之越低

注释:“现出分”“友好度”,先了解概念,后文会详细说明计算方法

吃分放分流程图

3. 优化公式:捕获概率 = ( 1 - 抽水率万分比 / 10000)* ( 基础捕获概率万分比 + 鱼炮分值 / 捕鱼房底注 / 5 ) * 1.1^(黑白用户万分比/100 + 友好度万分比 /100)

2.1( 1 - 抽水率万分比/ 10000)

为后续Python验证数据的便利性,所有百分比概率或浮点数,转换为万分比

效用等同于标准公式的(1 - 抽水率)

2.2 基础捕获概率万分比 + 鱼炮分值/捕鱼房底注/5

基础捕获概率万分比= (1/鱼分值)*10000 + 基础修正值

鱼分值为命中目标的返奖倍率,例如鱼炮x分,成功命中某鱼分值y,则奖励 x*y分(1/鱼分值即为目标鱼种的基础捕获概率)

基础修正值:手动修正基础捕获概率的参数

基础捕获概率万分比

鱼炮分值/捕鱼房底注/5:玩家使用的鱼炮分值越大,成功捕获的概率越高

鱼炮分值:发射一枚鱼炮的分值(鱼炮分值 = 鱼炮默认分值*捕鱼房底注)

鱼炮种类及返奖分值

捕鱼房底注:

捕鱼房场次

2.3 1.1^(黑白用户万分比/100 + 友好度万分比 /100)

指数形状的作用:能达成xx%~xxx%的浮动效果

指数效果示例

黑白用户万分比:给玩家定性(白名单、正常、黑名单),白名单捕鱼较为容易,黑名单捕鱼更困难

友好度万分比:现出分影响友好度和抽水率

黑与白

黑白名单控制规则

1. 当前返奖率决定玩家在黑白名单中的位置

当前返奖率 ≥ 1.5时,黑白用户万分比的值 == -500

当前返奖率 ≤ 0.5时,黑白用户万分比的值 == 500

0.5当前返奖率1.5时,黑白用户万分比的值 == 0

黑白正常名单

2. 当前返奖率 = 玩家累计赢分 / 玩家累计输分

当前返奖率:每30分钟重算1次;核算当日0点至当前时间的数值

玩家累计赢分:单个玩家累计赢分总和

玩家累计输分:单个玩家累计输分总和

友好度

现出分规则

1. 现出分影响友好度万分比、抽水率万分比

现出分 > 800000时,系统大赚:友好度万分比 == 400,抽水率万分比 == 300

400000 ≤ 现出分 ≤ 800000,系统中赚:友好度万分比 == 200,抽水率万分比 == 400

0 ≤ 现出分 <400000,系统小赚:友好度万分比 == 100,抽水率万分比 == 500

-400000 < 现出分 <0,系统小亏:友好度万分比 == -100,抽水率万分比 == 500

-800000 ≤ 现出分 ≤ -400000,系统中亏:友好度万分比 == -300,抽水率万分比 == 700

-800000 < 现出分,系统大亏:友好度万分比 == -600,抽水率万分比 == 900

现出分

2. 现出分 = 系统累计吃分 - 系统累计出分 + 系统默认现出分

现出分:每30分钟重算1次;核算当日0点至当前时间的数值

系统累计吃分:所有玩家输分总和,扣除抽水的分值

系统累计出分:所有玩家赢分总和

大鱼

大鱼控制逻辑

1. 高倍返奖的鱼种,需控制出现频率,制造稀缺性(定义大鱼:id={31,32,33,34,35,36,37,40}的鱼种)

2. 大鱼出现权重 = 基础权重 + 动态权重(同一渔场,所有玩家每捕获m只非大鱼,动态权重增加n)

m = 同一渔场所有玩家捕获非大鱼的累计数量

当 m == 设定界线时,动态权重 + n,并重置 m 的值为0

3. 每成功刷出一条大鱼,重置动态权重的值为0

4. 每间隔指定时间 t,判定一次大鱼是否出现

5. 任何一条游出屏幕的大鱼,都自动销毁

未完待续

开发一款捕鱼类型游戏需要用到什么编程语言?

一般用到的是C++,其他编程语言也可以做,只要能实现就行。

如果有基础,可以尝试下,应该多研究几天,就可以,但是其他环节,像是界面设计、动效添加,软件测试等,如果只会编程,这些是远远不够的。所以还不如找专业公司,摩天游科技那样的来做,省心不少。

捕鱼的JAVA问题,大师们指导指导呗。。。

最少合伙捕到3906条鱼

A醒来发现鱼数是3906

B醒来发现鱼数是781

C醒来发现鱼数是156

D醒来发现鱼数是31

E醒来发现鱼数是6

/**

 * 计算捕鱼

 */

public class Fish {

    public String[] piscators = { "A", "B", "C", "D", "E"};

    public static void main(String[] args) {

        Fish fish = new Fish();

        for (int i = 0; i  10000; i++) {

            if (fish.averageFish(fish.piscators.length, i)) {

                fish.averageFish(i);

                break;

            }

        }

    }

    /**

     * 判断平均分鱼

     * @param piscatorSize 

     * @param fishNum

     * @return

     */

    public boolean averageFish(int piscatorSize, int fishNum) {

        boolean isAaverage = (fishNum - 1) % piscators.length == 0;

        //最后一个人也分成五分 所以piscatorSize  0 多分一次。

        if (isAaverage  piscatorSize  0) {

            return averageFish(piscatorSize - 1, (fishNum - 1) / piscators.length);

        }

        return isAaverage;

    }

    

    /**

     * 输出分鱼过程

     * @param fishNum

     */

    public void averageFish(int fishNum) {

        System.out.println("最少合伙捕到"+ fishNum + "条鱼");

        for (int i = 0; i  piscators.length; i++) {

            System.out.println(piscators[i] + "醒来发现鱼数是" + fishNum);

            fishNum = (fishNum - 1) / piscators.length;

        }

    }

}

java捕鱼设计的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于捕鱼达人java、java捕鱼设计的信息别忘了在本站进行查找喔。

The End

发布于:2022-11-30,除非注明,否则均为首码项目网原创文章,转载请注明出处。