logo

paizaがお届けする、テック・キャリア・マネジメント領域の「今必要な情報」を届けるWebメディア

【解答例つき】新作ゲーム『電脳少女プログラミング2088-壊レタ君を再構築-』でPythonとSQLを学んでみた!

1/21にpaizaは、新作プログラミングゲーム『電脳少女プログラミング2088-壊レタ君を再構築-』をリリースしました!

このゲームでは、サイバーパンクの世界観を舞台に、機械兵器化された幼馴染「レイミ」をプログラミングで修復しながら彼女の記憶と身体を取り戻していくストーリーが展開します。(ゲーム概要と基本的な遊び方はこちらから)

また、初めてSQLの問題を出題しており、プログラミングを学びたい方はもちろん、SQLを身に着けたい方にもおすすめのゲームとなっています。ゲーム内にはさまざまな難易度の問題があるので、初学者の方から腕に覚えがある方まで楽しめます。

本記事では、実際にプレイしながら自分のスキルを腕試ししつつ、分からない問題が出てきたときの対処法も合わせてお伝えしていきます。

一部問題の解答例も掲載しますので、参考にしてみてください。

問題を解きながらレイミを修復しよう

ゲームを始める

まずは『電脳少女プログラミング2088-壊レタ君を再構築-』のトップページからpaizaに会員登録※(無料)をします。すでに会員の方はログインしていただき、ニックネームがない方はここで登録をお願いします。

※paizaはエンジニア就職・転職サービスも運営しているため、登録時に関連している項目の質問がありますが、ゲームプレイ時には利用されません。

[GAME START]ボタンを押すとオープニングムービーが流れます。その後、問題への挑戦方法をチュートリアル形式で紹介しています。操作方法などはゲーム開始後のメニュー「遊び方」からも確認できますのでご活用ください。

ラボ(マイページ)を確認する

マイページとなる「ラボ」からパーツ探索(プログラミング問題挑戦)画面に進んだり、レイミの修復画面に進んだりできます。下部のメニューボタンからミッションやランキング、遊び方などのページに移動することも可能です。

メニュー下に配置されている言語パーツアイコンは、paizaのスキルチェックに該当言語で挑戦することで獲得できます。全バッジコンプリートで手に入るミッションアイテムもあるので、ぜひチャレンジしてみてください。


レイミを修復する

「レイミの修復」画面では、ボディパーツや性格設定を変更できます。初回は操作チュートリアルがありますので、同じようにパーツを着せ替えてみてください。
選択できるパーツや性格を増やすには、「パーツ探索」から問題に挑戦するか「ミッション」をクリアする必要があります。


パーツ探索を開始する

ではさっそく「パーツ探索」でレイミのパーツを増やしていきましょう!

