paizaでは、2022年1月18日に新作プログラミングゲーム『SILVER BULLET 戦場のエンジニア 銀の弾丸コードを打て』をリリースしました!
舞台は、世界中でIT化が加速し、プログラミングが生存のために重要なスキルの一つとなった近未来の戦場。
『SILVER BULLET』は、プログラミング問題を解くことで敵の拠点を制圧し、新たな武器や装備を獲得していく、近未来の戦場を舞台にしたアドベンチャーゲームです。
(※プログラミング問題への挑戦がメインのゲームですので、武器の知識などがない方も問題なくプレイできます)
エアソフトガンメーカーの東京マルイの監修のもと製作! こだわりのグラフィックにも注目してみてください。
ゲーム内にはさまざまな難易度の問題を用意しており、プログラミング問題を解くのが初めての方も、すでに腕に覚えがある方も楽しめます。合わせて、リリースを記念した各種キャンペーンも実施中!問題に挑戦してAmazonギフト券やゲーム内アイテムをゲットしましょう。
本記事では、実際にプレイしながら問題が解けずに詰まってしまったときの対処法などもお伝えしていきます。
プログラミング問題を解いて拠点を制圧していく
ゲームを始める
まずは『SILVER BULLET』のトップページからpaizaに会員登録(無料)をします。
※paizaはエンジニア就職・転職サービスも運営しているため、関連している項目の質問がありますが、ゲーム時には利用されません。すでに会員の方はログインをお願いします。
[GAME START]ボタンを押すとプロローグが流れます。
マイページを確認する
マイページから侵攻(プログラミング問題挑戦)画面に進んだり、装備を変更したりできます。また、ランクや制圧状況の確認もこちらでおこないます。
paizaでプロフィール入力をしたりスキルチェックを受けたりしたことがある場合、マイページにアクセスすると、いくつか装備が開放されます。
装備を変更する
装備をデフォルトから少し変更して侵攻に向かうことにします。マイページの[装備 EQUIPMENT]をクリックして装備ページへ遷移します。
自分の好きな組み合わせでカスタマイズできます!ロングが好きなのですが、現時点ではまだ使えないみたいです……。武器ももっと大型のを使いたいですね。がんばって開放していきましょう。
なお、画面上部の[遊び方]メニューを押していただくと、画面や基本操作の説明ページがありますので参考にしてみてください。
いよいよ侵攻する
マイページの[侵攻 INVASION]をクリックするとマップ画面へ遷移します。制圧したい敵の拠点を選び、問題に挑戦していきます。
問題の選択
侵攻先の難易度は以下のようになっているため、まずはDから挑戦したいと思います。もちろん自信がある方は最初から難しい問題を攻めていっても構いません!
侵攻先の名称にカーソルを合わせるとクリアで得られるアイテムが確認できます。気になるアイテムから狙うのもよいでしょう。たとえば、「失われた娯楽施設戦」ではショートセットがゲットできます。
侵攻先をクリックしたページでも詳細を確認できます。では、この問題に挑戦してみましょう。ちなみに時間制限や回数の制限はなく、いつでも・何度でもチャレンジできます。
問題に解答
問題はこのように出題されます。
問題文だけでなく、入力される値や条件、期待する出力なども記載されているので、しっかり目を通してクリアを目指したいと思います。
下にスクロールすると、解答欄があります。「使用する言語」を選択してください。今回はPython3を選択しました。
コードを書いたら即提出!したい気持ちもありますが、いったん[提出前動作確認]で期待した出力ができているか確認しておきましょう。
大丈夫そうですね!ということで、提出してみます……
無事クリアで勝利!!制圧完了です。
(参考)標準入力・標準出力
プログラミング問題を解く際は、与えられる値を取得する標準入力、結果を出力する標準出力を理解する必要があります。(参考ページ:標準入力・出力とはなんですか?)
たとえば、上記でPython3を選択した際、デフォルトでコードが入っています。これが一番単純な標準入力・出力のコードになります。
# 変数:input_lineに標準入力から取得した値を格納 input_line = input() # input_lineの値を標準出力 print(input_line)
選択した「失われた娯楽施設戦」では、1行に1つの値が2行で与えられます。標準入力の記述の仕方はいくつかありますが、今回は2行(2つの値)と分かっているのでこれでOKです。
s_1 = input() s_2 = input()
もしくは、Pythonの場合、リスト内包表記というものを覚えておくと便利です。
s_1, s_2 = [input() for i in range(2)]
行数が変わったときにも簡単に対応できるよう変数ではなく、リストに値を格納していく方法もあります。
s_list = [input() for i in range(2)]
値は改行だけでなく、半角スペース区切りやカンマ(,)区切りで与えられるなどさまざまです。問題に合わせて対応できるようにしておくとよいでしょう。
ゲーム内の問題を解く際は、記述の仕方や関数の使い方などは調べても構いません。解答欄の左上にはヒントとなる、paizaラーニングの問題集へのリンクもありますので、参考にしてみてください。
ゲットしたアイテムを装備する
問題を解き進め、このように複数のエリアを制圧できました。
アイテムをいくつかゲットしたので装備を変えてみましょう。
この「AK-47」を選択します。最初に持っていた銃よりだいぶ本格的ですね。
同様に、ゲットしたショートヘアを選択、髪色も変えて……
このように自分の好きなようにカスタマイズして楽しんでいただけます。未開放のアイテムを選択すると、ゲットするための条件が表示されるので欲しいアイテムがあれば確認してみてください。
スキルチェックコラボ問題
次に、ゲームからいったん離れて、paizaが提供するスキルチェックとのコラボ問題をご紹介します。
「ランキング問題は難しくて手が出ないな……」という方も、コラボ問題は取り組みやすい難易度となっていますので、ぜひ挑戦してみてください。
スキルチェックとは
コーディング力やテストケースを想定する力などのプログラミングスキルをS・A・B・C・D・Eの6段階で評価(ランクづけ)するサービスです。
ランクに応じたプログラミング問題を解き、規定以上のスコアを獲得することでランクアップできます。
各問題につき10個以上の複数テストケースをチェック、負荷試験を実施し、実行速度も測定します。制限時間を設けており、回答までの時間もスコアに影響します。
詳しくはこちら
問題は難易度によりS・A・B・C・Dに分かれています。さきほどの侵攻先難易度もこのS~Dに相当します。今回のコラボ問題はD・Bの2問です。
解答形式はゲームとあまり変わりませんが、スキルチェックの結果は就活・転職の際にスキルを証明する情報のひとつとなるため問題内容のSNSでの共有、他の人のコードを見るといったことはご遠慮いただいています。(ご自身で調べる分には構いません)
また、制限時間がありますので実力を試す意気込みで臨んでみてください。
ちなみにコラボ問題のDランク問題をクリアしてゲットしたタンクトップを装備させてみると……
だいぶ動きやすそうになりました!(防御力はやや不安ですが)
問題につまずいてしまったら
プログラミング初心者向け
プログラミング自体が初めての方は、まず基礎文法を学びましょう。
paizaラーニングの初心者向け講座のうち、「体験編」は全言語無料で公開中、「入門編」も一部無料で受講できます。ご自身のレベルに合わせてご利用ください。
また、プログラミングの基本はできているが、paizaのプログラミング問題に初めて取り組む方というには、Dランク相当の練習問題を解説している動画レッスン「スキルチェック入門編1:初めてのスキルチェック」をおすすめします。
「スキルチェック入門編」講座では、他にB・Cランク相当の問題解説をしているレッスンもあります。
他の方法としては、解答コード例や解説が参照できる「レベルアップ問題集」で問題に慣れるのもよいと思います。多数の練習問題を用意していますのでぜひご活用ください。
高難度問題挑戦者向け
S・Aランクの難しい問題がなかなか解けず行き詰まってしまったという方は、レベルアップ問題集内にあります、「リアルイベント問題セット」がおすすめです。
Aランク問題5つ、Sランク問題2つを掲載しており、難易度が高めの問題集となっています。Ruby、Python3、C++の解答コード例が参照可能です。
難度が高い問題は、ただコードを書くだけではクリアにならない場合があります。アルゴリズムを使って計算量を減らすといった工夫が必要になってきます。レベルアップ問題集には、「効率的なソートアルゴリズムメニュー」「グリッド版ダイクストラ問題セット」などアルゴリズムに関する練習問題もあります。目的に合わせてご活用ください。
paizaのエンタメコンテンツご紹介
paizaでは、他にもエンタメ系コンテンツを多数公開しています!
たとえば、ファンタジー世界を冒険しながらプログラミングの基本を学べる『コードクロニクル』、近未来のアポカリプスな世界観を楽しめる『エンジニアが死滅シタ世界』などが人気です。
楽しくプログラミングを学びたい、プログラミングの息抜きにプログラミングをしたい…というときにはぜひご活用ください。
まとめ
新作ゲーム『SILVER BULLET』の遊び方とプログラミング問題の解き方をご紹介してきました。
ミリタリーの世界観に興味がある方も、今回初めて興味を持った方も、ぜひ楽しくプログラミング問題を解いていただければと思います。
そして、ぜひTwitterで感想などをツイートしていただけると嬉しいです!シェアしてくださった方にAmazonギフト券が当たるキャンペーンも実施中です。詳細はゲーム内下部のキャンペーン案内エリアをごらんください。
「paizaラーニング」では、未経験者でもブラウザさえあれば、今すぐプログラミングの基礎が動画で学べるレッスンを多数公開しております。
詳しくはこちら
そしてpaizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。
スキルチェックに挑戦した人は、その結果によってS・A・B・C・D・Eの6段階のランクを取得できます。必要なスキルランクを取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って転職したい」という方は、ぜひチャレンジしてみてください。