【BBasmz】仕様のメモ

BBasmzですが仕様的なものを忘れないうちに自分のためにメモっておこうと思いまして、こうしてキーボードに打ち込んでいるわけでございます。

 

まずはBBasmzの特徴を並べていきましょう。

・全部のパーツをソートできる

・URL出力で保存

iPhoneで1度サイトを読みこんでおけば、あとはネット接続無しでも動く

 

こんな感じですね。特に3つ目は重要ですね。人気ゲーの宿命である順番待ちの間に、電波の弱いゲーセンでもアセンを組めるようにしないといけません。

 

技術的な部分について。

 

全体的にふつうのJavascriptの書き方をしていて、jQueryをID操作の時だけ使うような、やや変則気味な実装になっております。そもそもこのサイトはjQueryが便利過ぎてヤバイと友人が言ってたのを思い出し、勉強ついでに作ったものなのでして…キレイに作りなおすのも時間がないしフルリファクタリングは死んだまま起き上がることができないことがあるとネスケさんもおっしゃっていた、気がします。

 

各パーツの数値テーブルはExcel→CSVです。

そのCSVファイルを読み込むために「jQuery CSV」を使います。

全部読み込むのに時間が掛かるのでajaxのasyncをfalseにして読み込み終わるまで待たせます。

読み込んだCSVはそのまま配列で持ち続けてます。

 
つまり、リストに表示されている値の計算はExcelでやっています。理由としては、途中に計算しなきゃいけない行を作ってしまうと処理が複雑になりそうなのでそこはExcelにやらせようというわけです。どっちに責務を持たせるかの問題なのでどっちでもいいと結論づけました。
 
ソート部分はjQueryのプラグイン「tablesorter」を使っています。これが非常に便利。
特にパーサと読んでる、ソートの順番ぎめができる機能がよろしいです。ボダブレは能力が高い方から S,A+,A,A- のように普通ではない順位付けが必要になりましたので重宝しました。具体的な話すると、A+はA0と置き換え、AはA1、A-はA2と置き換えることで数値による順位付けができるようになります。ただ、テーブルを表示するときに、どのカラムがランク表示なのか、などのように指定が必要なので、途中ですごいifの羅列があってソコが頂けない気がしてるが解決法がわかんないのでそのままです。
 
機体情報の保存をするためにPartsクラスを作りました。
インスタンスは2つ存在してて、1つ目は現在選択したパーツで構成されていて、2つ目はパーツのリストから選択中(ボタン1回押した状態)で構成されています。要は画面の 1つ目→2つ目 に該当します。クラス化したので重量やチップなどの計算するメソッドも混ぜることができてコードがすっきりしました。
 
重量計算について。
ここは非常にバグが多い部分でして、よく報告を頂いております。javascriptでは小数点計算をすると誤差がでることがある仕様のためです。下の記事を参照して頂きたいのですが「IEEE 754」なのでコレばっかりは、コーディングする側が気をつけないといけません。どう気をつけたかというと、小数点2桁の場合は、まず100を掛け算して整数にして、全部計算が終わったあとで100で割るって感じですね。歩行とダッシュは、重量超過10につき-0.25%となります。3.0で少数点を3桁に増やしたので早速バグをやらかしましたorz
 
※参考資料
JavaScript、お前もか(小数点を含む計算について)
 
 
今後の課題とかについても書いておきます。
 
・チップを選んでもステータスが変更とならない(重量耐性のみ対応)
 >これは3.0の本を買ったら大体正確な値が載っていたので、気が向いたらやりたいと思っています。
 
・ExcelからCSVをアップロードするまでがめんどい
 >ExcelでCSVを保存するのに、CSV形式で保存するまでのクリック回数が多くてめんどいのと、文字コードUTF-8に変更しないとならないのがめんどうくさい。
 
更新のための情報収集サイトは以下の通り(いつもお世話になっております助かります)
twitterの #borderbreak タグ
2ch
・したらば
・あとは公式アナライズブック
 
以上かな?他になんかあったら追記します。
 

