2015-10-06 34 views
0

因此,標題中提到有什麼方法可以從預定義集合中提取數學問題並將其輸出給用戶?從預定義集合生成隨機數學運算

我正在做這個遊戲。我們已經生成了0-9,+和 - 符號的精靈。

有無論如何產生一個數學問題和他們的精靈附加到一個gameObject?然後將答案顯示爲選項?謝謝!

我能想到的最初是將值分配給每個精靈的gameObject,然後將其傳遞給代碼將解決它的字符串。

回答

0

我會盡量避免字符串。首先生成等式的組成部分,如5,+4。從這些工作出來的答案9。然後生成精靈並顯示。這比使用需要解析的字符串更容易。如果需要,可以使用樹結構構建更復雜的等式。

+0

嗯,我明白你的意思,我不實例化精靈因爲我們打算製作的遊戲是兒童遊戲,所以我們不需要複雜的樹結構。順便說一下,這是一個學校項目,而不是專業的工作。 – Mandirigma

+0

你將如何存儲'+' – maksymiuk

+0

你可以只使用一個char''+''。你可以有常數'PLUS 1,MINUS 2,TIMES 3,DIVIDE 4'並使用一個整數。你可以使用枚舉或對象。 –

1

一個簡單的方法來做到這一點是把你的精靈在Dictionary

Dictionary<char,GameObject> characters; 
... 
characters.Add('+', plusSignSprite); 
... 

然後你就可以用字符串

int i=0; 
myString = "5-2=3"; // or take is from an array of strings 

foreach(char c in myString.ToCharArray()){ 
    Instantiate(characters[c], new Vector3(i,0,0), Quaternion.identity); 
    i+=characterWidth; 
} 
+0

我做到了這一點:我在正確的軌道上嗎?我製作了由我們的設計師製作的精靈預製件。我能否將它們分配給代碼中的一個值,我可以用它來求解方程式? Dictionary characters = new Dictionary (); GameObject plusSignSprite = null; characters.Add('+',plusSignSprite); – Mandirigma

+0

我忘記了如何正確評論代碼,對不起:/ – Mandirigma

+0

你可以爲你的精靈做'characters.Add('+',Resources.Load (「plusSignSprite」));'..等等。確保將預製件放在資源文件夾中。 – Pluto