2020年02月13日

師匠のVB.NETどたばた塾~第6回

sisyo.gif
師匠T:さて。前回はちょっとしたミスで、予定が変わってしまったが、今回は改めてクラスについて説明していくことにするぞ。

deshi.gif
弟子D:師匠ももう年……いてっ。

sisyo.gif
余計なことは言わんでいい。ではさっそくはじめていくとするぞ!

【 クラスとは? 】

sisyo.gif
さて。まずはクラスとは何かについてじゃ。これについては、以前のJava道場で説明したが、改めて復習しておくとしようぞ。弟子よ、クラスとはなんぞや?

deshi.gif
あ、はい。オブジェクトというものの設計図のようなもので、それをもとにして作られたのがインスタンスですよね。ザクに例えるなら、ザクの設計図がクラスで、作られたザクがインスタンスと。

sisyo.gif
うむ、その通りじゃ。さらに、クラスに別の機能を付与して新しいクラスを作る『継承』ができるのも、クラスの特徴であったな。

deshi.gif
そうでしたっけ。

sisyo.gif
お主の記憶容量は、数十年前のPC並みしかないのか? こほん。では次の項目では、クラスの作り方、そしてインスタンスの作り方について説明していくぞ!

【 クラスの作り方、そしてインスタンスの作り方じゃ! 】

sisyo.gif
さて。VB.NETでは、クラスを作るにはちょっとした手間をかけなくてはならぬ。まずは、『プロジェクト』メニューから、『クラスの追加』を選ぶ。

deshi.gif
ふむふむ。

sisyo.gif
すると、次のウィンドウが開くので、クラス名を入力してOKを押す。これだけでOKじゃ。

vb0202-i01.png

deshi.gif
なるほど!

sisyo.gif
なお、この方法で作るだけではなく、モジュール内にコードを書いて作ることもできるぞ。その場合は次のように宣言部分を書く。

--------------------
Class クラス名
End Class
--------------------

deshi.gif
~の部分に動作などのコードを書くわけですね。もしかして、このクラスをどこからでも使えるようにしたい場合には、Classの前にPublicをつけるのですか?

sisyo.gif
おぉ、よくぞそれに気づいたのう。その通りじゃ。さすが我が弟子。

deshi.gif
俺だってバカなままじゃありませんよ!

sisyo.gif
ほほう。それでは、クラスのメソッドやセッター・ゲッターを作りたい時にはどうすればいいのか述べてみよ。

deshi.gif
え? えーと、えーと……。

sisyo.gif
メソッドを作りたい場合には、そのクラスにサブルーチンを作ってやればよいのだ。ゲッターを作りたいなら関数を作ってやればよい。セッターを作りたいなら、やはりサブルーチンを作ればよいぞ。

--------------------
Class Sisyo
   Sub Method()←メソッドになる
   ~
   End Sub

   Public Function Getter() As Integer←ゲッターになる
   ~
   End Function

   Public Sub Setter(p As Integer)←セッターになる
   ~
   End Sub
End Class
--------------------


sisyo.gif
なお注意点として、上の例のようにゲッター、セッターにする関数・サブルーチンを作るときにはPublicをつけること。さもないと、外から使うことができずに、ゲッター・セッターの役割をすることができなくなってしまうからの。

deshi.gif
はい。

sisyo.gif
そしてそれと同じようにメソッドも、外から使えるメソッドにする場合には、Publicをつけることを忘れずに。

deshi.gif
わかりました、師匠!

sisyo.gif
うむ。さて、コンストラクタを作る場合には、次のように宣言する。

--------------------
Public Sub New(~)
End Sub
--------------------

deshi.gif
Newという名のサブルーチンを、Publicをつけて作るわけですね。

sisyo.gif
その通りじゃ。さて、いよいよインスタンスを作る方法じゃが、まずは変数の宣言からじゃ。
といっても難しいことはない。ほれ、この通り。

-------------------------
Dim 変数名 As クラス名

例:
Dim s1 As Sisyo
-------------------------

sisyo.gif
どこからでも使えるパブリック変数にする場合には、DimをPublicに変えればよい。さて、そしてインスタンス化じゃ。

---------------------------
変数名 = New クラス名(~)

例:
s1 = new Sisyo()
---------------------------

deshi.gif
なるほど。Newをつけた上で変数に代入してやればいいんですね。

