我只是編程世界的初學者,因此我有一個簡單的問題。是否可以隨機執行函數?如果是這樣,你會怎麼做?這只是一個基於我在另一個論壇上閱讀的主題的好奇心。基本上,討論的是如何爲遊戲生成隨機事件,並且他們評論了某些語言(特別是AS3)中使用的「黑客」。黑客將把函數當作變量來處理。例如:C#中的隨機事件系統。怎麼做?
//Make an array of the functions
public function makeEarthquake():void{}
public function causePlague():void{}
public function spaceZombieAttack():void{}
//select at random
var selection:uint = Math.random() * eventArrray.length;
//Call it
eventArray[selection]();
我希望這很清楚。我會很高興能解釋如何隨機調用方法的任何答案。謝謝。
編輯:謝謝你們,所有的答案是有幫助的!
Techically,你_could_有代表的有幾種方法引用的列表,隨機選擇從列表中的項目並調用委託(又名執行方法)。所以是的,理論上這是可能的,但在實踐中,這聽起來非常危險...... – PoweredByOrange
你可以有'列表'並且使用與你的問題相同的邏輯。 –
在C#中它不是一個破解..只需創建一個代表列表(你當然需要所有事件的相同簽名)並從隨機索引中挑選 –