2013-01-13 123 views
3

在我的遊戲中,我想要的是,玩家玩遊戲越多,隨機生成的敵人就越難,比如iOS上的遊戲「地下城突襲」。這裏的統計是,人應該有:根據遊戲狀態隨機生成敵人數據

  • HP
  • 攻擊
  • 時間:(時間越高,越慢是敵人)進攻之前,需要敵人秒
    • 該時間取決於攻擊量(如果敵人真的很強大,它必須是慢)
  • 得分:被敵人所給出的分數殺死

我認爲可以正確做的事情是確定敵人可以獲得的最低統計數據,然後根據遊戲狀態並使用算法對其進行相應計算,但我真的不知道怎麼做,甚至從哪裏開始。

+1

你可能是對的,這不是這個問題的地方,但有一個專門用於遊戲開發的StackExchange站點,它似乎可以處理更少的面向代碼的問題。你可以在這裏找到它:http://gamedev.stackexchange.com/ [順便說一句 - 你的英語其實很好,所以不要道歉。] – Arkaaito

回答

1

您可能希望能夠在特定範圍內生成隨機數。最簡單的情況是在最小值和最大值之間均勻地生成隨機數。隨着遊戲進行,您可以更改最小值和最大值以及統計數據。你的球員。

你能做到這一點,像這樣,

NSUInteger BoundedUniformRandomNumber(NSUInteger min, NSUInteger max) 
{ 
    NSUInteger range = max - min; 
    u_int32_t randomNumber = (u_int32_t)min + arc4random_uniform((u_int32_t)range); 
    return (NSUInteger)randomNumber; 
} 

注意arc4random_uniformstdlib所以請包括#import <stdlib.h>,也arc4random_uniform是半開的,這意味着它會返回最小值,但絕不返回最大值。因此,您在上述函數中生成的最大值實際上是max - 1

希望能讓你開始。

+0

哇謝謝你的回答!肯定我會試着從那開始的!我也想過製作多個類別,比如慢速敵人,坦克,強壯等,這樣我就可以相應地產生數字,並且增加遊戲的價值!那麼謝謝你,先生! – RaphBlanchet

+0

正如你所說,你使用的是Cocos2d,Ray Wenderlich的教程也可能有所幫助,特別是:http://www.raywenderlich.com/25736/how-to-make-a-simple-iphone-game-with-cocos2d-2 -x-教程 –