0

PowerShellスクリプトでエラーが発生します:

[System.Object []]にop_Additionという名前のメソッドが含まれていないため、メソッドの呼び出しに失敗しました。

「4列」のゲームをプログラミングしているので、ゲームに4列が含まれているかどうかを確認する必要があります。

これは、勝者をチェックする私のコードの一部です。

[script]
function winner{

        $spelbordd = @()
        $spelbordd += ,@($A10,$B10,$C10,$D10,$E10,$F10,$G10,$H10,$I10,$J10)  
        $spelbordd += ,@($A9,$B9,$C9,$D9,$E9,$F9,$G9,$H9,$I9,$J9) 
        $spelbordd += ,@($A8,$B8,$C8,$D8,$E8,$F8,$G8,$H8,$I8,$J8) 
        $spelbordd += ,@($A7,$B7,$C7,$D7,$E7,$F7,$G7,$H7,$I7,$J7) 
        $spelbordd += ,@($A6,$B6,$C6,$D6,$E6,$F6,$G6,$H6,$I6,$J6) 
        $spelbordd += ,@($A5,$B5,$C5,$D5,$E5,$F5,$G5,$H5,$I5,$J5) 
        $spelbordd += ,@($A4,$B4,$C4,$D4,$E4,$F4,$G4,$H4,$I4,$J4) 
        $spelbordd += ,@($A3,$B3,$C3,$D3,$E3,$F3,$G3,$H3,$I3,$J3) 
        $spelbordd += ,@($A2,$B2,$C2,$D2,$E2,$F2,$G2,$H2,$I2,$J2) 
        $spelbordd += ,@($A1,$B1,$C1,$D1,$E1,$F1,$G1,$H1,$I1,$J1)

        for([int]$i=0; $i -lt 9; $i++){
    if($i -le 5){
        for([int]$r=0; $r -lt 9; $r++){
            if($spelbordd[$i, $r] -and $spelbordd[$i+1, $r] -and $spelbordd[$i+2,$r] -and $spelbordd[$i+3]){
                $winner = $player
             }
         }
    }
    for([int]$r=0; $r -le 5; $r++){
        for([int]$j=0; $j -lt 9; $j++){
            if($spelbordd[$r,$j] -and $spelbordd[$r+1,$j] -and $spelbordd[$r+2,$j] -and $spelbordd[$r+3,$k]){
                $winner = $player
             }
         }
     }
}

$winner

なにが問題ですか?Googleで何時間も検索してきましたが、具体的な答えが見つかりません。

4

2 に答える 2

0

2 次元配列の要素にアクセスする方法を誤解していると思います。あなたが言う時:

$spelbordd[$i, $r]

$i と $r の要素を教えてください。これは 2 つの配列 (2 次元) を返します。行 $i と列 $r の要素にアクセスするには、次を使用します。

$spelbordd[$i][$r]
于 2013-01-15T23:47:09.873 に答える