KMmacro
とあるSNSゲームで菜園モードというのが追加された。
そのゲームは3時間ごとに水やりをすると、よく育つ仕掛けになっている。よくあるアレだ。
プログラマだったら、仕事の合間にも水やりができる。だから他の人より速く育つ。
夜、寝ている間も3時間おきに水やりするといい。プログラマだったら徹夜で水やりすることも可能だが、プログラム(マクロ)を作って自動化するのが当たり前。
指定した時間に任意の場所でキーを押したり、クリックするマクロを作ればいいのだ。
開発には、定番のKMmacroというフリーウエアが便利だ。
変数には%を付けることになっている。宣言はこんな感じ。
dim %total
KMmacroはポーランド記法という書式を採用しており、これがなかなか楽しい。たとえば値を代入するときは、
set %total 0
のように記述する。
まず、やりたいこと(この場合set=代入)を記述するのだ。
変数は、%nのように%+数字で記述することができる。こうすれば変数の宣言は不要だ。
アセンブラだと、サブルーチンで求めた返り値を、特定のレジスタで返すなんてことをよくやるが、それと同じように使うと便利だと思う。
set %0 -1
return
条件判断はこんな感じで記述することになる。
:add190min
set %time (+ %time 190)
if (>= %time 1440) set %time (- %time 1440)
return
これは現在の時間%timeから、3時間+10分=190分後の時間を計算するサブルーチンだ。
深夜24:00をまたいだ場合、24時間=1440分を減算している。
コメント