sisyo.gif
うむ、そのとおりじゃ。それほど難しくはなかろう。では次は継承についてやっていくとするぞ!

【 継承 】

sisyo.gif
さて、次は継承についてじゃ。Javaでは継承のさいには、extendsをつけて宣言しておったな。

deshi.gif
はい。

sisyo.gif
VB.NETも、それと似たようなものじゃ。このように、Class文の下にInheritsをつけて宣言する。

---------------------------
Class Deshi
   Inherits Sisyo
End Class
---------------------------

deshi.gif
なるほど。そういえば継承と聞いて、オーバーライドやオーバーロードのことを思い出したのですが、VB.NETでもそれらは可能なのでしょうか?

sisyo.gif
うむ。可能じゃぞ。まずはオーバーライドからじゃ。まず、オーバーライドするにあたっては、元となるクラス(これを基底クラスと呼ぶぞ)の該当するメソッド・関数をOverridableで宣言する必要がある。

---------------------------
Class ●●●
   Public Overridable Sub ▲▲▲←これでこのメソッドはオーバーライドできるようになる
   ~
   End Sub
End Class
---------------------------

sisyo.gif
このように宣言したメソッド・関数は、作られたクラス(これを派生クラスという)側で、Overridesをつけて宣言することで、オーバーライドすることができるようになる。

---------------------------
Class XXX
   Inherits ●●●

   Public Overrides Sub ▲▲▲←オーバーライドしたメソッド
   ~
   End Sub
End Class
---------------------------

deshi.gif
なるほど。基底クラスの内容を実行させるにはどうすれば?

sisyo.gif
うむ。その時は、MyBase.メソッド名を実行させればよい。なお、通常はOverridesをつけると、これが自動的に追加されるので、それほど意識する必要はないぞ。

---------------------------
Class XXX
   Inherits ●●●

   Public Overrides Sub ▲▲▲
      MyBase.▲▲▲()←基底クラスの▲▲▲メソッドの内容を実行する
      ~
   End Sub

End Class
---------------------------

sisyo.gif

さて、次はオーバーロードじゃ。こちらも難しいことはない。
そのメソッドや関数を、Overloadsをつけて宣言するだけじゃ。

---------------------------

Class AAA

   Public Overloads Sub BBB(kin As Integer)←オーバーロードしたメソッド1
   ~
   End Sub

   Public Overloads Sub BBB(kin As Integer, zei As Integer)←オーバーロードしたメソッド2
   ~
   End Sub
End Class
---------------------------

deshi.gif
なるほど!

sisyo.gif
うむ。さて、基本編はこれでおしまいじゃ。次回からはさらに発展して、ウィンドウアプリの作成からやっていくとするぞ!
これまでの復習と、これからすることの予習を忘れてはならぬ!



※次の更新は、『レトロゲーレビュー』の予定です。お楽しみに!
posted by 裏編 at 09:51| Comment(0) | 師匠のVB.NETどたばた塾 | 更新情報をチェックする

2020年02月10日

