JavaScriptレベルアップ

大型アプデ予告来てますね
カルヴァの大型アプデ速度はいつもながら素晴らしいな

ちょうどマップが全部終わったところなのでマップ14はありがたいし
図書館とかいうのは、図鑑の収集要素みたいなもんかな?
エリクシールが手に入るのは確定っぽいので早く来てほしいですね

まあ、ちょっとこの辺は明日色々考えてみたいけど
昨日暇だったのでパック開封のシミュレーターを作ってみました

http://blogdivine.web.fc2.com/calva-gacha.html

ゴチャゴチャしてるけど使い方は簡単で
201508264292.jpg

①ガチャの種類を選択して

②開封するボタンを押す

すると結果が表示されます
どれだけ少ないダイヤで目当てのカードを引けるかというゲームですかね

試しにバジリッサをどれくらいで引けるかやってみました(´∀`)

201508264293.jpg

なんだこれは…
また幻術なのか?

とりあえずリアルマネーではなかったのでよかった
カラバッサ当てるまでのときとかこのくらいだったけどな;;

機能的にはDGのガチャシミュレーターを引き継いでいるけれど
今回はHTMLを1つにして、選択肢でガチャの内容を分けることにしました
その仕様だと新パックが来たときにパックを追加しやすくていいっすね

最初からそういう感じで作れよって感じですが
DGだとパックごとに、値段も違うし確率も違うので単純に出現カードを差し替えるだけでOKにならない
さらに言うと通貨もDG使用のものとDS使用のものがあったり
そう考えると、どのパックが選択されているかによってselect文でいちいち処理を分けないといかんかなーって思い
まあそれなら共通関数だけjsファイルに抜き出して…
あとは1ファイルに1パックにして個別に処理書いていったほうがいいよなってなりました

今回は
実は機能は同じだけどロジックは全く新しく作り直していて
構造体みたいなのでパックの定義を全部持たせてしまって
そこに値段と使用通貨、さらに1回のガチャで何枚カードが出るか(マジかは1)、確率、カードのリストなど
プロパティで持たせることができたので処理も分岐をあまりせずスマートに書くことができました

201508264294.jpg

var Packってのがパックのオブジェクトみたいに使えて
パックが追加になったら、新しくこいつを作ってプロパティ定義してやればいい

学生時代一応プログラムの授業はあったんだけど
何故かCしかなかったのでC以外はネット見てほとんどコピペしてたんで
ぶっちゃけJavaScriptはクラスもなければ連想配列もない
ズラズラかくだけの言語だと思ってたけど、便利なもんがあるんすね

しかし変数に関数(function)を突っ込むとかいう概念が正直慣れない…
どの言語でも、中級以上になればこういうのは使うんだろうか

無料レン鯖だとサーバーサイドで動くのはほぼ無理なので
唯一プログラムできるとしたらJavaScript
もっと勉強して色々書けるようになりてえなあ
ゲーム以外でも自分用にちょっとしたツール作るときとかも使えそうだし
jQueryとかも勉強すればさらに高度な処理でもスマートに書けたりするんだろうか

しかしプログラムって書籍で全体的に勉強しようとすると
大抵がHello World から始まって
変数の宣言の仕方とかそういうところから始まるんだよなあ

ぶっちゃけそういうのは覚えてなくてもいいというか…
大体ネットで検索すれば10秒でわかるし…

もっとモジュール化の作法とかメンテしやすいプログラムとか
そういうの勉強したいんだけどどうすればいいんだろう