1. なぜじゃんけんアプリ?
私が初めて作ったアプリは、コンソールで動く “High & Low” というゲームでした。
あのくらいの規模から始めるのがちょうどいい。
でも、もっとみんなが親しみやすい題材で考えると、
「じゃんけんアプリ」 が最適だと思っています。
理由はこんな感じ。
- 仕様を考えるのに時間を取られない
- 完成系が見えやすい
- 最低限の動きがすぐ作れる
- 人に見せるネタにもなる(エンジニアじゃなくても理解できる)
この辺を踏まえると、学習ネタとしてはベスト。
余談だけど、じゃんけんの構造ってゲームでよく使われますよね。
- 水 → 火、火 → 草、草 → 水
- 上段切り → 中段切り、中段切り → 下段切り、下段切り → 上段切り
こういう“3すくみ”の構造はゲームの基礎でもあるので、学習題材としても相性が良い。
2. サンプル課題(じゃあ試しにこんなのどう?)
課題として出してみます。
JavaScriptなどのブラウザアプリを想定していますが、他の言語でもOK。
じゃんけんアプリを作ってください。
(AIの利用は禁止とします)
■仕様
・ユーザーが「グー」「チョキ」「パー」を選べる
・アプリ側がランダムで手を出す
・勝ち / 負け / あいこ を判定する
・結果を画面に表示する
コード例はあえて書きません。
自分で調べて作ることが学習になるからです。
そしてAIも利用禁止。
このレベルでAIを使うと「考える部分」が全部AIに奪われてしまうので、基礎力がつきません。
3. 発展系を考える
ここからは少し実務寄りの話。
発展系を自分で考えることで、
業務で必要な“仕様を考える力” が鍛えられます。
例えばこんな感じ。
- 3回勝負にする
- 勝負の回数を選べるようにする
- 履歴を残す
- 勝率を表示する
- 見た目をかっこよくする(面白くする)
発展系を想像した上で作れるようになると、
- 改修しやすいように作ろう
- 関数を分けておこう
- 状態管理を整理しよう
など、業務で必要な考え方が自然と身につきます。
4. 課題の狙い(まとめ)
じゃんけんアプリを作ること自体が目的ではなく、
作る過程に学びが詰まっています。
例えばこんな基礎が鍛えられる。
- 入力(ボタンを押す)
- ランダム処理(相手の手をどう可変にするか)
- 条件分岐・繰り返し
- 状態管理
- UI(画面表示、操作感)
アプリを作るうえでの最低限の基礎が詰まっているので、
これができるかどうかで 業務での理解度がかなり変わる はず。
もちろんそれだけでは足りない
業務ではサーバにリクエストしたり、DBを扱ったり、もっと広い知識が必要です。
でも、入口としての最低限はこのレベルで十分。
サーバサイドを触る業務なら、自分で仮想環境を作って動かすなども試してほしい。
5. 次回予告
次は、もう少し実務イメージが湧くように、
実務ネタの最小ツールとして
文字列変換ツール
を取り上げます。
ツールとして普通に使えるし、
実際に業務コードにも役立つと思うのでお楽しみに。
📚 シリーズ一覧
- 【第1回】後輩に「どう学習してますか?」と聞かれたので真面目に考えてみた話
- 【第2回】学習ネタ①:じゃんけんアプリ — 最初の一歩に最適な理由(この記事)
- 【第3回】学習ネタ②:文字列変換ツール — 実務に直結する最強題材
- 【第4回】学習ネタ③:表データ → テキスト変換ツール — Excelなしで実務感をつかむ