はじめに
この記事は長野高専 Advent Calender 2022の6日目の記事です。
ゲーム作りたいけどプログラム書くの難しいなぁ...せや!ショートカットで作ればええんや!!!
ショートカットって何?
iPhoneを買うとデフォルトで入っているアプリです.スクラッチのようにブロックを置いてプログラムを作成します.一般的には今日の時間割を確認するなど,日常でよく使うものをより簡単に行うために使われます. ショートカットなんてほとんど触ったことないという方が多いと思いますが,ショートカットには想像以上に多くの機能が存在しています.せっかくiPhoneがたくさんの機能を用意してくれているのに,これを使わないのはもったいない!
どんなゲームが作れるの?
結論として,初歩的なカジュアルゲーム,頑張ればRPGなどが作れます.
ショートカットがゲームを作るために提供されたアプリ出ない関係上,作れるタイプのゲームは限られてしまいます.
- 動的な画面描写ができない
ユーザーがボタンを押すまで画面が変化することがないので,アクションゲームなどのものは作れません.
- そもそもグラフィックに弱い
画像を表示させればできないことはないですが...基本的にテキストベースのゲームになります.くそ雑魚じゃん!
よってテキストだけで完成させられる初歩的なカジュアルゲーム,RPG等を作ることができます.
ゲームを作るにあたって,ゲーム部分もグラフィックも考えるとなるとかなりハードルが上がってしまいます.気軽にゲームを作るならこのくらい制約があっても悪くないですね!ですよね!!
環境構築
- iPhone または iPad の購入
これだけです.簡単だね!
よく使う機能の紹介
とりあえずよく使う機能をざっくりと説明します.ここにあるものはよく使う項目に登録することをお勧めします.
変数
これがなかったらプログラムを書こうと思いませんね.変数+100のような計算をしても変数の値は更新されないので,変数の中身を変えたいときは「変数を設定」を使って更新することを忘れないようにしてください(当たり前).
if文
if文です.elseも使えます.
繰り返し
for文です.一見固定された回数しか繰り返すことができないように見えますが,長押しすることで変数も使うことができます.リストの要素について繰り返し処理したい場合は「各項目を繰り返す」を使います.
リスト
配列です.一見便利そうに見えますが,なんと各要素の値の書き換えや消去の機能がありません!!その辺をしたい場合は自力で実装する必要があります.早く解決してくれーー
辞書
辞書型です.どうやらjsonで管理しているようです.こちらはkeyに対応する値の書き換えは簡単に行うことができます.
ショートカットを実行
ほかのショートカットを実行することで関数として使うことができます.入力の値もせっていできるし,「停止して出力」を使えば返り値も設定することができます.実行するショートカットを自分自身に設定することで再起関数も実装できます.しかしこれにも問題点があります.それはものすごく実行に時間がかかること(古いiphoneを使っている場合は特に),配布難易度が上がる事です.関数の中身が短いなら極力作るのを避けるべきです.
結果を表示
print関数です.デバッグや文章の表示をする際に用います.似たようなものとして,「アラートを表示」というものがあります.
入力を要求
ユーザーに数字やテキスト,時間等の入力を求めます.
メニューから選択
ユーザーにAとBの選択肢から選んでもらいます.選択肢は好きな数だけ作ることができます.リストの中から選択したい場合は「リストから選択」を使います.
ファイル
ショートカットではフォルダを作成する,ファイルを保存,消去する等のファイル操作することができます.これを使えばセーブデータ等の実装も可能です.
ゲームの製作例
そんなわけで非常に簡単なゲームの例として「1/10の確率でたぬきに有り金全部奪われるゲーム」を,ちょっと頑張った例として記録を保存する機能が付いたHit&browを作ってみました!ぜひ遊んでみてください!!!
1/10の確率でたぬきに有り金全部奪われるゲーム
Hit&Blow
ショートカットを動かしていると,次のような画面が出ることがありますが,常に許可を押せば大丈夫です.
みんなもショートカットでゲーム作ってtwitterに投稿して,承認欲求モンスターを満たしましょう!