2017-07-14 14 views
-1

私はAHKのスキルを向上させようとしていますが、さまざまな方法でさまざまな概念を使用するランダムで愚かなプログラムを作っています。今、私は蒸気ゲームであるRustのコードを壊すプログラムを作っています。私のコードは以下の通りですが、コードを正しく入力していないようです。コードの大部分はenterCode()の範囲内にありますので、それぞれMouseClickという文を100万回書く必要はなく、20回と言います。問題はif (codeArray[%A_Index%] = x)が正しく動作していないようです。関数のパラメーターを配列に正しく渡していませんか?それは最初のセクションを正しく実行し、その後は何もしないので、私が見ることができるエラーはありません。私の唯一の推測は、何も配列に入れられていないということですが、私は他の多くのサンプルプログラムを見てきました。 (また、私のコードの最後の2行は、残りの部分と合併されていませんが、同じプログラムの両方である。)配列から項目を取得できませんか? [AHK]

enterCode(number1, number2, number3, number4) 
{ 
codeArray=:[] ;define the array, with nothing in it 
codeArray[1]:=number1 ;enumerate passed parameters into array for loop 
codeArray[2]:=number2 
codeArray[3]:=number3 
codeArray[4]:=number4 

sleep 100 
send {e down} ;open door context menu 
sleep 200 
MouseClick, left, 942, 536 ;click to open code interface 
sleep 500 
send {e up} 
sleep 200 

loop, 4 
{  
    if (codeArray[%A_Index%] = 0) 
    { 
     MouseClick, left, 1217, 668 
     continue 
    } 

    if (codeArray[%A_Index%] = 1) 
    { 
     MouseClick, left, 1217, 668 
     continue 
    } 

    if (codeArray[%A_Index%] = 2) 
    { 
     MouseClick, left, 1217, 668 
     continue 
    } 

    if (codeArray[%A_Index%] = 3) 
    { 
     MouseClick, left, 1217, 668 
     continue 
    } 

    if (codeArray[%A_Index%] = 4) 
    { 
     MouseClick, left, 1217, 668 
     continue 
    } 

    if (codeArray[%A_Index%] = 5) 
    { 
     MouseClick, left, 1217, 668 
     continue 
    } 

    if (codeArray[%A_Index%] = 6) 
    { 
     MouseClick, left, 1217, 668 
     continue 
    } 

    if (codeArray[%A_Index%] = 7) 
    { 
     MouseClick, left, 1217, 668 
     continue 
    } 

    if (codeArray[%A_Index%] = 8) 
    { 
     MouseClick, left, 1217, 668 
     continue 
    } 

    if (codeArray[%A_Index%] = 9) 
    { 
     MouseClick, left, 1217, 668 
     continue 
    }                  
} 

}

F3:: 
enterCode(1,2,3,4) 

答えて

1

変更この:

codeArray=:[] ;define the array, with nothing in it 
これに

codeArray := [] 
+0

空白を追加すると、修正する理由私は好奇心が強いです 問題。 –

+0

それはしません。 typo '=:'を ':='に変更すると、それが修正されます。空白は代入演算子を区別するのに役立ちます –

関連する問題