プログラム、C#。
ペンシルパズル的な盤面は「全角」と、ときに「半角2個」を使って表すとテキストでも表せる。閲覧時には、等幅フォント!!!
テキストなんで、メールに貼っても伝わる。
・―・―・―・―・―・―・―・
|□|〇|■|●| | | |
・―・―・―・―・―・―・―・
|1|2|3| | | | |
・―・―・―・―・―・―・―・
| | |←|↓| |?| |
・―・―・―・―・―・―・―・
| | |×| |10|11|11|
・―・―・―・―・―・―・―・
| | | | | | | |
・―・―・―・―・―・―・―・
|壱|弐|参| | | | |
・―・―・―・―・―・―・―・
| | | | | |OK|NG|
・―・―・―・―・―・―・―・
そんなやつを読み込む用のプログラムを作ったみた。
string text="・|-×12345678910111213壱弐参?OKNG";
// 正規表現で半角2文字をまず拾い、そうでなければ1文字を拾っている。
MatchCollection matches = Regex.Matches(text,"[ -~]{2}|.{1}");
var ss = matches.Cast<Match>().Select(m => m.Value);
foreach (string s in ss)
{
Debug.WriteLine(s);
}
出力結果はこのように。
・
|
-
×
1
2
3
4
5
6
7
8
9
10
11
12
13
壱
弐
参
?
OK
NG
ただし、もとテキストの半角がちゃんと2文字ペアで収まってるの前提。
実際には、複数行読んで、小分けされた文字列を解読して、2次元配列に収めて使っている。
以上