RSS

 

RSS


プログラム



プログラム、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);
    }

出力結果はこのように。
×
10
11
12
13
OK
NG

ただし、もとテキストの半角がちゃんと2文字ペアで収まってるの前提。

実際には、複数行読んで、小分けされた文字列を解読して、2次元配列に収めて使っている。

以上

  • コメント (0)
  • トラックバック (0)
トラックバックURL :
http://www.iwai-masaka.jp/tb.cgi/56455