私はpowershellに "connect four"を構築しようとしています。コンソールコマンドでGUIなしで使用できます。"ひずんだ"配列出力を扱う方法
私は、ゲームフィールドを配列の出力を介して初期化するコードを書いています。しかし、配列の改行要素の後に、非常に最初の行の後に、出力が少し左に移動します:
はは、私はそれを使用しているコードは、エラーを生成します。
$initializegamefield = @()
$savedgamefield = @()
for ($i = 0; $i -lt 48; $i++) {
if (($i -eq 7) -or ($i -eq 15) -or ($i -eq 23) -or ($i -eq 31) -or ($i -eq 39) -or ($i -eq 47)) {
$initializegamefield += "`n"
Write-Host "$($initializegamefield)"
$savedgamefield += $initializegamefield
$initializegamefield = @()
} else {
$initializegamefield += "A"
}
}
#Write-Host "$($initializegamefield)"
Write-Host "$($savedgamefield)"
ここでは、基本的にテストのためにゲームフィールドを2回初期化しました。
初めて初期化するときは、ONE ROW newline要素を含めて配列$initializegamefield
を出力して出力します。
その後$initializegamefield
が空になります(構造体を参照)。
また、空になる前に$savedgamefield
に保存されます。
ゲームフィールドのフォーマットは、私が$initializegamefield
で行う方法では大丈夫ですが、$savedgamefield
で行うのはもう大丈夫ではありません。
$savedgamefield
のこの歪みを避けるにはどうすればよいですか?
は^^私は $ initializegamefield + =「N」 ' をカットしなければならないことを を意味しますか? しかし、この場合、改行はありません。 私はちょうど完全な水平出力を得るでしょう。 – Narktor
申し訳ありませんが、私は混乱していて、コメントは間違っていたので削除しました。[Ansgar Wiechers](https://stackoverflow.com/users/1630171/ansgar-wiechers)の回答を参照してください。 – iRon