次の ASCII アート画像を見つけるアルゴリズムはありますか?
+
+
+++
+++++++
++ ++
++ + ++
++ +++ ++
++ + ++
++ ++
+++++++
+++
次の本文の中にありますか?
+ + + ++ + +++ + +
+ ++ + + ++++ + + + + + + +++ +++ +
+ + + ++ ++ ++ + ++ + + + + +
+ ++ + ++ + + + ++ ++ + +
++++++ + + + ++ + + + + ++ + + +
+ + + + + ++ + ++ + + + +
+++ + ++ + + + +++ + + ++ +
+++++ + + + + + + + +
+ + + + + + + + + + + +
++ + + + ++ + + + ++
完全な形状に対応する ASCII アート イメージを黄色で強調表示する必要があります。添付の写真を参照してください。
大まかな形状を含むファイルを検索する必要がありますが、完全ではなく、いくつか+
が欠落している可能性があります)。+
形状の欠落の許容範囲は手動で設定する必要があります。
これで、データ配列 [100][100] と SlimeTorpedo 配列 [13][11] の 2 つの 2D 配列があります。
@kjartan が述べたように検出を行う方法のコード (3-4 箇条書き):
int match = 0;
for (int i = 0; i < 100; i++) {
for (int j = 0; j < 100; j++) {
//Compare DataArr[i][j] with SlimeTorpedoArr[i][j]
//Look for "checked" position in the picture ("+"),
//which corresponds to a checked position in the
//slime torpedo array.
//match++;
}
}
この問題にアプローチするための一般的なガイダンスは何ですか?