Step8. 簡単に作れて見栄えがいいもの(習作)
ゴブリンでもわかるE言語を読み終えて、一通りの使い方を理解した。
というか、地球で扱っているプログラミング言語と酷似していた。
ゴブリンでもわかるE言語は、秀逸な書籍だった。
丁寧な記載もさることながら、理解を促すために難易度が少しずつあげられており、バランス良く仕上げられていた。
例えるならば、一本道のRPGだ。ドラ○エやF○みたいに、話さえ聞いていれば、行先に迷うことのないゲームだ。
レベルバランスが取れており、真っ直ぐに進むだけで適切なレベルになり、ゲームがクリアできる。これが、個人的に良書だと思える技術書だ。
逆にダメなのは、サ○の様な自由度の高いものだ。どこに行けばいいか分からないし、何をしたらいいのかもはっきりしない。
いきなり四魔貴○に挑もうなら、瞬殺されてしまう。初めてプレイした人は、イベントボスなのかどうかも分からない。これでは、ただただ心が折られて終わってしまう。
ちなみに自分は、小学生の頃ロマンシングサ○3をクリア出来なかった。この思い出は、一生忘れないだろう。
個人的な話はさておき、ゲームとしては神ゲーだが、これと同じことを技術書にやってはいけない。
また借りた書籍は、ジン先輩のお古で、間違ったソースコードの訂正や、分かりにくい部分の解説が書いてあり、ミスリードにハマることなく理解できた。あとで感謝しておこう。
さーて、ここから何しよっかなぁ……
簡単に作れて、見栄えがいいもの作りたいな。
うーん……
そうだ、CUIベースのリバーシを作ろう。この遊戯を説明するカタカナ三文字の言葉は、商標なので利用を控えた方がいいだろう。
入力があって、それなりに考えることも適度にあって、作業量も多くなくて丁度いい。
※個人の感想です。
作業量が丁度いいと書いたが、これは思いっきり個人差がある。保有してるスキルや、知識量に左右されるので、出来ない人は一生できないし、出来る人はあっさりできたりする。
これがプログラムの世界だ。
自転車に、どれくらいで乗れるようになれますか?
という問いに対して、はっきりと回答できる人はいないだろう。自分が出来たからといって、他の人に当てはまらないのである。
脱線してしまったが、オセ……もといリバーシの作成に取り掛かろう。
oooooooo
oooooooo
oooooooo
oooWBooo
oooBWooo
oooooooo
oooooooo
oooooooo
盤面はこんな感じかな。
W = White(白)
B = Black(黒)
o = 空き
2桁の数字を入力するとxyの座標とみなして、コマを配置するようにする。先行は黒からだ。
>24
と入力すると、x=2,y=4と解釈し盤面がこうなる。
oooooooo
oooooooo
oooooooo
ooBBBooo
oooBWooo
oooooooo
oooooooo
oooooooo
コマを置く場合は、縦・横・ななめを見て、自分のコマと違う色が1つ以上あり、かつその先に自分と同じ色のコマがなくてはならない。
置けない場合はパスとなる。
リバーシのルールの説明だが、論理的思考が必要だ。
これをプログラムに書き起こす。
投影魔法と言っても、過言ではない。
――トレース、オン
最初に、コマを置けるか判定&配置部分を作る。
再帰と呼ばれるテクニックを使いシンプルにする。
動作確認をして、出来上がったら終了条件を設定し、ゲームの進行をメッセージで伝えるようにする。
…
……
………
「出来たっ!」
思わず声を上げてしまった。
そして、誰かに見て欲しい不治の病が再発する。
「ジンせんぱ……」
今ダメなやつだ。
よし、ここはいつもの。
「ジェシカ―、ちょとちょっと大事な用事があるんだ。こっちきて」
「何よ?こっちは忙しいんだから」
「まぁまぁ、そういわずにこれを見て」
「はい、はい、ちょっとだけよ」
操作方法を説明して、ジェシカと遊ぶ。
…
……
「おおぉぉお、これは凄いじゃない♪」
「でしょー、ざっとこんなもんよ」
ようやく目に見える形で伝わった。
「にしても何で白と黒なの?これランスロットってボードゲームでしょ?赤と青が一般的だと思うわよ」
「えっ、そうなの?また手直ししておくよ」
娯楽の少ない異世界では、リバーシは鉄板チートだと思っていたが、違うようだ……
そして、また赤と青いかよ。どんだけこの色好きなんだ。




