遊戲設計中的演算法題 計算寶物公升級所需的資源數

2021-09-06 21:50:10 字數 3835 閱讀 1483

當今社會,智慧型手機的飛速發展。使得可以做到人手一部智慧型手機。而各種應用層出不窮。

手遊(手機遊戲)的出現,滿足了人們對打發碎片時間的需求。

而在遊戲中,寶物公升級是最常見的劇情元素之一。而優秀的遊戲設計師,在設計寶物公升級系統時,要難易適中,要能把使用者黏合在自己的遊戲中,既不能太難,也不能太簡單。那麼如何設計寶物公升級中的各項引數就是重中之重。

本文重點介紹,給定寶物的設計系統的各項引數,計算寶物公升級所需的資源數。

問題:

某寶物初始是0級,現在要公升級

從0級公升到1級,所需的資源數為1,成功概率為90%,成功公升1級,失敗還是0級;

從1級公升到2級,所需的資源數為2,成功概率為80%,成功公升1級,失敗降1級,降為0級;

從2級公升到3級,所需的資源數為3,成功概率為70%,成功公升1級,失敗降1級,降為1級;

從3級公升到4級,所需的資源數為4,成功概率為60%,成功公升1級,失敗降1級,降為2級;

從4級公升到5級,所需的資源數為5,成功概率為50%,成功公升1級,失敗降1級,降為3級;

問:某寶物從0級公升級到5級,所需要的資源數平均是多少?

定義乙個函式f(n,m),m≥n。表示該寶物從n級公升級到m級所需的平均資源數。本題中就是計算f(0,5)

很明顯f(n,n)=0;即f(0,0)=0,f(1,1)=0

f(n,m)=f(n,k)+f(k,m),n≤k≤m,f(0,4)=f(0,2)+f(2,4),即f(2,4)=f(0,4)-f(0,2)

用簡便表示函式f(n),即f(n)=f(0,n),那麼本題就是計算f(5)

定義pn,為從n-1級公升到n級的成功的概率

本題中,p1=0.9,p2=0.8,p3=0.7,p4=0.6,p5=0.5

定義ln,為從n-1級公升到n級所需的資源數

本題中,n1=1,n2=2,n3=3,n4=4,n5=5

言歸正傳,下面分析如何計算f(n)

先分析f(1)

從0級公升到1級,所需的資源數為l1。其中(1-p1)的會失敗,還是停留在0級,這些還是需要從0級公升到1級。那麼,就有個分析公式

f(1)=l1+(1-p1)×f(1)

f(1)=l1÷p1=1÷0.9=1.111

再分析f(2)

從1級公升到2級,所需的資源數為l2。其中(1-p2)的會失敗,降級到0級,這些還是需要從0級公升到2級。那麼,就有個分析公式

f(2)=f(1)+l2+(1-p2)×f(2)

f(2)=(f(1)+l2)÷p2=(1.111+2)÷0.8=3.889

再分析f(3)

從2級公升到3級,所需的資源數為l3。其中(1-p3)的會失敗,降級到1級,這些還是需要從1級公升到3級。那麼,就有個分析公式

f(3)=f(2)+l3+(1-p3)×f(1,3)

f(3)=f(2)+l3+(1-p3)×(f(3)-f(1))

f(3)=(f(2)+l3-(1-p3)×f(1))÷p3

f(3)=(3.889+3-(1-0.7)×1.111)÷0.7=9.365

再分析f(4)

從3級公升到4級,所需的資源數為l4。其中(1-p4)的會失敗,降級到2級,這些還是需要從2級公升到4級。那麼,就有個分析公式

f(4)=f(3)+l4+(1-p4)×f(2,4)

f(4)=f(3)+l4+(1-p4)×(f(4)-f(2))

f(4)=(f(3)+l4-(1-p4)×f(2))÷p4

f(4)=(9.365+4-(1-0.6)×3.889)÷0.6=19.682

再分析f(5)

從4級公升到5級,所需的資源數為l5。其中(1-p5)的會失敗,降級到3級,這些還是需要從3級公升到5級。那麼,就有個分析公式

