カンペンで開く機能を追加しました

カンペンのへやわけへやわけアプレット用のデータを読み込む機能が追加されました。
∀人∃HEYA その1 - merrilinの日記


これを受けて、へやわけアプレットからカンペンのへやわけを呼び出す機能を追加しました。
問題のウインドウのその他メニューの中の「カンペンで開く」を選択するとカンペンで同じ問題を開きます。当然ですがカンペンが動作する環境でないと本機能を用いても何もおきません。


カンペンの出来はかなりよくなっているので、現行のものを捨ててカンペンのへやわけを動かすようにしてしまってもいいのですが、いかんせんカンペンは1.1ベースで作られておりません。
もうMSVMは相手にしなくてもいいかなとは思っているのですが、IEを除くIEコンポネのブラウザはMSVMが入っている環境ではMSVMを使ってしまいます。なのでまだ1.1で動くものは必要なのかなあ。「少なくともカンペンに差し替えたから動かなくなっちゃったよ」というのは避けたいわけで。
ということを考えた結果、簡単に実装できる方法としてへやわけアプレットからカンペンのページを開くようにしました。
カンペンが動かないVMで動いている場合にはこの機能を使用できないようにしようかとも考えたのですが、あえてフタをするようなことはしないことにしました。ご了承ください。

HeyawakeBoxのバージョンをあげました(1.2.1)

PencilBoxのバージョンがあがったので対応しました。

今回はぱっと見にはあまり変わっているようには見えませんが、中はそれなりに変わっているので結局PencilBoxのソースからHeyawakeBoxに追加した機能を追加する形でマージを行おうとおもったら意外にあっさりとマージ完了。


私も部屋の操作のマウス操作には思うところがあったので、PencilBoxでの操作からちょいと修正してみました。
修正箇所は以下のとおり。

  • 部屋のサイズを変更した時にすでにある数字が新しい部屋のサイズに入りきらない場合、空白にするよう変更
  • 部屋を作成する際に作成中の部屋を水色で表示するように変更
  • すでに作成してある部屋の端ではないマスをドラッグした場合、部屋を移動(コピー)するよう変更
  • すでに作成してある部屋をシフトを押しながらドラッグした場合、部屋を移動(コピー)するよう変更


1番上は最大値越えの数字が入らないようにしたかったので。
2番目は現在作成している部屋は違う色で表示された方がよいなあといったところから。
3番目は半分趣味。縁じゃないところをドラッグしたら部屋の移動だろと考え組み込んだら元の部屋の削除を入れてなくコピーになってしまったのですが、同一サイズの部屋を連続入力する際にこっちの方が便利だと思ったところからあえてこのままで。
4番目は3番目の部屋のコピーが気に入ったので、縁しかない部屋でも(1xNや2xN)この機能が使えるようにしたかったから追加。


部屋の辺の角ではないマスをドラッグしたときの動作はPencilBoxでの実装がベストと私も考えているのでここはそのまま。ここのソースはなかなかシンプルで素晴らしかった。

HeyawakeBoxのバージョンをあげました(1.2.0)

PencilBoxのバージョンがあがったので対応しました。


今回はぱっと見にはあまり変わっているようには見えませんが、中は結構変わっているので結局PencilBoxのソースからHeyawakeBoxに追加した機能を追加する形でマージを行いました。


今回の対応は取り急ぎのものです。下記の機能を追加できたらしたいと考えているので近日中にバージョンアップを行う予定です。

  • 数字のあるマスが黒マスになった場合の数字の色の設定(デフォルト白)
  • URL表示画面のボタン押下後の挙動(URL表示ダイアログを閉じるようにする)
  • URL取り込み画面をもっとリッチにする
  • PersistenceServiceを使用した設定の保存

HeyawakeBoxのバージョンをあげました(1.1.3.1)

今日の更新は前回書いた下記の内容に対応しました。

表示サイズ変更は動かしてみると結構いい出来で私は気に入りました。これでホイールが効いたなら最高なのだが、って書いていて自分で組めばいいのかということに今気がつきました。バカだなあ。

