モーター、あなた疲れてるのよ

FF11からくり士の遊び。スーパープレイはありません。

簡単な計算機を作ろうの会(&必要STP計算機・試作品)

10年ぶりさんの記事を参考に1から手動で必要STPを計算していましたが、ある程度自動計算されるようにしようと思いました。ざっくりの試作品かつ、二刀流・格闘にはまだ対応していません。

f:id:tiredmortar:20200701142221p:plain

計算機は10年ぶりさんが提供されています。調べれば他にもあるかもしれません。ちゃんと計算したい方はそちらを利用するのも良いかと思います。

間隔とSTPを入力するだけで計算されてほしいなぁと思い、自分でもゴニョゴニョしてみました。私はプログラマーでも何でもなく、詳しくはないので気をつけてください(?)。

ちょっとした計算をするのに電卓よりも便利

という理由でいじっています。

ブラウザでプログラムを実行

paiza.ioなどの、ブラウザ上でプログラムを実行できるサービスを利用。やったことないですが、スマホは対応してないかもしれません。

とりあえず言語はPythonしかわからないので、左上の言語をPython3にします。

f:id:tiredmortar:20200701015254p:plain

最初から書かれている冒頭2行はコメントです(実行されないメモ書き)。# 以降の文字はコメントになります(その行だけ)。

文字列を表示させてみる

print('ここの内容が文字列として表示されるよ')

print は内容を表示するものです。print しないといくら計算しても表示されない…と思います。上記を書いて「実行」をクリックすると、下部に出力結果が表示されます。

f:id:tiredmortar:20200701020708p:plain

文字列・文章を表示するには''(シングルクォーテーション)もしくは""(ダブルクォーテーション)で囲む必要があります。

簡単な計算をしてみる

文字列ではない、数字の計算の場合は''等は必要ありません。

print('1 + 1') #文字列扱いなのでそのまま表示される
print(1 + 1) #計算結果である「2」が表示される
結果:
1 + 1
2

長い足し算や引き算ができるので、これだけでも結構便利……だと思っている!

print(1 + 1) #足し算
print(1 - 1) #引き算
print(2 * 5) #掛け算
print(100 / 10) #割り算
print(1000 + 2000 + 300 + 400 + 500 + (100 * 2) + 200) #長い計算
結果:
2
0
10
10.0
4600

これだけでもすでにダメージ計算ができる(はず)

ダメージ計算は大体、加算・減算・乗算・除算で行われるのでいけると思います。

ロンフォのウサギですら誤差が出ているので式や数字が正しいかどうかは置いといて、例えば属性WSダメージっぽいものは以下のような感じで出せると思います(参考:FF11 BOXさん)。

追記:ロンフォウサギ相手のダメージが一致した(ง `ω´)ง

# print(int(int(int(int(int(int(int(int(int(int(基本D+修正項目)*倍率)+魔法ダメージ+系統係数)*属性杖)*アフィニティ)*天候曜日)*((魔攻+100)/敵魔防))*WSダメージ)*ミシックオグメ)*ミシックダメージ))
print(int(int(int(int(int(int(int(int(int(int(201 + 101 + 184) * (int(1024 + 0.691 * (250 + 49)) / 256)) + 696 + ((101 + 184 - 6) * 2)) * 1) * 1.33) * 1) * ((287 + 14 + 100) / 100)) * 1.2) * 1.15) * 1.3))
結果:
34333

int は小数点以下切り捨てです。

print(5 / 3) #普通の割り算
print(int(5 / 3)) #小数点以下を切り捨てる
print(5 // 3) #割り算なら//でも切り捨てになる
結果:
1.6666666666666667
1
1

必要ストアTP計算機(試作)

以下の記事参照。古いバージョンは消しました。

mortar.hateblo.jp

・・・

結局Excelの方がいいということもあり得るので自己責任でおながいします……( `ω´)

※記載されている会社名・製品名・システム名などは、各社の商標、または登録商標です。
Copyright © SQUARE ENIX CO., LTD. All Rights Reserved.