2020/12/10

電車ゲームを通した
プログラミング的思考を育む
アプリケーション開発プロジェクト

A07 グループ

p. 1

目次

第1項

『プロジェクトの概要』

プロジェクトの背景・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・3
プロジェクトの目的・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・3
プロジェクトの目標・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・3
クライアントとユーザー・・・・・・・・・・・・・・・・・・・・・・・・・・・・3
アプリケーションの開発環境・・・・・・・・・・・・・・・・・・・・・・・・・・4開発メンバーの紹介・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・4
開発費・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・4

第2項『アプリケーションの概要』

アプリケーションの説明・・・・・・・・・・・・・・・・・・・・・・・・・・・・5【1】アプリケーションの説明・・・・・・・・・・・・・・・・・・・・・・・・5【2】用語解説・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・5【3】UI イメージ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・5【4】アプリケーション構成図・・・・・・・・・・・・・・・・・・・・・・・・6【5】パーツ＆操作方法・・・・・・・・・・・・・・・・・・・・・・・・・・・7【6】その他解説・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・7
類似コンテンツとの比較と新規性・・・・・・・・・・・・・・・・・・・・・・・・8

参考文献・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・9

p. 2

第 1 項 『プロジェクトの概要』
ここではプロジェクトの概要について説明する。

〇プロジェクトの背景
このプロジェクトの背景を示す。近年プログラミング的思考が必要とされる場面が増えてきており、小学校でのプログラミング教育の義務化が予定されている。

〇プロジェクトの目的
しかしいきなりプログラミング的思考を学ぶのは中々難しく、負担をかけてしまう。そこで私たちは電車ゲームを製作してプログラミング的思考を遊びながら楽しく身に付けてもらう。

〇プロジェクトの目標
プロジェクトの目標を示す。以下の 3 つが本プロジェクトの目標である。
① プログラミング的思考（順序・分岐・繰り返し）を身に付けられるアプリケーションを作成する。
② 遊びながら自然と学習できるアプリケーションを作成する。
③ 誰にでも使いやすい親切な UI を製作する。

〇クライアント・対象ユーザー
本プロジェクトのクライアントとユーザーを示す。
本プロジェクトのクライアントは「タカラトミーアーツ」とする。このアプリケーションにより親子で電車ゲームに夢中になり、親が電車の教育効果に気付くことで、プラレールなどの売上向上に繋がるようにする。
対象ユーザーのメインは幼稚園から小学校低学年の子供とするが、その子供をもつ親も対象にする。これは親子で一緒に楽しめるようにするのが狙いである。

p. 3

〇アプリケーションの開発環境
アプリケーションの開発環境について示す。
現状、本アプリケーションの開発環境は以下のものを考えている。
・Unity・C#などを考えている。この後の開発の進捗によって追加・変更などが出てくる可能性がある。

〇開発メンバーの紹介
ここでは開発メンバーの紹介をする。
開発メンバーは以下のようになっている。
プロジェクトマネージャー：丸山圭佑
プログラマー：小澤蓮・里見健太・菊池陸
デザイナー：宮澤壮志・星佑樹となっている。

〇開発費
ここでは開発費を示す。
プロジェクトマネージャーを 1h/1 万円、プログラマーとデザイナーを 1h/5 千円とする。
約 5890 万円、リスク費（合計×0.3＝1767 万円）を控除すると約 4123 万円となる。
（別資料の WBS を基に計算して算出）

p. 4

第 2 項 『アプリケーションの概要』
この項目ではアプリケーションの概要について示す。

〇アプリケーションの説明
ここではアプリケーションの説明を行う。
【1】アプリケーションの説明
このアプリケーションはレールなどを配置して電車を走らせる「電車ゲーム」を通して、遊びながら楽しく自然にプログラミング的思考（分解・抽象化・一般化・組み合わせ）を身に付けてもらうのを目的としている。
【2】用語解説
ここでは順序・分岐・繰り返しなどの用語について解説する。
『順次』とは「順番に処理を行うこと。」である。
『繰り返し』とは「条件を満たすまで動作を続けること。
」である。
『条件分岐』とは「条件により動作が変化すること。
」である。
【3】UI イメージ
ここでは UI のイメージ図を示す。
UI は以下のようになっている。

p. 5

このアプリケーションにはフリーモードとチャレンジモードがある。フリーモードでは自由にレールなどのパーツを配置して電車を走らすことができる。チャレンジモードでは出されたお題を基に電車を走らせる。
電車のパーツはカーソルを好きな場所に合わせてＢキーや N キーなどを押して生成できるようにする。また、キーを組み合わせることで向きを変えることができる。
その他の機能について、BGM を自由に ON/OFF ができます。また、左上のやり直しボタンを押すことで配置をリセットできます。
【4】アプリケーション構成図
ここではアプリケーションの全体像を示す。

