ぱずぷれ v3.5.2 アップデート

お久しぶりです。ぱずぷれをアップデートしたのでお知らせいたします。
今回は、二軍に昇格したドッスンフワリを追加しました。
それに合わせて、まだぱずぷれ側には追加していなかったpencilboxのXMLファイルの入出力、および作者などの情報の編集機能を追加しています。
その他大きなところでは、BackSpaceで数字を一文字ずつ削除することができるようにも修正してみました。
puzzlevanは内部的なI/Fを変えてしまったのですぐに修正できませんが、年明けまでにはアップデートするつもりです。


なおパズルのプロパティを追加した影響で"ブラウザ保存"のルーチンをいじっています。
大丈夫なはずだけどここは間違うと大変なことになるのでいつもビクビクしてしまいます。


主な機能追加・改良点

  • ドッスンフワリを新規追加
  • pencilboxのXML形式ファイルを読み書きできるように修正、ぱずぷれ形式のファイルにもプロパティを出力するように変更
  • BackSpaceキーで数字を1桁ずつ削除できるようにしました
  • 一度正解判定が出てもautocheckオプションを保持するように変更

主な不具合修正

  • タイルペイントの問題入力時の部屋分割がうまくできなくなっていたのを修正
  • 流れるループの正答判定処理に想定の数十倍時間がかかっていたのを解消
  • 碁石ひろいので誤答時に罫線の色がおかしくなるのを修正
  • Firefoxで-キー入力判定できていなかったのを修正
  • IE9等で複数行のファイルオープンができなくなっていた不具合を修正

新ツール:Puzzlevan作成しました

