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

當今社會,智能手機的飛速發展。使得能夠作到人手一部智能手機。而各類應用層出不窮。函數

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

 

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

 

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

 

問題:ci

某寶物初始是0級,如今要升級資源

從0級升到1級,所需的資源數爲1,成功機率爲90%,成功升1級,失敗仍是0級;table

從1級升到2級,所需的資源數爲2,成功機率爲80%,成功升1級,失敗降1級,降爲0級;統計

從2級升到3級,所需的資源數爲3,成功機率爲70%,成功升1級,失敗降1級,降爲1級;數據

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

從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

相關文章
相關標籤/搜索