「パーツ探索」のマップ上では、プログラミング(コード)問題とSQL問題とが色で区別されています。マップ上のS・A・B・C・D・Eのアルファベットは、paizaのスキルチェックの難易度と対応していますので、まずはDのプログラミング問題から解いてみたいと思います。(スキルチェックの難易度について詳しくはこちら

プログラミング問題(Dランク相当)を解く

Dの問題の中でもEASYアイコンがついている「カジノ」を選択しました。
ここで問題に正解すると頭部のパーツが獲得できるようです。

問題はこのように表示されます。Dの問題は問題文は短いですが、条件などの見落としがないようしっかり読みましょう!

今回はPython3で解くことにしました。四則演算の処理がわかれば大丈夫そうな問題です。
ブラウザ上でコードを書いて実行、提出前動作確認をして大丈夫そうであればコードを提出します。

街なかをサーチしながらテストケースを通しているようです。どきどき……

無事、正解となりました!

(参考)標準入力・標準出力

プログラミング問題を解く際は、与えられる値を取得する標準入力、結果を出力する標準出力を理解する必要があります。(参考ページ:標準入力・出力とはなんですか?)

たとえば、上記でPython3を選択した際、デフォルトでコードが入っています。これが一番単純な標準入力・出力のコードになります。

# 変数:input_lineに標準入力から取得した値を格納
input_line = input()

# input_lineの値を標準出力
print(input_line)

1つの値だけが渡される場合はこのまま使えばうまくいきますが、複数の値が改行、半角スペース区切りやカンマ(,)区切りで与えられることもあります。問題に合わせて対応できるようにしておくとよいでしょう。

SQL問題(Cランク相当)を解く

次はSQLの問題を解いてみます。今度はCの問題を選んでみました。

SQLの問題もブラウザ上でコードを書いてそのまま実行できるため、環境構築の手間が一切ありません。データベースのインストールや新規作成、データの準備といった作業を省けるのはとても楽ちんですね。

さらに、問題にはテーブル情報やテーブル間の関係を図示した説明が付いているので、初学者の方でも視覚的に理解しやすくなっています。

この問題では、3つのテーブルが図として示されています。これらを結合してデータを取得する必要がありそうなので、テーブルの結合について書き方を調べながら問題を解いていきます。
問題を解くだけでなく、『何を知らなければいけないのか』『どう調べればよいのか』といった力も身につけていけるとスキルアップにつながります。また、paizaのプログラミングゲームでは、書いたコードはその場で実行して確認でき、問題には時間制限がなく何度でもやり直せるので、自分のペースで進められるのが嬉しいですね。
ではさっそく解答コードを書いていきます。

カテゴリと記憶のテーブルを結合して……”悲しみ”カテゴリに絞って……
動作確認をすると、記憶のIDと会話内容が表示されました!おお、なんか物語がちょっと見えてる!

無事にクリアして新しい性格をゲットできました。新しいアイテムも手に入ったのであとで装備を変更してみます。

なお、SQLの問題に限りませんが解き方・コードの書き方はひとつではないので、上記のコードだけが正解というわけではありません。「もっと効率よくコードを書くにはどうすればいいか?」といったことを考えながら解いてみるとより力がつくと思います。

問題につまずいてしまったら

さきほどの問題画面を見ていただいた方はお気づきかと思いますが、問題によってはpaizaラーニングの学習講座へのリンクがあるため、分からない場合はそれを見てから挑戦することができます。(リンク先は有料講座の場合もあります)

paizaラーニングでは、主要プログラミング言語の基礎文法から一部発展的な内容までしっかり身につけられる「体験編」「入門編」の講座を多数公開しています。

新・SQL入門編」は、SQLをはじめて学ぶ方が基本的な文法を習得できる学習講座になっています。

新・SQL入門編講座

また、ゲーム内の問題を解く際は、記述の仕方や関数の使い方などをインターネットや書籍などで調べたり人に聞いたりしても構いません。

C・Dランク相当の問題解答例

ここまで2問解いてみましたが、「パーツ探索」から挑戦できるC・Dランク相当の問題の中からランキング問題を除く計7問のPython3の解答コード例を公開します!

解き方が分からなかった問題や解けたけどもっと効率的なコードを知りたいといった方はぜひ参考にしてみてください。もちろんクリアできるコードの書き方はひとつではありませんので一例としてごらんください。

問題文・条件などは「パーツ探索」のマップから各問題ページへ遷移してご確認ください。

プログラミング問題

D:カジノ
a,b,c = int(input()),int(input()),int(input())
print(a*1+b*5+c*10)
D:郊外のスラム街
n = int(input())
print(n//2+100)
D:ネオン街の裏路地
n = int(input())
l = []
for i in range(n):
    l.append(int(input()))
print(max(l))
C:自然の残る公園
N, a, b = map(int, input().split())
islands = [tuple(map(int, input().split())) for _ in range(N)]

ans = -1
dist = 1 << 63

for i, island in enumerate(islands):
  d = (island[0] - a) ** 2 + (island[1] - b) ** 2
  if dist > d:
    dist = d
    ans = i+1

print(ans)

ループ処理(for文)・分岐処理(if文)、リスト操作などを理解する必要があります。

paizaラーニングのPython3の学習講座(無料)でいうと、以下のレッスンを学習するとよいでしょう。

SQL問題

D:データセンター
select id, name from person
C:二人が通った教室
SELECT id, talk FROM memory ORDER BY id ASC limit 10

C:会員制ジム

SELECT memory.id, memory.talk FROM 
memory INNER JOIN category ON memory.category_id = category.id 
WHERE category.name = "悲しみ" AND memory.importance >= 3

SQLの問題はヒントとなる学習講座を問題ページで紹介していますので、そちらも参考にしてみてください。

B以上は難度が高くなっていくので、初学者の方は「レベルアップ問題集」を使って練習問題をたくさん解いてからチャレンジしてみるのもおすすめです。解答例・解説のある問題も多数ご用意しています。

paizaのエンタメコンテンツご紹介

paizaでは、他にもエンタメ系コンテンツを多数公開しています!

たとえば、ファンタジー世界を冒険しながらプログラミングの基本を学べる『コードクロニクル』、近未来のアポカリプスな世界観を楽しめる『エンジニアが死滅シタ世界』などが人気です。

楽しくプログラミングを学びたい、プログラミングの息抜きにプログラミングをしたい…というときにはぜひご活用ください。

まとめ

以上、paizaがリリースした新作プログラミングゲーム『電脳少女プログラミング2088-壊レタ君を再構築-』を実際にプレイしてみました。ゲーム感覚でプログラミングを学べるので、とても楽しく、学び直しや新しい知識の習得にもぴったりだと感じました。

プログラミングに興味はあるけどまだ挑戦したことがない…といった方や、勉強が続かなくて困っている方、そして難度の高い問題に挑戦したい方まで、幅広い方におすすめできる内容です。気軽に楽しみながらプログラミングの面白さを実感できるこのゲーム、ぜひ一度プレイしてみてください!

Qiita × paiza 記事投稿キャンペーン

2025/02/24まで『電脳少女プログラミング2088』の記事投稿キャンペーンを実施しています!
ゲーム内のプログラミング問題に挑戦し、Qiitaで解答コードや解説などを記事として投稿するとMeta Quest 3S、Nintendo Switch、Amazonギフトカードが当たります!
問題につまづいた時に他の方の解説や解答コードを参考として、本キャンペーンに参加されている記事をご参照いただいてもOKです。また、つまづいたポイント、解決方法などをぜひ記事としてご投稿ください!

paizaのおすすめコンテンツ

“denno2088” プログラミングゲーム「電脳少女プログラミング2088 ─壊レタ君を再構築─」 CGC codemonster プログラミングゲーム「コードモンスター大図鑑 プログラミングでゲットだぜ!」
paiza転職 paiza新卒 EN:TRY paizaラーニング 記事内に記載している情報は、記事公開時点でのものとなります。 Copyright Paiza, Inc, All rights reserved.