フォーミュラ新規追加! #borderbreak

http://expz.net/bbasmz/

フォーミュラⅡ型、Ⅱ型C、F型 を追加しました!

毎度のこと、各パラメタの値はとりあえずなもので、検証待ちです…!

 

まさかのホバー!

これまでのホバーはぬるぬる動く感じでしたが、

今回のホバーはシャキシャキ動きますねー。

さっそく、ホバー動画でおなじみな「めどいさん」が

動画を上げてくださってるので

みんなでみよう!

 

 

はええーダッシュA+はええー

カメラ追いついてない!

そういう演出としてもかっけえー

 

全兵装に1つづつ追加! #borderbreak

http://expz.net/bbasmz/

更新内容は以下!!

・42型クラッカー

・ウィーゼル・オルタ

・照準補正装置・強化型

・レイジスマック

 

42型クラッカーは そ れ で よ い の か !

威力も低いし重量はおにぎりより重いし…せめて装弾数を上げて欲しかった!

オルタは良さ気ですね。秒間火力が機関砲並み!これは流行る…!

照準補正装置は使ったことないのでなんとも(ぇ

レイジスマックは音が良い!装弾数少なすぎなんでワンチャン狙いかな。

 

次は新機体「フォーミュラ」かな!

名前からして速そうなんですけど修羅wさんが草生やされないか心配です。

 

編集してて思ったけど、スマック系の連射速度は 50/min となってるので、

実際の1発の値より少なくなってるんですが、

これ、スマックだけ秒間火力=1発の威力にしたほうがよいのかしらん。

 

【BBasmz】エアロセントリーとリペアセントリー

BBasmz更新です!

http://expz.net/bbasmz/

 

エアロセントリー

エアロセントリーS

リペアセントリー

リペアセントリーβ

を追加しました!!!!

 

今回はなんと先生が4人も追加に…!

エアロ先生は威力ぜんぜん無いけど複数設置できるのは強いですね。

凸屋のセンサー用途に使えたり、

プラ戦で1つ壊されても大丈夫な維持時間が伸びるきっかけ作れたり

なんか面白そうですね。

 

リペアセントリーはβがS来ましたね。回復速度はやーい!

保健室の女医さんに大量にぶっかけられたい(大破

 

こっそりチップまわりも見なおしています。

チップ数が違っていたの治しました。

ニーキックとか違ってました。誰も使ってないのかな(笑

 

 とりあえず今日はこんなかんじで~

javascriptの小数点演算で誤差がでる話

「BBasmz」について、

チップ数の合計値が-0.1となるバグ報告がありまして、調べていたところ、

どうも 2.8+2.4の答えが5.2じゃなくて、5.199999999999999となるのが原因でした。

 

どうやらこれはjavascript浮動小数点演算にIEEE754を採用しているからとか。

http://detaramedia.blog95.fc2.com/blog-entry-81.html

http://d.hatena.ne.jp/mindcat/20091108/1257677412

 

詳しい検証は後からするとして、

今のところはチップ数に*10して整数として加算するよう修正しました。

いやほんと想定外でした。

 

ご報告ありがとうございました!

 

チップ大量更新!コスト4あるんすか! #borderbreak

チップが増えたよ!やったねた!

http://expz.net/bbasmz/

 

情報元は公式とか2chとか妄想とか。

ですが、まだまだ情報が少ないので、とりあえずな値を入れてます!

判明次第更新しまくります。

twitterで教えてくれてもよいのよ…?(チラッチラッ

 

目玉はやっぱりマジカッコイイ「クイックステップ」でしょうか。

早速ヤバめな動画が…!これはwwww最強の予感…

 

2chのテンプレ入りしててマジびっくりです。うれしいです。

ありがとうございます。もう少しがんばれそうです!

 

しかしチップ欄も長くなったなあ…分割したいな。

こんなに先日のHGG、修羅wに続いてチップもたくさん…

こんなハイスピード更新して大丈夫かセガさん…!

 

今日はこのへんで!