f(5)=f(4)+l5+(1-p5)×f(3,5)

f(5)=f(4)+l5+(1-p5)×(f(5)-f(3))

f(5)=(f(4)+l5-(1-p5)×f(3))÷p5

f(5)=(19.682+5-(1-0.5)×9.365)÷0.5=39.999

結論是

從0級公升到1級,平均所需的資源數為p(1)=1.111

從0級公升到2級,平均所需的資源數為p(2)=3.889

從0級公升到3級,平均所需的資源數為p(3)=9.365

從0級公升到4級,平均所需的資源數為p(4)=19.682

從0級公升到5級,平均所需的資源數為p(5)=39.999

下面是通過計算機模擬寶物公升級的過程,並做了統計,再求平均數。一共做了五組,每組1000000次。

理論值第1組

第2組第3組

第4組第5組

p(1)

1.111

1.111

1.111

1.111

1.111

1.111

p(2)

3.889

3.889

3.890

3.890

3.889

3.889

p(3)

9.365

9.367

9.365

9.368

9.363

9.364

p(4)

19.682

19.685

19.690

19.692

19.681

19.682

p(5)

39.999

40.000

40.002

40.001

39.996

39.988

從上表的資料來看,理論值和實際統計值差別不大了。說明我們分析的理論值是合理的。

綜述:

f(1)=l1÷p1

f(n)=(f(n-1)+ln-(1-pn)×f(n-2))÷pn,當n≥2時。

再給一題:

某寶物初始是0級,現在要公升級

從0級公升到1級,所需的資源數為1,成功概率為100%,成功公升1級;

從1級公升到2級,所需的資源數為2,成功概率為85%,成功公升1級,失敗不降級;

從2級公升到3級,所需的資源數為3,成功概率為75%,成功公升1級,失敗不降級;

從3級公升到4級,所需的資源數為4,成功概率為65%,成功公升1級,失敗不降級;

從4級公升到5級,所需的資源數為5,成功概率為55%,成功公升1級,失敗降1級,降為3級;

從5級公升到6級,所需的資源數為6,成功概率為45%,成功公升1級,失敗降1級,降為4級;

從6級公升到7級,所需的資源數為7,成功概率為35%,成功公升1級,失敗降1級,降為5級;

從7級公升到8級,所需的資源數為8,成功概率為25%,成功公升1級,失敗降1級,降為6級;

從8級公升到9級,所需的資源數為9,成功概率為20%,成功公升1級,失敗降1級,降為7級;

從9級公升到10級,所需的資源數為10,成功概率為15%,成功公升1級,失敗降1級,降為8級;

問:某寶物從0級公升級到10級,所需要的資源數平均是多少?

你的答案是多少?我的答案是7763.564285

遊戲設計中的演算法題 計算寶物公升級所需的資源數

當今社會,智慧型手機的飛速發展。使得可以做到人手一部智慧型手機。而各種應用層出不窮。手遊 手機遊戲 的出現,滿足了人們對打發碎片時間的需求。而在遊戲中,寶物公升級是最常見的劇情元素之一。而優秀的遊戲設計師,在設計寶物公升級系統時,要難易適中,要能把使用者黏合在自己的遊戲中,既不能太難,也不能太簡單。...

數值計算 設計演算法的若干原則

當x充分大時 對於小的正數 sin x sinx 2cos x 2 sin 2 注 sin x sin y 2 cos x y 2 sin x y 2 在五位浮點十進位制計算機上,計算 y 54321 0.4 0.3 0.4 如果按從左到右的順序進行加法運算,後三個數都在對階過程中被當作零,得出含有...

遊戲開發中的概念設計

上次錄完 日式美學小記 之後,小路邀請到了一位做遊戲設計和開發的朋友品,這次就請他來聊一聊概念設計和遊戲開發。不怕大家笑話,我是乙個寫字 因為這個被老師從小學罵到大學 和畫畫 學到素描就徹底放棄 都特別差的人,一直以來都特別羨慕會畫畫的人。看了下品在微博發的圖,感覺到了深深的羨慕和嫉妒,同樣是手,我...