部屋を掃除しました。
本当はレゴで遊んでやろうかと思っていたのですが、レゴを入れた箱を出すともうそれ以上のスペースがなくなるので床面積を広げるため掃除に踏み切ったのです。
窓付近に机があるのですが、実は数年間机としては使われておらず、椅子には埃が積もっていました。
使っていないのならその場所に荷物でも積めばよかろうものでしょうが、現実にはその場所にある窓は唯一の採光場所であり唯一の通風孔であり唯一の避難経路でもあるので、壁をふさぐ面積、高さなどから見て、現状の机以外に選択肢はありませんでした。
しかし机としてはもう使っていないので椅子は撤去します。
そうなると、机は単なる避難経路への足場という役割しかなくなるので、その部分に何とかして光と風と避難の邪魔にならないように物を置く方法を考えなければなりません。
実はその机は机としての役割を失ってからはいつか使うかもしれないがおそらく二度と必要ないもの(主にプリント類)を積んでおく倉庫となっており、つみあがる高さから言っても倉庫利用で問題はなさそうです。
唯、これからは乱雑に置かず、倉庫として機能するよう、それなりに整理して置くのです。
とはいえ、元々雑多なものを置く場所なので分類はできません。単純に大きさだけで置く場所を決めるのです。
元々置いてあったものは当然ほとんどが本当に必要のないものだったので、裏が白紙のものを選んで適当な大きさに切り、メモ用紙として再生することにしました。
机より下側にある壁は光を取り込むためガラス張りになっているので、机の下にも物を置くことはできません。
椅子も撤去したので常に空き場所となるのですが、ここは一時的に物を置く場所として使うことにしましょう。
用が済んだらそこだけは必ず片付けるようにすれば最低一箇所床がある状態になります。
次は床掃除。
しかし、散らかっている荷物は3分の2が弟のものだし、今散らかしている自分の荷物も、非常によく使うから床に山積みにしているので、片付けてしまうわけにはいきません。
ということで後は棚の整理だけして、本来の目的である床面積の確保はほとんど実現されなかったのです。
ふにゃさんのセーブデータの問題、答えを出しました。
データには何の加工も施さず、それと明らかに分かる名前で、ゲーム本体と同じフォルダに作ります。
取ったバナナの数はそのまま数字として書き込まれますし、シークレット情報も一つ一つ個別に記録します。
別に不正チェック機構なんかもつけたりはしません。
ですから、テキストエディタ等で開けば、データの意味が分かる人なら簡単に改竄ができてしまうのです。
しかし、改竄したい人には改竄させておけばよいのです。
こういうことを批判する言い方として、「本来の楽しみ方ではない」という言葉をよく聞きますが、他人のプレイに迷惑(例えば不正に得たデータで他人と競う行為など)をかけたりしない限り、本来とは違う楽しみ方をしても良いと思うのです。
レースゲームでは逆走は本来の楽しみ方じゃありませんし、アクションゲームで亀を踏み続けて無限にリトライ回数を増やすのも元々の難易度を完全に崩す行為ですが、それなりに受け入れられています。
他人に迷惑をかけないのなら、不正の範囲が自分一人にしか及ばないのなら、データ改竄もまた、逆走や無限1アップと同じだと思うのです。
確かに開発者としては、プレイヤーには本来の楽しみ方で楽しんでもらいたいのですが、だからといって自由な楽しみ方を阻害するのも意味がないように感じるのです。
それに何より、改竄ができるとデバッグが楽です。
クイズαをバージョンアップしました。
http://www.hyuki.com/d/200510.html#i20051020190000にあったアルゴリズムを見て、昔から正しいかどうか不安に思っていつか正しいかどうか調べてみようと思いつつ結局調べなかったアルゴリズムがどうやら本当に正しくなかったらしいので、書き換えようと思って自分のソースを見たらこっちは計算するまでもなく誤ったアルゴリズムだったため、もう、修正するしかありませんでした。
以前のアルゴリズムでは、全くシャッフルされない場所が大量に残る可能性があるばかりでなく、n^2乗のオーダーで処理時間が長くなり、元々クイズとしてはありえないのですが、数千問を超える問題集だとかなりの時間がかかってしまうため、全く実用的ではなかったのですが、改良版では乱数さえまともに出れば必ず均等にシャッフルされますし、処理時間も、処理数がnのオーダーであり、更に乱数を使う回数も半分にしているため最低でも2倍以上の高速化にはなっているはずです。
一応正解のアルゴリズムは、自分が考えていた、多分前のアルゴリズムよりはよい結果になるはずのアルゴリズムとほぼ同じものでした。