2016-11-29 87 views
0

我正在研究需要隨機方向的遊戲;無論是左,右,上,還是下。取決於某些變量,選擇任何特定方向的機會會發生變化。我首先想到的是使一個對象與所述不同類型的方向的機會:調用對象中的對象

  • 類型L:左70%,10%右,10%時,10%的下降
  • R型:10%左, D型:10%左右,10%左右,10%左右,10%左右,10%左右下降
  • D型: 70%下降

我首先想到的是做一個對象,所有的方向類型和每種類型是一個對象。

var directions = { 
      L: {Left: 70, Right: 10, Up: 10, Down: 10}, 
      R: {Left: 10, Right: 70, Up: 10, Down: 10}, 
      U: {Left: 10, Right: 10, Up: 70, Down: 10}, 
      D: {Left: 10, Right: 10, Up: 10, Down: 70}}; 

其中每個數字是調用該方向的機會。我試圖打電話給L型機會,剩下的使用:

console.log(directions.L.Left); 

但它沒有奏效。如果有更好的方式去做這件事,或者有任何幫助,請告訴我。謝謝。

+4

你是不是指'directions.L.Le ft'與'directions.L.left'? – Wondercricket

+1

使它成爲''L' – Mahi

回答

2

JavaScript區分大小寫。您的代碼將用正確的外殼已經工作

console.log(directions.L.Left); // note L in Left 

實例下

var directions = { 
 
      L: {Left: 70, Right: 10, Up: 10, Down: 10}, 
 
      R: {Left: 10, Right: 70, Up: 10, Down: 10}, 
 
      U: {Left: 10, Right: 10, Up: 70, Down: 10}, 
 
      D: {Left: 10, Right: 10, Up: 10, Down: 70}}; 
 

 
console.log(directions.L.Left);

一句忠告 - 使用百分比小數(即0.7的70%) - 它當你不需要不斷地記住你是否將變量除以100時,會使你的代碼更加簡單。

+0

感謝您對百分比的建議,我意識到我在代碼中調用函數時拼錯了「方向」。 –