さーて今日も今日とて1−1で3重キラ付だぁ!
はい1週目終わった、次は2週目ね。
えーとこれは3週目だったかな?うーんと、
今何週目だっけ
艦これあるあるに間違いなく入る「今キラ付け何周目だっけ問題」。
この問題に対して傾向と対策を練っていきたいと思います。
1. 一般的な解法例とそれのダメなところ
- キラ付するときに出撃した回数を紙やPC上に記録する
- 出撃するときにその回数に応じて物を動かす
(カードだとしたら1週目は縦置き、2週目は横置き、3週目は裏返すなど)
- 任務を使って回数を数える
それぞれのデメリットは以下です。
- 出撃するたびに記録するのが面倒&忘れやすい
- ↑に同じ
- キラ付回数に制限がある
3はライトなプレーヤーならいいんですけどね。
フルでキラ付遠征を回す方にはお勧めできません。
さて問題点は3を除き、出撃毎にカウントを変えなければならないことに収束します。
周回した数が動的であるから記録も動的でなくてはならないと。
果たして本当かなぁ?(ニチャァ
2. ぼくのかんがえたさいきょうの1-1キラ付け方法の原理
ある点での周回数に依存せず、周回数を測る方法など存在するのでしょうか。
あります。
答えは
経験値です。
周回した回数を記録するのではなく、
「次のレベルまでの経験値」を記録することで逆算的に周回数を導出します。
基本的に1−1を3周した後の残り経験値は最初に比べて約600減ります。
これはレベルアップの場合を除きだいたい一定です。
つまり今が何周目であろうと周回前の残り経験値から600を引いたところがゴールであるということは不変です。
この
「ゴール地点が変わらない」というのがミソになります。goodby面倒。
ちなみにこの方法は1−1を一周して得られる経験値が約200であることを用いています。
そのため1−5だと少し(かなり)計算が煩雑になってしまうのでお勧めしません。
3. ぼくのかんがえたさいきょうの1-1キラ付けのやり方
以上の原理を用いた私のキラ付けの方法です。
- 1周目の1戦目終了時の残り経験値から500を引く。
- 引いた結果の百の位を左手で表現(=記録)する。
- 3周目の2戦目終了時に残り経験値の百の位と左手の数が一致するはずなので周回をやめる。
上から説明していきます。
上の原理から考えると、戦闘前に残り経験値を確認し3周分の経験値(600)を引いたものを記録するべきです。
しかしそれは
面倒なため、初戦のリザルト画面で経験値を確認しています。
なお初戦に経験値を獲得しているので、残り経験値から600ではなく500を引きましょう。
難しい点は
初戦を初戦だと記憶することです。まあ頑張りましょう。
また2点目の「左手で表現」について難しく考える必要はありません。
4を表現するなら、左手で4を作ればいいだけの話です。(9なら4を裏返すとか?)
ただこれについて私なりの表現方法を次の章で説明します。
2,3点目で百の位以外を無視していますが、これは問題ありません。
一周で得る経験値が約200なので、十の位を記録してもあまり意味がありません。
「十の位で繰り上がりや繰り下がりが起こったらどうするんだ!」とお考えの方もいるでしょう。
これに関しても次の章で説明します。
”ぼくのかんがえたさいきょうのほうほう”であってもデメリットは生じます。
原理にチョロっと書きましたが、周回の途中でレベルアップすることが考慮されていません。
私は気合いで乗り切っていますが、いい方法があったら教えてほしいです......。
4. 左手を上手く活用するには
さて百の位を記録するだけでは十の位で繰り上がり(下がり)に対応しきれません。
十の位が8や9なら、百の位を+1するのがベターです。
例えば、残り経験値が1289なら、だいたい1300だから2ではなく3を表現するといった感じです。
もっと賢い方法はないのか!もっと細かくしろ!
そんな
欲張りさんは今から説明する方法を使えばスッキリするかと思います。
二進指数え法 - Wikipedia
百の位を0〜9に分けるということは全体を10通りに分けることしかできません。
表現できる数が増えればそれだけきっちり分けることができます。
なら倍の20通りに分ければいいじゃない。
二進法を使えば片手で32(=2^5)通りまで表現できます。20なんて楽勝なのです!!
さてここで基準という言葉を定義させてください。
一戦目終了時に、残り経験値から500引いた後、十の位を丸めたものを基準とします。
上で書いた「だいたい◯◯」の◯◯が基準になります。
例: 残り経験値 : 1587 → 基準 : 1600
残り経験値 : 1624 → 基準 : 1600
ここでは
基本となる10通りを指4本で表し、残りの1本で基準より+かーかを表現します。
自由に決めてもらっても構いませんが、指4本を人差し指から小指までとして0〜9までを表現させます。(当然小指が一の位、人差し指が八の位を表します)
親指は 残り経験値 > 基準 なら親指を伏せ(=0)、残り経験値 < 基準なら親指を立てます(=1)。
こうすることで基準より+かーかを親指(左端)で表現します。
余談ですがプログラミングで使う一般的な整数型の変数でも同様に、符号ビットが桁の左端にあり、残りの桁で絶対値を表します。
これ地味にすごくない?ねえすごくない?もっと褒めてよ!
文だけでは伝わりづらいので一連の具体例を上げていきます。
指を伏せているのを0、指を立てているのを1とし、最左桁が左手の親指、最右桁が左手の小指に対応します。
また初戦終了時の残り経験値をA、そこから500を引いてものをB、そこから丸めた物をC、左手の表現列をDとします。
具体例:
A = 3291 → B = 2791 → C = 2800 → D = 11000
A = 1030 → B = 530 → C = 500 → D = 00101
A = 765880 → B = 765380 → C = 765400 → D = 10100
A = 114514 → B = 114014 → C = 114000 → D = 00000
A = 334 → B, C, Dは未定義
左手を整数型変数みたいに表現する人他にいないと思うので
「アスラト式キラ付回数記録法」って名前つけるよ!みんなこの名前使ってね!!!!!!!!!!!!!
4. おわりに
ちなみに私は最近キラ付することが激減したのでこの方法使ってないです(え