ホーム画面には「シュミュレーション」と「チャレンジ」のボタンがある。フリーモードを選択すると自由線路を配置する画面が表示される。チャレンジモードを選択すると課題選択画面が表示され課題を選ぶ。課題を選ぶと課題遂行画面に移る。課題をこなすと成功画面または失敗画面が表示される。

p. 6

【5】パーツ＆操作方法
ここではレールなどのパーツと操作方法を紹介する。
①レール＆パーツ紹介
・直線レール・曲線レール・分岐レール（電車の進む方向を変えるレール）
・踏切
・駅・木・人などがある。
②操作方法↑↓←→キー・・・視点を動かす
Q キー ・・・ 上昇
S キー・・・下降
1 キー・・・上からの視点に切り替え
E キー ・・・直線レール
D キー + R,T,Y,U,F,G,H,J キー・・・曲線レール
C キー+ R,T,Y,U,F,G,H,J キー・・・分岐レール
N キー・・・踏切
M キー・・・駅【6】その他解説
ここではこのアプリケーションとプログラミング的思考の考え方の繋がりについて示す。
・レールのパーツを順番通り並べると順番通り処理される。
→プログラミング的思考における『順序』の考え方に繋がる。
・分岐レールが指す方向に電車が進む→プログラミング的思考における『条件分岐』の考え方に繋がる。
・分岐レールの方角が変わるまでぐるぐると線路を周り続ける。
→プログラミング的思考における『繰り返し』の考え方に繋がる。
・間違えたレールを配置するとゲームオーバーになる。
→実際のプログラミングでも間違ったコードを打つとエラーになる。

p. 7

〇類似コンテンツとの比較と新規性
ここでは類似コンテンツと共に新規性を示す。
□類似コンテンツ①『ツクレール』
このアプリケーションは自由にレールや建物を配置して電車を走らせて遊ぶゲームである。
②『アリロ』
これは全 12 種類のパーツを組み合わせてコースを作り、アリロというロボットをゴールまで走らせるおもちゃである。ボタンや声で動かすことも可能。
③『ロジカルニュートン

ニュートンのリンゴ』

12 種類のパネルの機能や動きを理解して組み合わせ、リンゴを仕分けるおもちゃである。
□新規性
自由に路線を組むものとは別に『チャレンジ』がある。これは出されたお題をこなしていくモードである。
「順序編」「分岐編」「繰り返し編」などプロラミング的思考の種類に応じた問題に挑戦できる。これにより電車ゲームで遊びながらプログラミング的思考を学ぶことができる。

「チャレンジ」の問題選択画面

p. 8

チャレンジモードの課題の例「A 駅→B 駅→C 駅と電車が走るようにレールを配置しよう！」
間違ったレールを配置するかレールを配置していない場所を走るとゲームオーバーとなる。

〇参考文献
https://play.google.com/store/apps/details?id=com.monois.android.eduapp32&hl=ja
ツクレール
https://www.irasutoya.com/
いらすとや
https://career-engineer.net/annual-income-pm/
株式会社アーテック 「アリロ」
https://www.hanayamatoys.co.jp/product/category/puzzle/logicalnewton/logicalnewtonapple.html
株式会社ハナヤマ 「ロジカルニュートン ニュートンのリンゴ」
https://benesse.jp/programming/beneprog//2018/07/13/computationalthinking/
図で解説「プログラミング的思考」とはhttps://dena.com/jp/press/004382
プログラミング学習アプリ「プログラミングゼミ」で本格的なゲーム作りが学べるコンテンツの提供を開始
https://dotinstall.com/lessons/basic_unity_v2
Unity 入門 ドットインストール
https://www.koschyexpress.com/unity/un001/
Unity で電車を走らせる Vol.1～20
電車の走らせ方やレールの作り方について一部引用させて頂きました。

p. 9https://gametukurikata.com/ui/startbuttonui
Unity でスタートボタン、ゲーム終了ボタンの UI を作成する
https://gist.github.com/Buravo46/8367810【Unity】カメラ移動を制御するスクリプト
カメラの移動のスクリプトについて引用させて頂きました。
https://www.sbcr.jp/product/4815606657/
Unity の教科書 Unity 2020 完全対応版 2D＆3D スマートフォンゲーム入門講座
https://xr-hub.com/archives/11035【Unity uGUI】InputField を用いてテキスト入力を受け取る方法
https://www.unityprogram.info/entry/Unity-Click-Destroy
Unity クリックした場所にオブジェクトを複製して、設定時間で消す方法 Unity 学習 14https://dova-s.jp/se/download1223.html
DOVA-SYNDROME
https://maoudamashii.jokersounds.com/music_bgm.htm
魔王魂
https://soundeffect-lab.info/
効果音ラボ
https://happylilac.net/ssk/sk1903041215.html
プログラミングドリル「３～４年の 楽しいプログラミング」 無料ダウンロード｜ドリルの王様 大特集
https://qiita.com/calmbooks/items/545745c3d3898170f7cf
Unity C# リロード（初期状態にもどる）的な処理
https://publicdomainq.net/
パブリックドメイン Q：著作権フリー画像素材集

p. 10