ヒロイン 「このコードが書けたら、一緒に海に行ってもいいよ」 ──異色の“初恋×プログラミング”ゲームを体験してみた
ドキドキの高校生活を楽しみながら、プログラミングについて学べます。
お〜〜い!!
お〜〜〜い!!!
おぉ〜〜〜ぅい!!!!!
逆光の中、失礼します。Webフロントエンドエンジニアのリックェです。
ITエンジニアに特化した転職・就活サービスを展開する企業のpaizaさんが、プログラミングのコードを書いてストーリーを進めるゲームを公開したので、今日はそれをプレイしてレビューします。ゲームのタイトルは『初恋プログラミング研究会』!
今はゲームの舞台である “汐音島(しおねじま)” に来ています!
どういうゲームなの?
主人公とヒロイン、部員が2人だけのプログラミング研究会に所属し、ドキドキの高校生活を送りつつプログラミング問題を解き進めていくストーリーです。スイートなビジュアルに反して、プログラミングパートは硬派で実際に自分でエディタにコードを打ち込みます。
対応言語は、Python、Java、PHP、JavaScript、C++、C#、C、Rubyなどなど。好きな言語でチャレンジできます。
舞台
まず、舞台設定が素晴らしいので、ゲーマーとして特記しておきます。
瀬戸内海に浮かぶ離島!!
理解(ワカ)ってるね! そうなんです。そうなんですよ!! テックがテーマの学園生活なら、舞台設定のセオリーって2択なんですよ!
ひとつが「学園都市」。もうひとつが「瀬戸内海の離島」です。
これはコンセンサス取れてると思ってます。海や空の自然物とメモリー空間のギャップが世界を広げるから、また地域の特産であるレモンやオレンジなどの柑橘類が青春を想起させるからですね。ちなみに、学園都市の場合はモノレールで学生寮と学園を結ぶ必要があります! paizaさん、次回作でもぜひ!
登場人物
そして、お待ちかねのヒロインをご紹介。彼女が橘(たちばな) まりか です。
名前〜!!
こちらも理解ってますねぇ〜!! い〜い命名だ!
優しさと可憐さの中に、芯の強さを持ち合わせたヒロイン、それが 橘 まりかでしょう? 僕くらいのスーパープログラマーになると、名前だけでピンと来ますわ。
え? 「名前なんて適当でいいでしょ」なんて思っていたらミステイクですよ! プログラマーなら命名の重要性は知っているはず。たとえば、ヒロインの名前が func() とかだったら一緒に海行かないでしょ?
エピソード1
すみません、設定資料で盛り上がっちゃった。ここからはゲーム内の各エピソードを紹介していきますね!
エピソードは3つあります。
エピソード1は4択問題です。肩慣らしですね! 正解を選んで、進めましょう。
エピソード1は入学してすぐ、プログラミング研究会に入るきっかけが描かれます。いわゆる前日譚なんですね。正解するとエピローグが見られるので、問題を解いてストーリーを進めてください!
エピソード2
エピソード2は、2年生に進級して少し仲良くなった頃のストーリーです。お待ちかねの海イベントと、お待ちかねのコーディングがありますよ!
ここからは、実際にコードを記述して解答するパートが始まります。
「この問題解けたら……一緒に海に行ってもいいよ。」 だあ?
甘くて、酸っぱくて、不器用な初恋の始まりだぜ!
解いてみよう
問題文になると、途端にビジネスライクなものだからびっくりしちゃった。でも、これを解けば、橘との待ち合わせ場所がわかります。一緒に解いていってみましょう。
問題文からわかる要件は、
- SUNSETに続く後ろ3文字が目的の語句
- 後ろが3文字未満のときは、足りない分を先頭に戻って読む
ふむふむ、一見すると、条件分岐が必要そうなことが書いてあるけれど、後ろに3文字あってもなくても、先頭部分を後ろに持ってきてから、3文字分を読めば良いから実は分岐は不要ですね。条件の整理、大事。
さらに、 SUNSETという文字列自体を区切り記号とみなして、splitで配列に分割すると、SUNSETが消えるため、読み取り位置を調べる必要もなく、配列を入れ替えて文字列の先頭、3文字分を読むだけになります。
橘、ごめん……。悪いけど俺、プログラミング初めてじゃないんだ……。
余力があるので、出力がアクロバティックになるように追記して、待ち合わせ場所をgetしましょう!
このテスト文字列に対してプログラムを走らせると……
待ち合わせ場所は、浅草寺だ〜〜!!!!
到着〜!!! 人が多くて、橘を見つけるのは大変そうだ〜〜!!
正解できなくても何度でも再挑戦してみてください。難しいと感じたら、paizaのプログラミング学習ページで勉強してから挑戦してみるのも良さそうです。
あれ〜浅草寺?? おかしいな〜〜……。
エピソード3
待ち合わせ場所は “sea” でした。 難しいね、プログラミングって。
浅草寺から隅田川を下って、汐音島へ来ました。
エピソード3は、海で見つけた巻き貝からの問題です。
巻き貝やひまわりなど、自然界の繰り返しのパターンにフィボナッチ数列の増加を見出せることがあります。最適なエネルギー効率や資源利用を追求した結果、このようなパターンが現れるのだと考えられています。
フィボナッチ数列を数式で表すとシンプルで、前項と現在の項から次項が決まります。
数列の一般化 f(n) = f(n-1) + f(n-2)ができれば第一段階はクリアです。
ここからは一般化した数列を、プログラムとして書けるかが問われます。
これは再帰関数を使うと良く、再帰関数にはループからの離脱構造が必須になります。この辺はプログラマーの勘所で、今回はフィボナッチ数列の初項と第二項の returnを工夫すると再帰関数が作れそうです。
この問題は、ループによる引数の再代入などの理解が求められ、工夫の余地も存分にある良問だと思います!
……などと、自分の知識のように解説していますが、ここまでの知識の全ては、自然の観察から得たものです。砂紋、斜陽、自身の影、海風、海鳥、潮騒、波の周期、ゆらぎ、砂粒の数、巻き貝、海辺の生物……
まぐろ、えんがわ、サーモン、鯛、サラダ巻き、トロタク……そういった万物からプログラマーは学ぶことができます!
ランキング問題
エピソード問題だけでは満足しないギークなみなさんには、ランキング問題が待っています。その問題がこちら!
正解するとバレンタインデーらしいイベントが発生する予感がしますが、ランキング問題は手ごわいですね。どこから、どう崩していくか、ぱっと見では判断がつきません。
さらにランキング問題は、解くだけでなく、できるだけ短いコードを書いてランキング上位を目指すことも目的になります。
ちょっと挑戦してみましょう。
まず、必要なことが2つありそうですね。勝利条件の整理と……
どのように盤面の情報を保持するか、ですね。
5×5のマス目なので、○と×の情報を2次元配列で持つのが良さそうに見えるんですが、
勝利条件に関わってくるのは○と×だけなので、空きマスの情報は持たずに、石の位置情報を持つように……
みなさんも、ぜひ渾身のコーディングでランキング上位を目指してみてください!
基本問題の紹介は以上になります。
まとめ
ここからはゲーム全体についてまとめていきます。
エディタは使いやすい
まず、プログラミングのゲームであれば、開発体験が心地よいものであってほしいですよね。その良し悪しを左右するのがコードエディタです。
エディタはこんな感じ。
コードハイライター(コードを色分けする機能)もついていて、普段使っているエディタと遜色ありません。書きかけのコードを波にさらわれる心配もないので、存分に没頭してください。
難易度はやさしめ
エピソード問題の難易度はやさしめです。しかしながら、自分で組み立てる力はしっかり要求される良問です。プログラミングビギナーは挑戦する価値あり!
エピソード問題をクリアしたみなさんは、ぜひランキング問題へ。アプローチの仕方が何通りも思い浮かぶ歯ごたえのある設問です。そしてエピソード問題も解いてしまった猛者の方々は、次に紹介するpaizaコラボ問題にも挑戦してみてください。
paizaコラボ問題
最後に、paizaコラボ問題の紹介です。
paizaコラボ問題は、「paiza ラーニング プログラミングスキルチェック」 からの出張問題です。
こちらもコードを記述して解答する問題です。paizaコラボ問題に正解すると、paizaの本体サイト内でも正式にランクが認められ、バッジが取得できます。
paiza内ではスキルランクが E、 D、 C、 B、 A、 Sランクと分けられていて、コラボ問題をクリアするとDランクのバッジがgetできます。
Dランク以上の問題もいっぱいあるので、腕試ししたいプログラマーのみなさんは、他の問題にも挑戦してみると良いでしょう。
それでは、『初恋プログラミング研究会』のレビューは以上です!
みなさんも遊んでみてください! 汐音島でお会いしましょう!
Copyright © ITmedia, Inc. All Rights Reserved.
-
「情報を漏らされ振り回され……」とモデラー“限界声明” Vtuberのモデル使用権を剥奪 「もう支えられない」「全サポート終了」
-
「うどん屋としてあるまじきミス」→臨時休業 まさかの“残念すぎる理由”に19万いいね 「今日だけパン屋さんになりませんか」
-
“ドームでライブ中”に「76万円の指輪紛失」→2日後まさかの展開に “持ち主”三代目JSBメンバー「誰なのか探しています」
-
高畑充希と結婚の岡田将生、インスタ投稿めぐり“思わぬ議論”に 「わたしも思ってた」「普通に考えて……」
-
「本当に同じ人!?」 幼少期からイボをいじられていた男性→美容師の“お任せカット”が衝撃 「めちゃくちゃ大変身」
-
「おててだったのかぁああああ」「同じ解釈の人いた笑笑」 ピカチュウの顔が“こう見えた”再現イラストに共感続々、464万表示
-
「腹筋崩壊」 ハスキーをシャンプー&パックしたら…… “予想外のハプニング”に「こ〜れは大変だわ」「沼にでも落ちたのかとwww」
-
“歌姫”ののちゃん、6歳現在の姿に驚きの声「あれっ!?」「ビックリしてます!」 2歳で「童謡こどもの歌コンクール」銀賞受賞
-
黄ばみのある68年前のウエディングドレスを修復すると…… 生まれ変わった姿に「泣いた」「受け継ぐ価値のあるドレス」
-
走行中の車から同じ速さで後方へ飛び降りると? 体を張った実験に反響「問題文が現実世界で実行」【海外】
- 「飼いきれなくなったからタダで持ってきなよ」と言われ飼育放棄された超大型犬を保護→ 1年後の今は…… 飼い主に聞いた
- ドクダミを手で抜かず、ハサミで切ると…… 目からウロコの検証結果が435万再生「凄い事が起こった」「逆効果だったとは」
- 「明らかに……」 大谷翔平の妻・真美子さんの“手腕”を米メディアが称賛 「大谷は野球に専念すべき」
- まるで星空……!! ダイソーの糸を組み合わせ、ひたすら編む→完成したウットリするほど美しい模様に「キュンキュンきます」「夜雪にも見える」
- 妻が“13歳下&身長137センチ”で「警察から職質」 年齢差&身長差がすごい夫婦、苦悩を明かす
- 人生初の彼女は58歳で「両親より年上」 “33歳差カップル”が強烈なインパクトで話題 “古風を極めた”新居も公開
- 「ごめん母さん。塩20キロ届く」LINEで謝罪 → お母さんからの返信が「最高」「まじで好きw」と話題に
- 互いの「素顔を知ったのは交際1ケ月後」 “聖飢魔IIの熱狂的ファン夫婦”の妻の悩み→「総額396万円分の……」
- ユニクロが教える“これからの季節に持っておきたい”1枚に「これ、3枚色違いで買いました!」「今年も色違い買い足します!」と反響
- 中央道から「宇宙戦艦ヤマト」が見える! 驚きの写真がSNSで注目集める 「結構でかい」「どう見てもヤマト」 撮影者の心境を聞いた
- 50年前に撮った祖母の写真を、孫の写真と並べてみたら…… 面影が重なる美ぼうが「やばい」と640万再生 大バズリした投稿者に話を聞いた
- 「食中毒出すつもりか」 人気ラーメン店の代表が“スシローコラボ”に激怒 “チャーシュー生焼け疑惑”で苦言 運営元に話を聞いた
- フォロワー20万人超の32歳インフルエンサー、逝去数日前に配信番組“急きょ終了” 共演者は「今何も話せないという状態」「苦しい」
- 「顔が違う??」 伊藤英明、見た目が激変した近影に「どうした眉毛」「誰かとおもた…眉毛って大事」とネット仰天
- 「ごめん母さん。塩20キロ届く」LINEで謝罪 → お母さんからの返信が「最高」「まじで好きw」と話題に
- 星型に切った冷えピタを水に漬けたら…… 思ったのと違う“なにこれな物体”に「最初っから最後まで思い通りにならない満足感」「全部グダグダ」
- 「泣いても泣いても涙が」 北斗晶、“家族の死”を報告 「別れの日がこんなに急に来るなんて」
- ジャングルと化した廃墟を、14日間ひたすら草刈りした結果…… 現した“本当の姿”に「すごすぎてビックリ」「素晴らしい」
- 母親は俳優で「朝ドラのヒロイン」 “24歳の息子”がアイドルとして活躍中 「強い遺伝子を受け継いだ……」と注目集める
- 「幻の個体」と言われ、1匹1万円で購入した観賞魚が半年後…… 笑っちゃうほどの変化に反響→現在どうなったか飼い主に聞いた
提供:paiza株式会社
アイティメディア営業企画/制作:ねとらぼ編集部/掲載内容有効期限:2024年4月8日