8月頃からElectron (http://electron.atom.io/) というHTML+ChromeでDesktopアプリを作成するツールが流行っていたので
ぱずぷれv3もこれを使ってDesktopアプリ化したPuzzlevanというツールを作成してみました。


リリースファイル一式はzip圧縮して以下に置いてあります。
https://github.com/sabo2/puzzlevan/releases


基本機能はぱずぷれv3と同じなのですが、ベースとなるぱずぷれv3側でpencilboxのXML形式ファイルを
読み書きできる機能を追加していたので、リリース済みのv3.5.1にそこまでの修正を加えて作成しています。


ぱずぷれv3.5.1と比較した時の主な機能追加・改良点

  • pencilboxのXML形式ファイルを読み書きできるようにしました
  • ぱずぷれv3形式ファイルにもauthor, source, 難易度, コメントを保存できるように修正

Chromeが配布物に含まれているのでそもそも実行サイズが大きすぎる(100MBくらい)、
ウィンドウが開くたびにプロセスが増えてメモリ消費量が大きくなってしまうのが厳しいですね。。
(ウィンドウをたくさん作ることはあまり想定されていない?っぽいのですがPuzzlevanはたくさんウィンドウを生成してしまう)
その他、現時点ではメニュー系の処理にやや難があるかもしれません。


ぱずぷれv3を修正するかは考え中です。現在内部形式を修正しようと思っているからなのですがこれが時間がかかりそうで、
しかもタイルペイントの問題作成時に問題があること、流れるループの正答判定に数十倍時間がかかること等の
不具合が分かっていて、どうしようか考え中です。

何年ぶりなんでしょうか。



■左: Tapa [No.01] 10×10 らくらく ぱずぷれv3
  右: Tapa [No.02] 10×10  おてごろ ぱずぷれv3
 
前回のパズル投稿が既に4年以上前で申し訳ありません。
あまり問題をネット上に上げすぎるとまずいのかなと思っていたこともあるとは言え、それにしても作らなすぎだったかもしれませんね。。
スクリプトがかわいそうなので各パズル作ってあげないととは思っているのですが。
 
ということで、今日はTapaの問題を作ってきました。
と言っても海外ではポピュラーなのですが、海外のパズルに詳しい方以外はご存じないかもしれません。
ルールはだいたいぬりかべの通りですが、数字が"まわり最大8マスのうち連続した黒マスの長さを表す"で、
白マスの領域に数字を1つ入れる、というルールは必要ありません。
ご覧の通りこの数字の記載方法に特徴のあるパズルとなっています。
なおサイトによって記載方法が違ったりしますが、ぱずぷれではThe Art of Puzzlesの表記方法を参考にさせていただきました。
 
No.01のほうは、ネット上に簡単な問題があまり見つからなかったのでかなり簡単に作成にしてあります。
No.02の難易度はネット上の平均からいうと中間だと思うのでおてごろとさせてはいただきましたが、
特に前半部はたいへん〜としたほうがよかったかもしれません。少なくとも優しさはないです。
練習問題はこちら。


■Tapa [No.00] 5×5 らくらく ぱずぷれv3
この問題の答え

v3.5.1 修正アップデート

今回は、前回のアップデート時に指摘のあった動作指定の問題 (ファイルを選択した時でなく、
その後にクリックをした時に読み込むようになってしまっていた)に加えて、マウス入力の動作も改善しました。


これまでマウスやタッチパネルの指を素早く動かすと、特にスリザーリンクやバッグあたりでは
線や黒マスの入力が入力できない/途切れることが頻発していたと思うのですが、相当改善したはずです。


それに加えて、今回はかずのりのへやとTapaを追加しました。
かずのりのへやはニコリのオモパのページに載っているパズルですが、
Tapaは今まで作ってきたパズルとは違ってニコリのパズルではなく海外で作られて、海外では有名なパズルです。


主な機能追加・改良点

  • かずのりのへや、Tapaを新規追加
  • マウス/タッチ入力時の動作改善

不具合修正

  • ファイルを開くの時に動作指定が間違っていたのを修正

v3.5.0 修正版アップデート

えーと、皆様おひさしぶりです。しばらく研修でパズル関係の作業をやっている暇がなくなっていました。。
本当はそれ以前にアップデートをしたかったのですが遅れてしまって申し訳ないです。


さて、その直前にブラウザ保存のデータが消えると言われていて、いろいろ調べてはいたのですが
ブラウザのキャッシュやCookieデータと一緒に消えることがあるらしい以外は結局手元で把握できませんでした。。
とりあえず一番怪しいと思われるlocalStorageの容量制限(5MB/10MB)に
できるだけ引っかからないようにするためブラウザ保存時に操作履歴情報を保存しないようにしました。
2010年頃から保存するようにしていたのですが、この履歴情報が結構データサイズ肥大化の要因になってしまうし、
容量制限を超えたときに何が起こるかわからない(ブラウザの実装依存)ので念のためになってしまいますが。。


不具合修正

  • LITSの形が判定できないバグ修正のため、部屋内のTOP位決めルーチンを修正
  • ヘルゴルフで16以上の数字を含んだ盤面から生成したURLのデコードができないのを修正
  • 数独エディタで初期サイズが指定されていない場合に部屋の境界線がなくなる不具合の修正
  • キンコンカンで光を表示して経路を表示するルーチンで、再クリック時に光が消去できなくなっている箇所を修正
  • ボサノワの表示形式を変えた時にセルのサイズが変わってしまうのを修正
  • エラー表示時の再描画ルーチンを修正

主な機能追加・改良点

  • ブラウザ保存時、localStorage容量の都合上、操作履歴データを保存しないようにします
  • メニューエリアの表示、特にiOS/AndroidのタッチUI等を変更します
  • 盤面のリサイズルーチンを改善してmainの枠からはみ出さないようにしました
  • 数独で6x6の盤面サイズを追加
  • 流れるループの初期盤面大きさを8x8から10x10に変更

詳細はこちらでどうぞ。
https://bitbucket.org/sabo2/pzprv3/wiki/ReleaseNote


ちなみに、Gitも勉強するため、githubにも履歴をアップしてみました。
メインは今まで通りbitbucket/Mercurialにするつもりですが。
https://github.com/sabo2/pzprv3

v3.5.0beta3 修正版アップデート

まず描画ルーチンについて、エラー判定でエラー表示になった直後に
Undo/Redoをしたら盤面の大半が消えてしまう不具合があったようですので、原因を見つけて修正を行いました。


ただ原因を追ってみたら、v3.5.0preの時に"エラー時だけ線を太く描画し直す"に関連する修正を行ったのが原因で、
しかも今回の修正だとそこが元に戻ってしまったようです。。まぁ、1ピクセル太く描画するだけの変更なので、
次バージョンで今回の不具合が出ないように再実装します。


ついでに上記の不具合を調べた途中で、交差は直角に限るの線についてですが
回転とか反転とかをしたときに線が一緒に動いてくれない不具合を見つけました。
v3.4.1あたりからあったようなのですが、上記の不具合と一緒にそれも修正しました。

v3.5.0beta2 修正版アップデートしました

さて、、orz
不具合の原因になりそうな現象がやっと再現できましたので、ぱずぷれv3を修正しました。
ただ、それ以外にもそこそこ変更が入っていたりします。


見た目が変わった点としては、チェックとか回答消去の時に表示するダイアログの表示方法を変更しました。
IEで入力位置がずれる現象を回避しようとして色々修正していた名残ですが、
そのままのほうが他の修正と整合性が取れていいような気がしたので、変更したままにしました。


不具合修正

  • IEでスクロール量の取得方法が間違っていたのを修正
  • 縦横列のエラー判定方法を修正 (=ひとりにしてくれで赤く表示が上手くできない不具合を修正)
  • ToolAreaの表示非表示を繰り返した際にIEでエラーが発生するのを修正
  • 下に不要なスクロールがあったのを回避するよう修正

機能追加・改良点

  • メニューの中にあるUndo/Redoも押しっぱなしで繰り返しできるようにしました
  • チェック時などのAlert/Confirm表示時に自分で作成した要素を表示するように変更
  • パズルの"ブラウザ保存"におけるセーブや情報のUpdate時の操作方法を変更
  • 流れるループで、カーソルを表示しているときは1回目のクリックでカーソル移動を行うように変更