クラスの枠組みを作る ( No.21 )
日時: 2022/03/27 12:23
名前: REDCHEEKS

クラスを定義するには、本当はキーボードから、

class 〜

と打ち込んでいかなければならないんだけど、Microsoft Visual Studio 2019 という開発環境は、これをある程度自動で作ってくれるから、これまたベンリーなんだな。

枠組みだけだけど、マウス操作で、簡単にできちゃうんだ。

まず、NakigotoOshikari というクラスを作ってみよう。

http://mediasp.kir.jp/img20220326/imgloglog-box/img20210913234454.png

@「課題01」プロジェクトを右クリックし、
A「追加(D)」を選択し、
B「クラス(C)...」を選択し、
C「クラス」が選択されていることを確認し、
D 名前(N):に「NakigotoOshikari.cs」を入力する。
E「追加(A)」ボタンをクリックする。

同様に、Loading というクラスを作ってみよう。

上の@〜E手順は同じだが、Dで入力する名前が異なる「Loading.cs」


とりあえず、現時点では枠組みだけで、中身は空っぽだが、これから作成して行くクラスの概略を説明しよう。

*******************
NakigotoOshikari クラス
*******************

「泣き言」とそれに対応した「お叱り」を、ペアで格納する。
システムとしては「泣き言」と「お叱り」をそれぞれ別個に管理することも可能だが、それだと一つでもずれたりするとトラブルになる。ペアで格納するのが一番安全。
その1組分のペアを実現するのがこのクラス。

初期設定として、「泣き言」と「お叱り」を格納する。この時「泣き言」を正規表現オブジェクトに変換し、曖昧なマッチング処理が高速に行えるよう準備する。

さらに人間が吐いた泣き言と、クラスに格納されている「泣き言」が、マッチングするかの判定を行う関数が、IsMatch()である。


************
Loading クラス
************

ゲーム等でデータを読み込むときに「Loading...」と出てくる、まさしくその機能。
読み込んだデータをもとに、NakigotoOshikari クラスを大量に生成する。
今は2件しかデータはないが、データが何万件にも増えれば、人間が吐いた泣き言に対するありとあらゆるお叱りが検索可能となり、ぐっとくるお叱りもいっぱい出てくるだろう、キーは泣いて喜ぶんじゃないかな?

※ 現時点では、データをプログラムに直接書いているが、将来的には、ファイルから読み込むようにする予定。