私の年末プロジェクトでは、画像処理と人工知能アプリケーションを開発する必要があります。無関係なオブジェクトの中で配列が変更される
私の画像処理はすでに完了していますので、私はAIに移動します。しかし、私はここに問題があります。
ここでは、状況を説明しようとします。
正しい画像処理のためには、チェッカーのルールによってボードを検証できるAIが必要です。だから私は最後の既知の状態でプレイフィールドの現在の状態を確認する必要があります。
このため、私はcurrentBoard
2次元配列のオブジェクトを作成しました。 currentBoard
(=最後に知られている状態)でボードの生の入力を検証する方法です。
しかし、別のオブジェクト、私の画像処理オブジェクトが、彼の方法で終了したとき。 AIオブジェクトの配列currentBoard
が変更されます。
これは、メインフォーム内で作成した新しい配列でも同じです。私はこれがヒープ/スタックの原因だと思う。
私は自分の問題をはっきりと理解してくれることを願っています。私は状況を説明するのが最善ではないことを知っているので、あなたが完全に部品を理解していないときに教えてください。
?おそらくあなたはあなたの 'currentBoard'の深いコピーを作る必要がありますか? –
あなたが実装したいのは、不変オブジェクトと防御的なコピーです。 – DarthVader
@DarthVaderオブジェクトの "currentBoard"を更新する必要があるので、私は変更可能なオブジェクトが必要だと思うか、ここで間違っていますか?そして、あなたは防衛的なコピーを説明することができます、私は言葉を理解していないとグーグルは本当に多くを説明しませんでした。 – Mathieu