WPFでドラッグアンドドロップ機能を備えた絵パズルゲームを作っています。画像がアップロードされると、画像は 9 個に分割され、各ビットマップが System.Drawing.Images のコレクション (collection1) に追加されます。並べ替えた時のイメージが合っているか比較するのはこのコレクションです。次に、各ビットマップをグリッド上の位置にランダムに割り当て、System.Drawing.Images の別のコレクション (collection2) に配置します。
グリッドに画像をドラッグ アンド ドロップすると、コレクション内の画像の位置が変わります2。グリッド上で画像を移動した後、各コレクション内の画像の位置 (インデックス) が一致するかどうかをチェック (検証) します。もしそうなら、写真は再配置されています。うまくいけば、私はそれを正しく説明しました。
私の問題は、画像が完成するように画像が配置されている場合でも、メソッドが常に false を返すことです。
さらにコードを提供したり、より適切に説明したりする必要がある場合は、お知らせください。分かりやすく説明したいのですが頭がおかしいです
public bool Validate(ObservableCollection<System.Drawing.Image> itemPlacement)
{
ObservableCollection<System.Drawing.Image> placement = itemPlacement;
foreach (System.Drawing.Image item in placement)
{
if ((placement.IndexOf(item) != puzzlePiece.IndexOf(item) || placement.IndexOf(item) < 0))
{
return false;
}
}
return true;
}