そういえば先程、
※あれ、:-で連鎖って、なんだか>>=っぽいですよね…?
とか言ってました。
実際に>>=に置き換わったのはMaybeが出てきてからですが、それ以前でも-:と>>=の類似性は気になるところです。
Zipperの多くの関数は概ね
Version 1.2.0, Git revision 123819b7d65df2ad7fe63fb5eb39a98536acb5f3 (4055 commits) x86_64 hpack-0.14.0 | |
2016-11-17 22:07:54.840949: [debug] Checking for project config at: C:\Users\foo\Documents\Files\Haskell\gtktest\stack.yaml | |
@(Stack\Config.hs:792:9) | |
2016-11-17 22:07:54.841949: [debug] Loading project config file stack.yaml | |
@(Stack\Config.hs:810:13) | |
2016-11-17 22:07:54.856950: [debug] Trying to decode C:\sr\build-plan-cache\x86_64-windows\lts-7.9.cache | |
@(Data\Store\VersionTagged.hs:68:5) | |
2016-11-17 22:07:54.874951: [debug] Success decoding C:\sr\build-plan-cache\x86_64-windows\lts-7.9.cache | |
@(Data\Store\VersionTagged.hs:72:13) | |
2016-11-17 22:07:54.880951: [debug] Getting system compiler version |
data Warrior = Warrior {attack :: Int} | |
data Monster = Monster {hitPoint :: Int, defence :: Int} | |
data Attack = Normal | Critical | Gira | Begirama | |
battle :: Warrior -> Monster -> [Attack] -> Int | |
battle w m as = (hitPoint m) - (sum $ map damage as) | |
where | |
damage Normal |
#超簡易ドラクエ戦闘シミュレータ
##内容 勇者(Warrior)は、属性値として「攻撃力(attack)」を持ちます。 モンスター(Monster)は、属性値として「HP(hitPoint)」「守備力(defence)」を持ちます。
勇者の攻撃(Attack)の種類として「攻撃(Normal)」「会心の一撃(Critical)」「ギラ(Gira)」「ベギラマ(Begirama)」があります。 各攻撃について、モンスターに与えるダメージ(damage)は下記の通りです。