2018年06月11日

師匠TのチャレンジARSゲーム!~第九回:『サラダの国のトマト姫』(その1) 【1984年・ハドソン】

※本記事では、ゲームの紹介のために、ゲームの画像を引用させていただいております。
 ここに掲載されている画像は、問題があれば削除いたします。
 また、ここに掲載されている画像の二次使用を禁じます。

ARS1806-00.JPG


うむ、師匠Tである!

さて、今月は、またレトロアドベンチャーゲームを紹介するぞ!!

今回紹介するのは、『サラダの国のトマト姫』。今は亡きゲームメーカー・ハドソンが生み出した名作じゃ。
野菜たちが登場人物というほのぼのとした世界観と、解きがいのある謎が特徴の一品だ。ファミコンのゲームにもなったの。

今回はこれを、数カ月にわたって紹介していくとするぞ。

それでは!

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

【プロローグ】
ときは昔々の大昔、ところは地球からはるか離れた星にあるサラダ王国。そこではいろいろな種類の野菜たちが集まって、仲良く平和に暮らしていました。ところが、ある日突然クーデターが勃発!パンプキン率いるカボチャ一族がオニオン王を倒し、サラダ王国の全権を握ってしまったのです。カボチャ族の横暴な政治に不満を持った他の野菜たちは、反乱軍を結成して国王軍と戦う事を決意しました。
その反乱軍の中心となったのが、オニオン王の一人娘トマト姫です。しかし、国王軍の兵士たちによってトマト姫は誘拐され代に幽閉されてしまいました。さあ、キュウリ戦士であるあなたは、国王軍の魔手からトマト姫を救いださなければならないのです。
(こちらのサイトから抜粋→http://www2.plala.or.jp/yasinoue/oldgame/saramenu.html


【本編】

ARS1806-01.JPG
物語は、城下町に続く道からスタートじゃ。我らがキュウリ戦士は、果たして使命を成し遂げることができるのであろうかっ?

ARS1806-02.JPG
むむっ、誰かが倒れておるぞ!? どうやら、ケガをしたり、病気になったりとかではないようだが……。

ARS1806-03.JPG
池の前にやってきた。ここでは、水を手に入れることができるようじゃが、一筋縄ではいかぬ。ポイントは、『何を使って』水をくむか、ということじゃな。

ARS1806-04.JPG
元気になったようでよかったわい。彼からは、ある情報を聞くことができるぞ。

ARS1806-05.JPG
さぁ、やってきた。城下町じゃ。ここは、ちょっと構造が特殊になっておって、気を付けないと迷ってしまうぞ。(何を隠そう、わしも迷ってしもうた)自信がないなら、マッピングしておくのも手じゃな。

ARS1806-06.JPG
ある店の前にやってきた。この国では、お金は流通しておらず、買い物は全て物々交換ですることになっておる。注意せよ。

ARS1806-07.JPG
雑貨屋じゃ。色々なものが売っておるな。ここで何かを買うかによって、キュウリ戦士の運命が決まる。注意するのじゃ。

ARS1806-08.JPG
ここは電気屋じゃ。店主の『〇〇〇を買っちクリ』というダジャレはおいといて、何を買おうか……。

ARS1806-09.JPG
ここはたばこ屋じゃ。ここで買うべきなのは……決まっておるな。

ARS1806-10.JPG
お弁当屋じゃが、ここは一筋縄ではいかぬ。物々交換では買うことはできないのじゃ。ではどうするか……。そういえば、おなごは最初が『お』で、最後が『じ』のものに弱いと言われておるの。

ARS1806-11.JPG
本屋じゃ。ここでは買い物はできず、アンケートをすることになるのじゃが、ここはあとで重要な役目を果たすことになるのじゃ。

ARS1806-12.JPG
酒屋じゃ。それ以上でもそれ以下でもない。

ARS1806-13.JPG
奉行所の前にやってきた。浮浪者が座り込んでおるな。浮浪者は食べ物よりも、一服したいと言っておるな。この男は何者なのか? むむ、そういえば先ほどのカキが……。

ARS1806-14.JPG
ここが、奉行所の前じゃ。なんとも立派じゃのう。覚悟を決めて進むとしようか。

ARS1806-15.JPG
とはいうものの、いきなりお奉行様に怒られて追い出されてしもうた。わしなら奉行を振っ飛ばすなど造作もないが、キュウリ戦士にはそれは無理なこと。どうすればいいのじゃろうか……。押してもダメなら引いてみな。表がダメなら……。

ARS1806-16.JPG
うまく、奉行所の中に入れたぞ。よしよし。

ARS1806-17.JPG
同じく奉行所の中じゃ。壁に張られているポスターを調べると……この時期のゲームは、ところどころにこんなお遊びがあって面白いわい。

ARS1806-18.JPG
さて、牢屋の前にやってきたぞ。扉を開けて、中に入ってみるとしようか。

ARS1806-19.JPG
この囚人は、カボチャ大王に抵抗する反乱軍の同志だそうじゃ。彼にあるものをあげると、貴重な情報が聞けるぞ。

ARS1806-20.JPG
納屋の前にやってきた。中に入るには、ちょっとした工夫が必要じゃ。まずは、画面をよく見てみよ。

ARS1806-21.JPG
納屋の中には箱があった。ここには果たして何が……?

ARS1806-22.JPG
さて、本屋であることをすると、このように隠し通路に案内してもらえる。何をすればいいのかは、ここまで冒険を進めていき、情報収集をしっかりとしていけば、自然とわかるじゃろう。そして、この先に何があるかは……。

次回へと続くのじゃ!!


※次の更新は、6月14日。『LGP講座(かり』の予定です。お楽しみに!
posted by 裏編 at 10:02| チャレンジARS | 更新情報をチェックする

2018年06月07日

師匠のJava道場~第10回・抽象クラスを使うのじゃ!

弟子D:ど、どうなさったのですか、師匠? 何か黒いオーラが。

師匠T:いや、この間散歩しておったら、カップルがいっぱいな……いやなんでもない。気にするな。

弟子D:は、はぁ……(触らぬ神に……)

師匠T:さて、今回は抽象クラスについて説明する。覚悟はよいか?

弟子D:は、はい……。

▽抽象クラスとは?▽

弟子D:師匠、いきなりですが、抽象クラスとはなんぞや。

師匠T:うむ。抽象クラスとは、普通のクラスとは少し違っておって、継承されることを前提としたクラスじゃ。
 これには、次のような特徴があるぞ。

弟子D:ふむ。

師匠T:まず一つ。抽象クラスはインスタンスを作ることができない。

弟子D:つまり、例えば、Zakuクラスが抽象クラスだとして、そこからインスタンスのoZakuを作ることはできない、ということてすね? こんな風に。

----------
Zaku oZaku = new Zaku();
----------

師匠T:うむ、その通りじゃ。ただし、継承はできることを忘れてはならぬぞ。また二つ目の特徴として、抽象クラスは特別に、処理内容の中身を持たぬ、抽象なメソッド……ずばり抽象メソッドを持つことができる。
もちのろん、普通のメソッドを持つこともできるぞ。

弟子D:なるほど。でも、処理内容のないメソッドを用意して何になるんです?

師匠T:うむ、よい質問じゃの。例えば、複数のクラスの中で、ほぼ同じメソッドがあるとするじゃろ?

弟子D:はい。

師匠T:そうした場合、各クラスで別々のメソッド名にされては、管理が色々と困難になる。そこで、抽象クラス側で、そうしたメソッドを用意しておき、その処理は、この用意されたメソッドに書いてもらえばいい、というわけじゃ。
例えば、ZakuクラスもGoufクラスも、マシンガンを撃つ処理がある場合、スーパークラス側にMachineGunメソッドを用意しておき、どちらのクラスも、これを使ってもらえばいいというわけじゃな。

弟子D:なるほど!

師匠T:では次はいよいよ、抽象クラスの作り方、などについて説明するぞ!

▽抽象クラス、抽象メソッドを作るには?▽

師匠T:まずは、抽象クラスの作り方について説明していくとしよう。といっても簡単じゃ。クラス名の前に、abstractと描けばよい。

----------
例:abstract class Mobile Suits()
----------

弟子D:ふむふむ。

師匠T:そして、抽象メソッドの作り方じゃ。これもまた簡単で、メソッド名の前に、同じようにabstractをつければよい。

弟子D:ふむふむ。あ、publicとかprivateとか、型名とかの前と後、どちらに書けばいいんですか?

師匠T:おぉ、それがあったの。よくぞ気が付いた。

弟子D:忘れるなんて、師匠ももうと……。

師匠T:何か言ったか?

弟子D:いえ、なんでもありません……。

師匠T:ごほん。abstractは、それらの前に書けばよいのじゃ。この通り。

----------
例:abstract public void MachineGun();
----------

師匠T:この例の通り、抽象メソッドには、波かっこ({})もその処理も、何も書いてはならぬ。必ず、()の後、;で〆るのじゃ。

弟子D:ふむふむ。

師匠T:そして、ポイントをもう一つ。抽象メソッドを持たせれば、そのクラスは必ず抽象クラスになる。ゆえに……。

弟子D:そのクラスにも、abstractをつけなきゃならない、ということですね。

師匠T:さて。こうして作った抽象クラスを継承した場合、そのサブクラスは、次のいずれかになる。

(1) 抽象メソッドを全て実装(メソッドの処理内容を全て書く)した場合、通常のクラスになる。
(2) 抽象メソッドが一つでも実装されなかった場合、そのクラスも抽象クラスになる。

師匠T:このため、(2)に該当するクラスにも、abstractをつけなくてはならぬ。注意せよ。

弟子D:はい、師匠!

師匠T:なお、継承したサブクラスで、その抽象メソッドを使う場合は、いつも通りにそのまま使えばよい。

----------
※抽象クラス側
abstract public int Shot();


※サブクラス側
public int Shot() {

}
----------

▽参照型変数についてじゃ!▽

師匠T:このことについて話す前に、一つ教えておくべきことがある。前回、オブジェクト型の変数は、実際に中に何か入っているわけではなく、変数から、オブジェクトにリンクが張られている、と話したな?

弟子D:はい。

師匠T:このような変数を、『参照型変数』ともいう。覚えておくように。

弟子D:わかりました!

師匠T:うむ。さて、先ほど話した通り、抽象クラスからはインスタンスを作ることができぬ。じゃが、今話した参照型変数にすることはできるのじゃ。

----------
※MobileSuitsクラスは抽象クラスです。
Zaku oZaku = new MobileSuits(); はNG
MobileSuits oMS = new Zaku(); はOK
----------

弟子D:ふむふむ。

師匠T:これは、後に説明する多態性について重要なポイントなので、心の片隅にでも覚えておくがよい。

弟子D:はい、師匠!

▽thisについてなのじゃ!▽

師匠T:さて。それでは次は、抽象メソッドの実装についてじゃ。スーパークラスで宣言されたフィールド(変数)を、サブクラス側で利用したい場合は、次のように書く。

----------
this.〇〇〇
例:this.sisyo
----------

弟子D:なるほど! ところで、サブクラスってなんでしたっけ?

師匠T:はぁっ!!(飛び蹴り)

▽オーバーライドについてなのじゃ!▽

師匠T:さて、次は@overrideについてじゃ。これは、次の二つの使用法で使われる。

(1) 抽象メソッドを実装する
(2) 既にあるメソッドの内容を上書きする
(3) インターフェイスの抽象メソッドを実装する

師匠T:(3)については、後の講座で説明するぞ。さて、(1)については既に話したの?

弟子D:はい。処理内容が何もないメソッドの処理を実際に書く……でいいんでしたっけ?

師匠T:うむ、そのようなものと考えればよかろう。そして、(2)についてじゃが、例えば、RPGにおいて、戦闘終了後の処理で、既存のシステムでは経験値とお金だけが入るのだが、今度作るゲームでは、特別なポイントを増やしたい、という場合があったりするじゃろ?

弟子D:はい。

師匠T:そのような場合、その既存の処理を残し、その処理の後、特別なポイントを増やす、という手法が使われることがある。場合によっては、その処理を丸々書き換えることもあるがの。
このように、スーパークラスのメソッドを、サブクラス側で書き換えることを、オーバーライドというのだ。

弟子D:なるほど。

師匠T:さて、そのような場合に使われる@overrideじゃが、使い方はそう難しいことではない。対象となるメソッドのすぐ上に、これを書けばいいだけじゃ。

----------
@override
public void MachineGun()
{

----------

弟子D:なるほど、わかりました。師匠!

▽多態性についてなのじゃ!▽

師匠T:さて。では最後に、先ほど話した、多態性について話すとしようぞ。多態性とは一言で言ってしまえば、同じメソッドでも、クラスによって実際の処理が異なることを言う。

弟子D:???

師匠T:例えばじゃ。例えばモビルスーツのクラスと、そのサブクラスがあったとする。

弟子D:はい。

師匠T:そのサブクラスそれぞれに格闘戦を表すメソッドがあったとしても、それぞれのモビルスーツによって、どうやって格闘戦を行うかは違ってくるじゃろ? ザクはヒートホークじゃが、ガンダムはビームサーベル、モビルファイターは拳で、というようにの。

弟子D:なるほど!

師匠T:このように、それぞれによって、実際の内容が違うのが、多態性、ポリモーフィズムというのじゃ。覚えておくがよい。

弟子D:はい!

師匠T:さて、次回はfinal修飾子について説明する。予習復習を忘れてはならぬぞ。ふぅ……さすがに疲れたわい。

弟子D:師匠ももうと……。

師匠T:はぁっ!!(飛び蹴り)

※次の更新は、6月11日、『師匠Tのチャレンジ!ARSゲーム』の予定です。お楽しみに!
posted by 裏編 at 09:00| 師匠のJava道場 | 更新情報をチェックする

2018年06月05日

機動電脳伝Gパソレク!第2話

文 裏編/絵 カゼカオル 氏
※この記事は、裏編が習ったりしていた内容をもとに記述されています。
 現在の内容とは若干違っている部分があることをご了承くださいませ(平伏

pa1806-01.gif

pa1806-02.gif
pa1806-03.gif
pa1806-04.gif
pa1806-05.gif
pa1806-06.gif

※次の更新は、6月7日、師匠のJava道場の予定です。お楽しみに!



posted by 裏編 at 07:17| Gパソレク | 更新情報をチェックする

2018年06月03日

ポータブルWifiルーター導入記

以前(18年3月5日の記事)にも書きましたが、Windows10がCreator Updateになるに当たり、裏編もそのアップデートを適用し、そして、ポータブルWifiルーター(以後Wifiルーター)を新しく買いました(記事にも書きましたが、これは妥協です、和睦なのです(笑))

今回は、このWifiルーターの導入記とともに、そのメリットとデメリット、注意する点を述べていこうと思います。

~環境はどう変わった?

以前の記事にも書きましたが、裏編は以前、小型のルーター親機をPCに取り付け、PCをWifiルーターとして使っていました。
この場合、PCの電源を切ると、Wifiが使えなくなるという難点があります。

しかし、Wifiルーターを使うことで、PCの電源を切っていても、Wifiが使えるようになりました。これでいつでもネットができるようになりました。嬉しい限りです。

~接続は?
まず、裏編のインターネット環境について説明しましょう。
裏編の環境は、PCにルーターを接続し、そこから通信回線につないでいました。

そこでWifiルーターを接続するにあたってどうしたかというと、ルーターの接続部は複数あるので、そのうちの一つに、Wifiルーターをつなぎ、電源もルーターからとるようにしました。

これで、いつでもインターネットができるようになったわけです。

~さてさて

さてさて、ここで、裏編が導入したWifiルーターについて紹介しましょう。
裏編が導入したのは、ELECOMから発売されているWRH-300BK3-Sというものです。

商品ページ→http://www2.elecom.co.jp/products/WRH-300BK3-S.html

300という数字のある通り、2.4GHz、300MBpsのスペックを持つWifiルーターです。
ちなみに裏編が以前使っていた超小型の親機は、150MBps(周波数はWRH-300BK3-Sとほぼ同じ2412-2472MHz=2.4GHz)なので、二倍近い性能差があります。

しかも、とても小さいので、簡単に持ち歩けますし、それ自体がルーターとなっているので、旅行でホテルなどに泊まったとき、そこにインターネット回線があれば、そこにこれを接続してWifiを利用する、ということもできるのです。

まさに優れもの!

~設定は?

設定については、普通のルーターなどと同じように、ブラウザから専用のアドレスを呼ぶことで行います。
ここでは、SSID(Wifiで接続するさいのID)、チャンネル幅(接続速度のようなものと思えばいい)、チャンネル、接続を許可する機器、接続を拒否する機器、認証方式(WEP、WPA-PSK、WPA2-PSK、WPA2-Mixedから選択可能)、暗号化方式(AESとTKIPから選択可能)、暗号キー、IPアドレスやサブネットマスクなど、基本的なものは全て設定することができます。

また、特徴的なものとしては、マルチSSIDと、プライバシーセパレーターというものがあります。前者は、一つのWifiルーターに、複数のSSIDを持つことができる機能で、それぞれに別のセキュリティ設定をすることができます。
そして後者は、端末同士のWifiを介した通信を禁止することができる、という機能です。これによって、同じWifiに接続している他のユーザーが、自分のPCにアクセスしようとするのを防ぐことができるわけです。

~注意点

注意点としては、設定についてです。
裏編の環境は、そもそもルーターにインターネット接続のための設定がしてあるので大丈夫だったのですが、環境によっては、このWifiルーターそのものにも設定を施す必要があります。そのさいには、プロバイダから受け取ったIDやパスワードなどの、インターネットへの接続のための情報が必要ですので、ご注意ください。

~最後に

いかがでしたでしょうか?
家で、スマホやPCでWifiをする程度であれば、このポータブルWifiルーターでも十分な性能なので、検討する価値があると思います。何しろ、持ち歩けて、インターネット回線のある場所なら、どこでもWifiを通してネットができるのがポイント高いです。
ELECOMのもの以外でも、ポータブルWifiルーターは色々な会社から出ていますので、自分に合ったものを見つけて、どこでもいつでもネットを楽しむ、なんていうのはいかがでしょうか?

※次の更新は、2018年6月5日、『機動電脳伝Gパソレク』の予定です。お楽しみに!
posted by 裏編 at 11:16| 特集 | 更新情報をチェックする