ここは落ち着くところかなぁ

あいかわらずぱずぷれv3のスクリプトをアップしました。
今回は、マス目をクリックした時に数字入力用ポップアップを表示するという大きめな変更を入れてます。
(nikoli.comの数独カックロでマス目をクリックした時に出てくるやつっぽいの)
デザインは手抜きですが、まぁ、そういうことで。。
 
またしても各パズルのスクリプトまで変更という大仕事になってしまいましたが、
これでぱずぷれv3で作りたかった仕様は一通り作ったかもー。
 
これ以外には、まず、表示サイズとか選んだ時にIEだけ右端まで表示されていたのを直しました。
これって原因不明だったけど、どうやらブロック要素にwidthプロパティを指定したのが原因のようでした。。
確かにHTML規約違反だけど、他のブラウザだと認識してくれるのにIEだとおかしな方向に行ってしまうのね。
 
その他、カーソルを矢印キーで動かした時にはウィンドウをスクロールさせないとか、
問題作成モード/回答モードの動作を見直してIEでの切り替えを速くしたりとか
そういう諸々のことを入れ込んでみました。
ぱっと見ではなさそうでしたが、バグがあったら申し訳ありません。
 
本当は前回の修正で、動作がどれだけ速くなったか用18×10のスリリンあたりを作ろうかと思ったのですが
時間がなかったり作った問題の出来がいまいちだったりで残念。
 

      • -

あと、前回アップしていた美術館に不具合があった件ですが、あれ結構危険っぽいバグだったです。。
書いておこうと思ったので書きますが、単刀直入に言うとグローバル変数を使っていたため。
ループに使っていた変数のローカル宣言が忘れられていてグローバル変数になってしまい、
そのループ中で呼ばれる関数の3つくらい先でもループ用の変数のローカル宣言忘れで
しかも同じ変数名だったのでおかしな事になっていました。
 
原因自体は、URL→パズルへの入力の部分だったのですが、
そこってシャカシャカと美術館の変換部で全く同じものを使っていたので
実績はあると思っていたのですねぇ。。
 
でも美術館だけダメだったのは、美術館では証明を配置した時に四方に光らせ、
壁が配置されたら遮られる、な感じなのですが
「URLから数字を読み込む」「壁を配置した時に光を遮ったら光を変更する」の2つの処理で
グローバル変数の衝突が起こってしまったみたい。。です。
便利なことは便利だけどこういう時こわいネー。グローバル変数