zoukankan      html  css  js  c++  java
  • 加权重概率算法

    void calcutteProbability() {
    int FenMu = 0;
    for (int i = 0; i < m_ShowLoadingList.Count; i++)
    {
    FenMu += m_ShowLoadingList[i].Weight;
    }
    result = new System.Random().Next(0,FenMu+1);
    for (int i = 0; i < m_ShowLoadingList.Count; i++)
    {

    // float flt = (m_ShowLoadingList[i].Weight / FenMu);
    // flt = float.Parse(Convert.ToDouble(flt).ToString("f2"));
    int seed = 0;
    for (int j = 0; j < i+1; j++) {
    seed += m_ShowLoadingList[j].Weight;
    if (seed >= result) {
    result = m_ShowLoadingList[i].Weight;
    break;
    }

    }

    if (seed >= result)
    break;
    }

    for (int k = 0; k < m_ShowLoadingList.Count; k++)
    {
    if (result == m_ShowLoadingList[k].Weight)
    {
    if (!probabilityDic.ContainsKey(result))
    {
    List<TDStruct.Loading> list = new List<TDStruct.Loading>();
    list.Add(m_ShowLoadingList[k]);
    probabilityDic.Add(result, list);
    }
    else
    {
    probabilityDic[result].Add(m_ShowLoadingList[k]);
    }
    }
    }

    }

    void MathRandomNum() {
    if (probabilityDic[result].Count > 1)
    {
    List<TDStruct.Loading> dataList = probabilityDic[result];
    int r = 0;
    r = UnityEngine.Random.Range(0, dataList.Count - 1);
    data = dataList[r];
    }
    else data = probabilityDic[result][0];

    }

  • 相关阅读:
    retain,copy,mutableCopy的区别
    xcode 添加mainWindow.xib
    ios 协议代理
    mysql基础
    mysql常用语句(转)
    mysql的13个使用技巧(转)
    mysql性能优化教程(转)
    mysql学习资源(转)
    find命令详解(转)
    vim基础操作(转)----附vim壁纸
  • 原文地址:https://www.cnblogs.com/DOGame/p/5650602.html
Copyright © 2011-2022 走看看