<< 17/50 >>
First Last

適当に再帰 help で回復 => attack を繰り返すものを書く

help は繰り返し使うことができるので、無限再帰させればすぐにライフが最大値 65535 になる
このあたりから S とか K とかが、少し大変

スロット0: S(get)(S(S(K(help(0)(0)))(K(8192)))(I))

help8192: S(K(help(0)(0)))(K(8192)) 引数を捨てて、 help(0)(0)(8192) を使う関数

help8192(0)
→S(K(help(0)(0)))(K(8192))(0)
→(K(help(0)(0))(0)) (K(8192)(0))
→(help(0)(0)) (8192)
→help(0)(0)(8192)→ I

この S(K(f))(K(a)) というのは、 f(a) を遅延評価するイディオム