-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)
空白を追加すると、修正する理由私は好奇心が強いです 問題。 –
それはしません。 typo '=:'を ':='に変更すると、それが修正されます。空白は代入演算子を区別するのに役立ちます –