いまさらですが、昔はやったクッキークリッカーを作りたくなったので、作ってみました。
クッキークリッカーの基本ルールは、こんな感じ。
- クッキーをクリックすると、クッキーが+1。
- たまったクッキーを支払うことで、アイテムを購入できる。
- アイテムを購入すると、毎秒クッキーがもらえるようになる。
- アイテムは購入するごとに、値段が1.15倍されていく。
で、追加ルールとして、クッキーが一定量貯まると、イベントが走る機能を追加。
この時点で、だれもが知ってるドラゴンボールでやってみることに決定。
クッキーの代わりに戦闘力を使います。
出来上がりはこちら。
■ドラゴンボールクリッカー
https://dbck.dog-ears.net/
ソースコードはこちら。
(ちなみにAngularで作ってます。)
■github - dbck
https://github.com/dog-ears/dbck
なるべくシンプルにしたかったので、
コンポーネントは分けずに、app.component.tsにほぼすべて書いてます。
■github - dbck - app.component.ts
https://github.com/dog-ears/dbck/blob/master/src/app/app.component.ts
「亀仙人に弟子入り」アイテムが、亀仙人に出会う前に出てくると困るので、
各アイテムには、どこまで戦闘力が上がったら表示するか?という数値を設定してます。
また、今回、javascriptで小数点の計算すると、誤差が出ることを初めて知りました。
■JavaScriptで小数点の誤差が発生する件の備忘録
https://qiita.com/Chinats/items/e2647ca7900dfe7835a8
1に0.1を10回足しても2にならないんですね・・・JS。
ちなみに、戦闘力は、以下サイトを参考にしました。
■ドラゴンボール 極
http://dbkiwami.web.fc2.com/index.html
インフレインフレって言われてるけど、
序盤に関しては、そんなインフレしてないんですね。
桃白白、もっと圧倒的に強いイメージでした。
結論
- ドラゴンボールの戦闘力に合わせて作ったため、クッキークリッカーの醍醐味であるインフレ感が味わえなかった。
- クッキークリッカーは、プログラミング初心者には、最高の教材だと思う。
- 作るだけなら難易度は低いが、面白くしようとするとレベルデザインをしっかりする必要がある。