師匠TのチャレンジARSゲーム!~第拾九回:ポートピア連続殺人事件【1983年・ENIX(現・スクウェア・エニックス】

うむ、師匠Tである!

今回挑むのは、『ポートピア連続殺人事件』! かのENIXが発売した、推理アドベンチャーの名作(迷作?)ぢゃ。
今やドラクエやFFなどで有名なスクエニじゃが、その昔はこのようなアドベンチャーも作っていたのじゃ。

それでは、そのENIXが生み出しし一作、さっそくチャレンジしていくとしようぞ!

どんなゲームも完全制覇じゃ!!

【 プロローグじゃ! 】

ars2002-00a.JPG

ars2002-00b.JPG

ars2002-00c.JPG

ars2002-00d.JPG

【 本編じゃ! 】

ars2002-01.JPG
現場周辺からスタートじゃ。まずは、この手のゲームの定石、聞き込みからしてみることにしようぞ。
……むむ? ある男が、事件前後から行方不明になっているじゃと?

ars2002-02.JPG
現場にやってきたぞ。さっそく色々調べてみることにしようぞ。

ars2002-03.JPG
まずは、被害者の甥であるとしゆきを呼び出して、事情聴取してみよう。
いかにもガラの悪そうな奴じゃが、動機こそあるものの、アリバイにおかしなことはない。
ある一点以外は……

ars2002-04.JPG
次は、こみやから事情聴取じゃ。が、何か様子がおかしい。
『やってない』の一点張り……。
えーい、何かあやしいぞこやつ。ポカッ!

ars2002-05.JPG
あることをすると、こみやはとしゆきの財布から拾ったメモを見せてくれたぞ。
これは……暗号ではないか!

ars2002-06.JPG
港に行くと、怪しい男が待っておった。
こやつはわしらを見ると変な質問をしてきた。
なんと答えればいいのか……。

ars2002-07.JPG
紆余曲折あったが、結局、としゆきのアリバイが成立してしまった。
仕方あるまい。次はふみえから話を聞いてみることにしようぞ。

ars2002-08.JPG
ふみえの話も聞いても、怪しいところは見つからず。行き詰ってしまったのう。
仕方ない。被害者の部屋にあったマッチに書いてあったアソコに行ってみるとしようぞ。

ars2002-09.JPG
どうやら、ここは被害者の行きつけのバーらしいぞ。
なんとここでは、ある証言が!

ars2002-10.JPG
被害者の友人というある男を追って、京都にやってきたぞ。
果たして見つかるじゃろうか……。

ars2002-11.JPG
むむ、この死体は!?

ここから先は、君自身の目で確かめるのじゃ!
健闘を祈っておるぞ!!

※本ゲームは、スクウェア・エニックスの作品であり、ゲームの著作権はスクウェア・エニックス様にあります。また、ここで使われている画像の著作権も、スクウェア・エニックス様にあります。
※本記事では、ゲームの紹介のために、ゲームの画像を引用させていただいております。
 ここに掲載されている画像は、問題があれば削除いたします。
 また、ここに掲載されている画像の二次使用を禁じます。



次の更新は、『師匠のVB.NETどたばた塾』の予定です。お楽しみに!
posted by 裏編 at 09:03| Comment(0) | チャレンジARS | 更新情報をチェックする

2020年02月06日

新電脳戦記パソレクW~第伍話:ARの秘密

※今回のパソレクWも、漫画形式でお届けします。
※漫画は、作画のカゼカオル様の承諾をいただいたうえで、Gパソレクのコマを切り抜いて組み合わせたり、台詞を入れ替えたりなどして作成いたしました。承諾してくださったカゼカオル様に感謝です!
※内容に一部間違いがあるかもしれません。ご注意くださいませ。

イラスト提供:カゼカオル 様

paso05-p1.jpg
paso05-p2.jpg
paso05-p3.jpg
paso05-p4.jpg
paso05-p5.jpg
paso05-p6.jpg
paso05-p7.jpg
※次の更新は、『師匠TのチャレンジARSゲーム!』の予定です。お楽しみに!

posted by 裏編 at 13:09| Comment(0) | パソレクW | 更新情報をチェックする

2020年02月03日

プログラミング言語・MysticSLを紹介!

 今月の特集は、久しぶりにプログラミング言語を紹介します。
 紹介するのは『MysticSL』。初心者向けと謳っていますが、DLL関数の使用など、本格的な部分を併せ持つ言語です。

~導入しよう!

 『MysticSL』の導入はとても簡単! 解凍するとインストーラーのEXEファイルができるので、それを実行すればインストーラーが立ち上がります。後は、インストーラーの指示通りに操作すればOKです。
 開発環境の実行は、スクリプトエディタのアイコンをダブルクリックすれば起動します。次の画面が開けばOKですよ!

tk2002-01.JPG

~ウィンドウデザイナ

 『MysticSL』の開発環境には、ウィンドウを簡単にデザインできるウィンドウデザイナが用意されています。
 このウィンドウデザイナでは、ボタンやテキストボックスなどの部品をドラッグ&ドロップなどで配置していき、メニューから『モジュールにエクスポート』の項目を選択することで、モジュールのコードに変換されます。後はこれをプログラムで使えばOK、というすぐれものです。

tk2002-02.JPG
▲ ウィンドウデザイナ

tk2002-03.JPG
▲ モジュールのコードに変換されたぞ!

~言語本体
 さて、続いて言語本体についてですが、スクリプト言語ではありながらも、とても充実しています。
 基本的な命令・関数はもちろん、DirectXを扱う関数や、ジョイパッドを扱う関数、メールを送る関数なども、ライブラリの形で用意されているので、これだけで普通のプログラムはもちろん、ゲームや、インターネット関係のプログラムなども作れます。
 さらに先述した通り、DLLの関数を使うための命令も用意されていますので、MysticSLのライブラリにない関数を使うのも問題ありません。

~最初のプログラム

 さて、ではまずは簡単にMysticSLについて触れてみましょう。スクリプトエディタを実行し、次のプログラムを入力してください。

==========
Print ["Hello MysticSL!"]
Stop
==========

 入力できたら、メニューの下の、フロッピーディスクのボタンを押して保存してから、ラジカセの再生ボタンのようなボタンを押してみてください。

tk2002-04.JPG
▲ このボタンを押そう!

 ウィンドウが開いて、Hello MysticSL!というメッセージが出ればOKです!
tk2002-05.JPG
▲ はじめてのプログラミングの結果!

~サンプルを動かしてみよう!

 では続いて、グラフィックを描くサンプルプログラムを動かして、MysticSLのすごさを体験してみましょう。フォルダのボタンを押して、MysticSLをインストールしたフォルダの中にある、サンプルフォルダのさらの中にある旧サンプルフォルダの中にある、描画サンプル01.mslというファイルを読み込んで、実行してみましょう。

tk2002-06.JPG
▲ これがMysticSLのグラフィックだ!

 どうでしょう? とてもきれいですよね!
 MysticSLなら、こんなきれいなグラフィックをプログラムで扱うことができるのです!

~最後に

 MysticSLをここまでご紹介してきましたが、いかがでしたでしょうか?
 スクリプトエディタに、上書き保存のボタンがないという難点こそありますが、それ以外はほぼ満点な、十分に実用に耐えられる言語だと感じました。
 なんといっても、ウィンドウデザイナを持っているというのはWindowsプログラムを作るにあたって、大きな利点だと思います。
 皆さんも、このMysticSLでプログラムを作ってみませんか? もちろんB-Magaでは、MysticSLのプログラムの投稿も受け付けていますよ!



※次の更新は、『新電脳戦記パソレクW』の予定です。お楽しみに!
posted by 裏編 at 09:29| Comment(0) | 特集 | 更新情報をチェックする

2020年01月20日

師匠TのチャレンジARSゲーム!~第拾八回:萌しむ~グロス・ぱいッ!チュラント⊂彡~【しるふ・わーくす】

ars2001-00.JPG

うむ、師匠Tである!

今回は、久しぶりにシミュレーションゲームを紹介するぞ!
紹介するのは、『萌しむ~グロス・ぱいッ!チュラント⊂彡~』。フリーゲームながらも、かなりできたSLGじゃ。
タイトルに、『萌』と気になる字があるものの、気にせず挑んでいくぞ。

ではいくぞ!

どんなゲームも完全制覇じゃっ!!

【 本編 】

ars2001-01.JPG
高笑いをあげるこいつが、かの有名な独裁者、アドルフ・ヒトラー。今回の主人公じゃ。
有名な独裁者な彼じゃが、まさかあんな性癖があろうとは……このわしの目を持っても見抜けなんだわ!
(性癖については、萌しむ内だけの設定であり、史実というわけではありません。ご注意ください)

ars2001-02.JPG
そして、こいつが腹心にして黒幕のエリカ。おちびじゃが、毒舌鋭く、頭脳明晰なおなごじゃ。
こやつとヒトラーの漫才はなかなか面白いぞ。

ars2001-03.JPG
さて、ゲームを進めていくとしようぞ。ゲームはいくつかのフェイズに分かれる。
まず軍備フェイズでは、兵器の生産や、工場の増設などを行っていく。戦力を増強させるために必要なことを考えながら、進めていくのじゃぞ。

ars2001-04.JPG
続いて作戦フェイズ。ここでは、部隊をどこに進めていくかを決めるのじゃ。
進軍するのもいいが、気をつけぬとがら空きになった自領を攻められることもあるから気を付けるのじゃ!

ars2001-05.JPG
そして、敵部隊のいるエリアに侵入すると戦闘になる。隊列などを決めたら、後は部隊の能力を信じるのじゃ!
さて、この後どうなるかは……。

ここから先は、キミの目で確かめるのぢゃっ!!
健闘を祈っておるゾ!!

※このゲームの著作権は、しるふ・わーくす 様にあります。
※この記事に使われている画像の二次創作を禁じます。

==========
※次の更新は、特集『言語ソフトMysticSLを紹介!』です。お楽しみに!
posted by 裏編 at 09:53| Comment(0) | チャレンジARS | 更新情報をチェックする