気分転換のつもりで実装始めたら、ものの数分で終わってしまいうまく気分転換することが出来ませんでした。

HeyawakeBoxのバージョンをあげました(1.1.3)

PencilBoxのバージョンがあがったので対応しました。
1.1.2は取り込む必要がなかったのでスルーしていたのですが、今回は取り込むべき箇所が山のようにあり、一部のソースはPencilBoxのモノからHeyawakeBoxに追加した機能を追加するということをしたりしました。前回の更新で勝手に追加した部分を取り込んで下さっているのでそのほうが楽だったというのもあります。


今回のPencilBoxの変更点で特筆するべきことはへやわけアプレットでの黒マスの連続入力機能を追加してくださったところと、表示サイズ変更が数値で行うようになったところ。
表示サイズ変更は動かしてみると結構いい出来で私は気に入りました。これでホイールが効いたなら最高なのだが、って書いていて自分で組めばいいのかということに今気がつきました。バカだなあ。
あと塗らない印が変更可能になったのは塗りつぶしで表現できるようになったという点で評価したいと思います。


以下はHeyawakeBoxで変更した部分

  • フォームにアイコンを表示するように変更
  • 白マス、黒マスの色のデフォルト値を変更(白マスはnikoli.comのものと一緒、黒マスはnikolicomの罫線の色と一緒)
  • ぬらない印のデフォルト値を変更(ぬりつぶしにしました)


ぶっちゃけどうでもいいところばかりです。デフォルト値の変更も単純に自分の趣味。


あと、対応JREのバージョンを1.5以降に変更っていうのは、PencilBoxを1.4.2でコンパイルしたらエラーになったためでHeyawakeBoxで特に1.5の機能を使っているわけではありません。


こういうとき、Java Web Startであれば必要なバージョンを勝手にダウンロードしてくれるので配信側としては結構安心できるところではあります。

どうせなので341in31x31を使った問題を作ってみました

http://www.geocities.jp/heyawake/?problem=33x33/1in1x1/31x1/1x32/1x31/341in31x31/1x1/32x1


アプレットのほうは100以上の数字はフォントを小さくして表示しています。3桁以上の部屋は前に2006の部屋を入れた問題を出しているので初めてではありません。


5桁以上の部屋の対応は考えていません。今作って表示させてみたところ5桁目が切れて見えませんでした。エラーにしたほうがいいかな?

HeyawakeBoxのバージョンをあげました(1.1.1)


PencilBoxのバージョンがあがったのは知っていたのですが、ようやっと重い腰を上げてマージしました。
今回は結構変わっていたのでちょっと大変でした。マージ失敗してるかもですが、自分で動作確認したところ大丈夫っぽい。と思ったら、

  • 行番号の表示の切り替え時にパネルのリサイズが走るのが気に入らなかったのでそれをコメントアウト

の変更が元に戻っちゃってました。まあいいか。


以下はHeyawakeBoxで変更した部分

  • 数字の表示にアンチエイリアスをかけるようにしました。
  • 数字が9までしか入らないのを10以上入るようにしました。

部屋の数字の入力にはちょっとした仕掛けを入れたので10以上入らない場合が多々ありますがバグではありません。
でも、100以上の数は入れられないようにしました。341in31x31を使った問題は作れません。申し訳ない。


アンチエイリアスは個人的な趣味です。ニコリコムはフラッシュなのでアンチエイリアスかかって盤面の数字がきれいになっていい感じです。作者名にもアンチエイリアスかけて欲しいところですが、リソースとしてもたざるを得ないので通信量の増加につながるのでちと厳しいか。逆に全部フォントで描画すればファイルサイズは小さくなるけど、描画速度はどうなるかなあ。システムフォント描画は意外に遅いのですが、ベクタ画像の描画に比べたら断然早いような気もします。が比較したことないので断言できません。


追記:もう一度考えたら、システムフォントの方が遅いような気がしてきました。