我正在使用JavaScript和畫布創建一個基本的RPG遊戲引擎原型。我仍然在紙上制定一些設計規範,並且我遇到了一些問題,我不太清楚如何處理。用JavaScript創建基本公式編輯器
我將有一個Character對象,它具有一個Attribute對象數組。屬性將如下所示:
function(name, value){
this.name = name;
this.value = value;
...
}
一個角色也將具有根據屬性計算的「技能」。技能值也可以由用戶輸入的公式確定。合法公式看起來像這樣:
((@attribute1Name + (@attribute2Name/2) * 5)
其中@符號後面的任何文本都代表屬於該字符的屬性的名稱。公式將作爲字符串輸入到文本字段中。
我有一個問題是理解解析和評估這個公式的正確方法。最初,我的計劃是對屬性名稱進行簡單的替換,並對錶達式進行評估(如果無效,則評估失敗)。然而,這會帶來一個問題,因爲它會允許JavaScript注入該領域。我假設我需要某種類似於中介計算器的FSM來解決這個問題,但我對計算理論有些生疏(感謝企業界!)。我真的不是要求某人把我的代碼交給我,因爲我希望得到你對這個問題的最佳解決方案的意見嗎?
編輯:感謝您的答覆。不幸的是,生活讓我很忙,我還沒有嘗試過一種解決方案。當我得到一個結果(好或壞)時會更新。
感謝這個想法。這是一個選項。如果我在創建自由形式配方領域掛上鉤,這可能是一個可行的選擇,直到我可以得到一個更強大的解決方案。同樣有爭議的是,這對用戶來說更容易,因爲他們不必擔心公式語法。我必須嘗試兩種方法,看看我得到了什麼樣的反饋。謝謝! – framauro13 2010-07-16 15:36:29
試試這一分鐘,你會發現它太繁瑣和緩慢。 – 2010-07-19 07:04:44