游戲開(kāi)發(fā)之隨機(jī)概率的選擇算法
實(shí)現(xiàn)代碼超簡(jiǎn)單,具體實(shí)現(xiàn)方法如下:
有時(shí)候當(dāng)我們的游戲人物遇敵時(shí),我們需我怪物隨機(jī)根據(jù)概率選擇處理方式,如下:
1、50%的機(jī)會(huì)友好的問(wèn)候
2、25%的幾率走開(kāi)
3、20%的機(jī)會(huì)立即攻擊
4、5%的機(jī)會(huì)提供金錢(qián)作為禮物
下面的這個(gè)算法就是跟據(jù)概率數(shù)組,返回選擇的概率索引號(hào)。
int Choose(float[] 概率數(shù)組)
{
float total=0;
//首先計(jì)算出概率的總值,用來(lái)計(jì)算隨機(jī)范圍
for(int i=0;i<概率數(shù)組.length;i++)
{
total+=概率數(shù)組[i];
}
Random rd = new Random();
float 隨機(jī)值=rd.Next(0,total);
for(int i=0;i<概率數(shù)組.length;i++)
{
if(隨機(jī)值<概率數(shù)組[i])
{
return i;
}
else
{
隨機(jī)值-=概率數(shù)組[i];
}
}
return 概率數(shù)組.length-1;
}
以上就是本文的全部?jī)?nèi)容,希望大家喜歡。
相關(guān)文章
C#學(xué)習(xí)筆記整理_變量等基礎(chǔ)語(yǔ)法(必看篇)
下面小編就為大家?guī)?lái)一篇C#學(xué)習(xí)筆記整理_變量等基礎(chǔ)語(yǔ)法(必看篇)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-09-09
Windows系統(tǒng)中使用C#讀取文本文件內(nèi)容的小示例
這篇文章主要介紹了Windows系統(tǒng)中使用C#讀取文本文件內(nèi)容的小示例,包括一次一行地讀取文本文件的方法,需要的朋友可以參考下2016-02-02
C#入門(mén)之checked和unchecked的區(qū)別實(shí)例解析
這篇文章主要介紹了C#中checked和unchecked的區(qū)別,是學(xué)習(xí)C#必須要牢固掌握的,需要的朋友可以參考下2014-08-08
C# Newtonsoft.Json 的使用說(shuō)明
這篇文章主要介紹了C# Newtonsoft.Json 的使用說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-01-01
c# 圓形識(shí)別方案和直線(xiàn)識(shí)別方案的參考示例
這篇文章主要介紹了c# 圓形識(shí)別方案和直線(xiàn)識(shí)別方案的實(shí)現(xiàn)示例,幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下2021-03-03

