研究授業用ソフト

ymlab2006-05-30

画面制御が大変だるくなってきて、今日は無理だった。
明日こそは実装しないと、大変。

忘れないように適当に、リソースIDを振っていた。

普通宝箱 0
宝箱行が選択された状態 1
宝箱列が選択された状態 2
普通お化け 3
おばけ行が選択された状態 4
おばけ列が選択された状態 5
普通骸骨 6
骸骨行が選択された状態 7
骸骨列が選択された状態 8
普通宝石 9
宝石行が選択された状態 10
宝石列が選択された状態 11

と定義していた。
ところが、逆に 8ってなんだったけー? という事態で非常に困った。
8って言われても、とりあえず、行や、列かそのままなのかの判別情報は自動化させたかった。

あ、そーだ。剰余でいいや。
ようするに、 8 ÷ 3 のあまりは2。だから、普通 の状態を 0とすると2番目だ。
同様に、例えば、 11ときても、 5ときても、2ときても、それらを3で割ったあまりは2だ。

だからこのあまりが、2だった場合は列。
同じように、3で割ったあまりが1だった行。割り切れたら普通の状態 という風に解決した。

宝箱が選択された状態 2 ÷ 3 = 0 あまり 2
おばけが選択された状態 5÷3=1あまり2
骸骨が選択された状態 8÷3=2あまり2
宝石が選択された状態 11÷3=3あまり2

でもこういう手法って、リソースID変わったらえらいことになるので、あまり多用しないでおこう・・・。