地球PF運用ブログ

2億円の「地球ポートフォリオ」で地球全体の資産を運用する氷河期リーマンのブログ

20年ぶりのプログラミング

ゲームの「お題2」で、「エンジニア騎士とクエリの魔女」をプレイしてみました。

実は先日「お題1」の記事を投稿しているのですが、投稿がダブってしまっても良いのでしょうか。まあ良いのかな。ちなみに、お題1の方の記事はこちらです。

chikyu-pf.hatenablog.com


お題2は「ゲームでプログラミング力を試してみよう」ということで、プログラミングの経験者も初心者も対象とされています。私は厳密に言うと経験者なのですが、限りなく初心者に近い状態です。というのも、学生時代+入社時の新人研修で「C言語」に触れて以降、実に20年間、一切プログラミングせずに今日に至っています。すっかり忘れ去りました。これまで本格的に再開する気にはなれなかったのですが、ゲームなら良いかもしれない、と思いました。

このゲームでは、剣が各種プログラミング言語、魔法がSQLです。言語は28種類から選択できます。私は最近良く聞く「Python3」で挑んでみました。C言語しか知らないので、もちろんPythonはこれが初めてです。

各ステージはプログラミング問題とSQL問題に分かれています。さらに、それぞれS~Dまでの難易度が設定されています。とりあえず、プログラミング問題で一番かんたんな「D」のステージから攻めます。

最初に行ったのは「原初の村」。いかにも「最初に来てください」と言わんばかりのステージ名です。問題は、標準入出力と繰り返しを要するものです。なるほど、原初感があります。最初に相応しい問題かもしれません。と偉そうに言いつつ、Pythonの文法が全く分かりません。そこで、文法をググりながら取り組みました。

クリアすると「斧」をゲットできます。装備してみました。

 

この斧なんですけど、、、主人公が持つにしては、ずいぶん禍々しいです。ボス級のモンスターが持っていそうな斧ですよ。主人公はDBエンジニアだそうですけど、これ使いこなせるのかな。

さて、次はもう1つの難易度Dステージ「氷の城」。ここの問題は、条件分岐ですね。文法ググってと、、、。それにしてもPythonは、C言語よりも大分すっきりと記述できます。標準入出力は「input(値)」と「print(値)」で済んじゃうし、for文もif文も簡素です。文末にセミコロンすら要らないとは、隔世の感があります。

最後に難易度Cの「火山島」に行きました。あー、今の私にはこれくらいが限界かもしれません。このステージ、問題文がだいぶ長くなりまして、実は読んでも内容が良く分かりませんでした。問題文と共に提示される入力例と出力例を見て、やっと「あー、そういうことか」と分かりました。少し複雑な入力、繰り返し+条件分岐、ちょっとした計算が求められる感じです。何とかクリアしまして、とりあえず今日はここで打ち止めです。

 

以下、感想です。

まず、ゲームでプログラミング学習、個人的には良い試みだと思いました。少なくとも私は、これで20年ぶりにプログラミングに触れることができました。これを機に、実用的なプログラムを作れるところまで再学習してみても良いかもしれません。

次に、学習環境として「ブラウザ上で全て完結する」点は非常に良いです。もしこれが「ゲームを開始する前に開発環境のセットアップが必要」とかだったら、一気にやる気が失せます。私が今回やってみようと思えた理由の1つは、事前準備無しにサクッと始められそうだったからです。

ただ一点、こうだったら更にハマれたというか、より世界観に入りこめたかもしれない、と思ったことがあります。ゲーム設定の話なんですけど、なぜこの異世界では剣がプログラミングで、魔法がSQLなのか、の説明が欲しかったです。まあ「それらを学習するためのゲームだから」と言われてしまったら、それまでなんですけど。

どちらも現実世界では、コンピュータの存在を前提とした物凄く人工的かつ特化したスキルです。それにもかかわらず、なぜコンピュータも無さそうなファンタジックな異世界に両者が存在していて、しかも力を持っているんだろう、と余計な事を考えてしまいました。

たとえば、少々ありがちな設定ですけど、そこが実はプログラムによって作られた仮想世界で、重要な情報がRDBに保存されているとか。それなら、そこでプログラミングやSQLが効力を持っていることの納得性が多少は深まるかもしれません。いずれにしても、なるべくユーザが「え、なんで?」と思わずに、すんなりとゲームに没入できれば良いなと思いました。

何はともあれ、この歳になってプログラミング再学習の道が開けたことは僥倖です。個人的にはこのゲーム、この機会に感謝ですね。

 

【姉妹サイト】

お金と労働と地球株
~無能が30代で資産1億円を達成した方法~

paiza特別お題キャンペーン「ゲームでプログラミング力を試してみよう」

paiza×はてなブログ特別お題キャンペーン「私がハマったゲームたち」「ゲームでプログラミング力を試してみよう」
by paiza