游戲開發(fā)之隨機(jī)概率的選擇算法
實(shí)現(xiàn)代碼超簡單,具體實(shí)現(xiàn)方法如下:
有時(shí)候當(dāng)我們的游戲人物遇敵時(shí),我們需我怪物隨機(jī)根據(jù)概率選擇處理方式,如下:
1、50%的機(jī)會(huì)友好的問候
2、25%的幾率走開
3、20%的機(jī)會(huì)立即攻擊
4、5%的機(jī)會(huì)提供金錢作為禮物
下面的這個(gè)算法就是跟據(jù)概率數(shù)組,返回選擇的概率索引號(hào)。
int Choose(float[] 概率數(shù)組) { float total=0; //首先計(jì)算出概率的總值,用來計(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; }
以上就是本文的全部內(nèi)容,希望大家喜歡。
相關(guān)文章
利用Aspose.Word控件實(shí)現(xiàn)Word文檔的操作
偶然一次機(jī)會(huì),一個(gè)項(xiàng)目的報(bào)表功能指定需要導(dǎo)出為Word文檔,因此尋找了很多篇文章,不過多數(shù)介紹的比較簡單一點(diǎn),于是也參考了官方的幫助介紹,終于滿足了客戶的需求。下面我由淺入深來介紹這個(gè)控件在實(shí)際業(yè)務(wù)中的使用過程吧2013-05-05C#算法設(shè)計(jì)之關(guān)于1000瓶水的問題
這篇文章主要介紹了C#算法設(shè)計(jì)之關(guān)于1000瓶水的問題,是一個(gè)比較經(jīng)典的算法問題,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-01-01C#中的IEnumerable簡介及簡單實(shí)現(xiàn)實(shí)例
這篇文章主要介紹了C#中的IEnumerable簡介及簡單實(shí)現(xiàn)實(shí)例,本文講解了IEnumerable一些知識(shí)并給出了一個(gè)簡單的實(shí)現(xiàn),需要的朋友可以參考下2015-03-03同步調(diào)用和異步調(diào)用WebService
本文給大家介紹webservice同步調(diào)用和異步調(diào)用,同步調(diào)用就是一個(gè)同步操作會(huì)阻塞整個(gè)當(dāng)前的進(jìn)程,直到這個(gè)操作完成才能執(zhí)行下一段代碼,異步調(diào)用不會(huì)阻塞啟動(dòng)操作的調(diào)用線程,調(diào)用程序必須通過輪流檢測(cè),或者等待完成信號(hào)來發(fā)現(xiàn)調(diào)用的完成。小伙伴們跟著小編一起學(xué)習(xí)2015-09-09c# EPPlus秘籍之Excel實(shí)現(xiàn)圖表導(dǎo)出
這篇文章主要為大家介紹了c# EPPlus秘籍之Excel實(shí)現(xiàn)圖表導(dǎo)出示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12WCF基礎(chǔ)介紹并創(chuàng)建簡單應(yīng)用程序
這篇文章介紹了WCF基礎(chǔ)并創(chuàng)建簡單WCF應(yīng)用程序,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-01-01C# 使用 Castle 實(shí)現(xiàn) AOP及如何用 Autofac 集成 Castle
這篇文章主要介紹了C# 使用 Castle 實(shí)現(xiàn) AOP及如何用 Autofac 集成 Castle,幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下2021-02-02