【作成の過程】
次に取り組んだのは、昔ゲームセンターで遊んだ「じゃんけんポンっ」のゲーム作成。
目指すイメージは決まっているが、そこまでどういうプロセスをたどるかは、完全にオリジナル。
とりあえず、基本的なアプリ設計過程と同じように、要件定義→設計→実装→テストというウォーターフォール型の行程をたどってみた。
要件定義は、ただじゃんけんで勝敗を決めるゲームを作るというごくごく単純なものなので難しくない。
設計では、機能設計で実装したい機能を列挙して、データベース設計、画面設計とアプリのイメージを細分化・具体化していった。
そして、実装を始めると、この画面があった方がいいとか課題が出てきて、当初の設計の甘さを感じた(笑)
最終的にテストをして、最低限の形にはなったかなという感じ。
まだまだ、デザインがチープだったり、実装したい機能(ルーレット、対戦モード、コイン複数枚がけ…)はあるが、今後の課題ということで、
まずは、オリジナルのアプリを作り、それを形にできたことのうれしさを感じた。
【アプリの概要】
小さい頃にゲームセンターで、わずかなコインを握りしめて白熱した「じゃんけんゲーム」をプログラミングで再現した。
勝った時は歓喜し、負けた時は絶望に打ちひしがれて、帰路についた。なぜ、あの頃はあんなに夢中になれたんだろう。皆さんが童心に帰ることができればいいですね。
【主な機能】
・ユーザー登録機能
・ユーザーログイン機能
・画像ファイルアップロード機能
・ゲーム機能
・ランキング表示機能
【画面一覧】
・ユーザー登録画面
・ユーザー登録確認画面
・ユーザー登録完了画面
・ログイン画面
・ゲーム画面
・ゲーム結果画面
・コイン獲得画面
・ランキング画面
【開発環境】
・CSSフレームワーク:Bootstrap
・言語:PHP
・DB:MySQL
【苦労した点】
・ゲストモードの実装(どのような方法をとればいいか試行錯誤し、結果的にguestをデータベースに登録し、ゲストボタンを押した際、guestのデータを取得しアプリを使えるようにした。※上書きは許容しない)
・コイン枚数の画面間引継ぎ方法(セッションの受け渡しをできるだけシンプルなコードで表現したかったが…)
【今後搭載したい機能】
・対戦モード(人間二人で使用)
・コンピューターの出し手や、獲得するコインを、ルーレットで決定させる。
・2枚の3枚betや、勝ったコインを元手にチャレンジができ、ハイリスクハイリターンが狙える。