PencilBox の実行には Java Runtime Environment のversion 5.0以上が必要です。 Java Runtime Environment は http://java.com/ より入手できます。
pencilbox.jar が全種類で共通に使用するクラスファイルをまとめたもので,kakuro.jar など各パズルの名前のついたjarファイルは,個々の種類でのみ使用するクラスファイルをまとめたものです。
例えばカックロのプログラムを実行するには,java -jar kakuro.jar とします。このとき,pencilbox.jar が同じディレクトリにある必要があります。環境によっては,それぞれの jar ファイルのアイコンをダブルクリックすることによりプログラムを実行できます。
また,java -jar pencilbox.jar とすると,パズルの種類の書かれたボタンが並んだパネルが現れるので,実行する種類のボタンを選択してください。
実行ディレクトリに PencilBox.ini というファイルがある場合,デフォルトの設定値として起動時に適用されます。
PencilBoxでは「問題入力モード」「解答モード」「領域編集モード」の3つのモードがあり,常にいずれかが選択された状態になっています。
各モードは[編集]メニュー以下の該当するメニューを選択することによって切り替えます。またスラッシュ(/)キーを押すことによって「問題入力モード」と「解答モード」を交互に切り替えることができます。
「解答モード」では,解答のみの入力が可能で問題の編集はできません。解答操作は全てマウスのみを用いて行うことができます。 数字を入力するタイプのパズルでは,[表示]-[カーソル]メニューを選択しているときには,キーボードから数字を入力することもできます。
「問題入力モード」では,問題の入力ができます。問題入力操作にはマウスとキーボードの両方が必要です。 このとき解答入力操作ができるかどうかはパズルの種類により異なります。
マウスの操作をシフトボタンを押しながら行うと,左ボタンと右ボタンの役割を交換します。
パズルの種類ごとの具体的な操作方法についてはパズルの種類ごとの説明の項を参照ください。
「領域編集モード」では,盤面の一部範囲を選択して,移動,コピー,消去の編集を行います。操作方法は「領域編集モード」の説明の項を参照ください。
新しいフレームを作成して,空白の盤面を作成します。 表示されるダイアログでサイズを指定して下さい。
新しいフレームを作成して,ファイルから問題データを読み込みます。
現在のフレームに,ファイルから問題データを読み込みます。
ファイル名を指定して問題を保存します。 拡張子xmlとするとXML形式で,それ以外はTXT形式で保存されます。
新しいフレームを作成して,現在の盤面と同じ盤面を複製します。
盤面を回転または反転します。サブメニューから回転,反転の向きを選んでください。
現在の盤面の下端または右端を伸ばすか縮めるかして盤面サイズを変更します。ダイアログで変更後の盤面サイズを指定してください。
各サブメニューから選択したフォーマットで問題データを出力します。 また,ダイアログにそのフォーマットの問題データを入力して,他のフレームで開くことができます。
なお「カンペン」用の問題データの形式は,TXT形式で保存した場合問題データから解答状態を除いた部分を取り出して,区切りの空白文字を _(アンダーバー)に,改行文字を / (スラッシュ)に置き換えたものです。
盤面をpng形式の画像ファイルとして保存します。
盤面を画像としてクリップボードにコピーします。
印刷プレビュー画面を表示します。また,印刷倍率,繰り返しの設定を行います。
印刷します。
アプリケーションの設定をファイルから読み込みます。
現在のアプリケーションの設定をファイルに書き出します。 実行ディレクトリの PencilBox.ini というファイルに保存した設定は,アプリケーション起動時に適用されます。
表示されるダイアログから,作者名,出典,難易度を表示,編集します。 ここで編集した情報は,XML形式で保存する場合は保存されますが,TXT形式で保存した場合は失われます。
現在のフレームを閉じます。
全てのフレームを閉じ,プログラムを終了します。
「解答モード」にします。 「解答モード」では解答のみの入力が可能で,問題の編集はできません。
なお「問題入力モード」と「解答モード」は,スラッシュ(/)キーを押すことによって切り替えることもできます。
「問題入力モード」にします。 「問題入力モード」では現在のカーソル位置を表す赤い枠が盤面に表示され,問題の編集を行うことができます。
なお「問題入力モード」と「解答モード」は,スラッシュ(/)キーを押すことによって切り替えることもできます。
「領域編集モード」にします。 「領域編集モード」では盤面の一部を選択して,移動,コピー,消去等の操作を行うことができます。通常の問題入力,解答入力の操作を行うことはできません。
領域未選択の状態から左ドラッグで編集領域を選択します。赤色の枠で囲まれた範囲が選択領域となります。 左ドラッグをShiftを押しながら行うと,矩形選択となります。
領域が選択された状態で,選択領域内のマスを起点として左ドラッグをすると,領域を移動します。 ボタンを離した時点で移動が確定します。 ボタンを離すときにCtrlを押しながら行うと,移動の代わりにコピーになります。
領域移動中に数字の1,2,3,4,5,6,7のいずれかのキーを押すと,移動中の領域を回転または反転します。 1 は左90°回転,2 は左180°回転,3 は右90°回転,4 は縦横交換,5 は左右反転,6は180°回転+縦横交換,7 は上下反転です。
領域選択状態でスペースまたは.(ピリオド)キーを押すと,選択領域の盤面要素を消去します。
領域が選択された状態で,右ボタンを押すと選択領域を全て消去します。 Ctrlを押しながら選択領域外を左ドラッグすると,通過シタマスを選択領域に追加します。 Ctrlを押しながら右ドラッグすると,通過したマスのみ選択領域から除去します。
領域選択はパズルのタイプによらずマス単位で行うようにしています。 「スリザーリンク」等の線を引くタイプでは,選択領域に完全に含まれる線が移動対象となります。 「波及効果」等のブロック分けのあるタイプでは,ブロック全体が選択領域に含まれているブロックが移動対象となります。 「へやわけ」等の矩形ブロックのあるタイプでは,四隅のマスがすべて選択領域に含まれている部屋のみが移動対象となります。
盤面の解答入力をすべて消去します。
「黒どこ」「スリザーリンク」「ぬりかべ」「美術館」「ひとりにしてくれ」「へやわけ」「ましゅ」「ヤジリン」「LITS」にあるメニュー項目です。 ×印,○印などの解答のための補助記号を消去します。
解答操作を1手戻します(UNDO)。
解答操作を戻していた場合,操作を1手進めます(REDO)。
解答操作を初めから再生します。
「カックロ」「黒どこ」「四角に切れ」「数独」「スリザーリンク」「ナンバーリンク」「ぬりかべ」「橋をかけろ」「美術館」「波及効果」「フィルオミノ」「ましゅ」「ヤジリン」にあるメニュー項目です。 この項目をチェックした場合,問題編集時に,表出数字などを点対称に配置します。
盤面が正解に達しているかどうかを判定します。 正解に達していればポップアップダイアログに「正解です」と表示し,そうでなければその理由を列挙します。
この項目をチェックした場合,盤面が最初に正解に達した時点で自動的に「正解です」と表示します。 この自動判定は解答モードのときのみ有効です。
盤面の記号や数字などの色を設定します。 設定できる項目はパズルの種類によって異なります。 また,パズルごとの各種ヒント機能を使用している場合,ヒント機能から決まる色が優先されることがあります。
盤面の表示サイズを設定します。値はマス目のピッチのピクセル数で設定します。
盤面の上部,左部の行列番号の表示/非表示を切り替えます。
罫線の表示/非表示を切り替えます。
「カックロ」「数独」「波及効果」「フィルオミノ」にあるメニュー項目です。 チェックすると,青い枠が表示され,枠の位置にキーボードからの数字入力が可能になります。 チェックを外すと,キー操作を受け付けないので,マウスのみを用いて解答することになります。
「黒どこ」「ぬりかべ」「ひとりにしてくれ」「へやわけ」「ヤジリン」にある項目です。 黒マスに塗らないマスへの印に用いる記号をサブメニューから選択します。
「美術館」の[照明なしの印]についても同様です。
プログラムの情報を表示します。
[表示]-[カーソル]が選択されているときは,以下のキー操作が可能です。
1つの計の中で数字が重複している場合に,その数字を赤色で表示します。 計を構成するマスがすべて埋まっていてその和が正しくない場合に,和の数字を赤色で表示します。
マスに入りうる数字を,9つの点の位置で示します。左上が1,その右が2,と続き,右下が9です。
黒マスが連続するか,黒マスにより盤面が分断されるかしたとき,その黒マスを赤色で表示します。 上下左右の白マス数と等しくない数字を赤色で表示します。
面積が数字に一致している領域のマスを水色で, 数字を含まないか,面積が数字より小さい領域のマスを黄色で, 複数の数字を含むか,面積が数字より大きい長方形を赤色で塗ります。
領域ごとにマスをいくつかの色で塗ります。 [表示]-[色の更新]を選ぶと,色をランダムに変更します。 [正誤を色で示す]が選択されている場合はそちらが優先されます。
[表示]-[カーソル]が選択されているときは,以下のキー操作が可能です。
行,列,ブロックに同じ数字が重複している場合に,解答数字を赤色で表示します。問題の数字自体が重複している場合は知りません。
数字をクリックすると,その数字と同じ数字のマスを緑色で,その数字が入りうるマスを黄色で表示します。
マスに入りうる数字を,9つの点の位置で示します。左上が1,その右が2,と続き,右下が9です(盤面サイズ9×9サイズの場合)。 盤面サイズが9×9,16×16,25×25のいずれかの場合のみ有効です。
連続している線を同じ色で表示します。 [表示]-[色の設定]-[色の更新]を選ぶと,色をランダムに変更します。
数字の周りに引かれた線の数と数字とが一致していないときに,その数字を赤色で表示します。
連続している線を同じ色で表示します。 [表示]-[色の設定]-[色の更新]を選ぶと,色をランダムに変更します。
選択されている場合,星の印を非表示にします。
ブロックの境界線を太い線で表示します。
星を含まないブロックのマスを黄色で, 複数の星を含むか,星を含んでいて形が点対称でないブロックのマスを赤色で示します。
○をひとつ含むブロックは水色に, ●をひとつ含むブロックは紫色に, 星を含まないブロックは黄色に, 複数の星を含むブロックは赤色になります。 ○と●のブロックの色は[表示]-[色の設定]メニューから変更することができます。
なお,GUIからは2桁までの数字しか入力することができません。3桁の数字を使用する場合は,問題ファイルを直接編集してください。
つながっている数字と線を同じ色で表示します。 [表示]-[色の更新]を選ぶと,色をランダムに変更します。
数字あるいは線の上で左クリックすると選択された数字の背景と線を緑色で表示します。 再びクリックするか,何もないところでクリックすると元に戻ります。
連続している黒マスを同じ色で表示します。 [表示]-[色の設定]-[色の更新]を選ぶと,色をランダムに変更します。
連続白マスブロックのマス数を表示します。マス数が数字と一致すると通常の記号で表示します。 ブロックが複数の数字を含むか,マス数が数字より大きい場合,赤色で表示します。
[表示]-[カーソル]が選択されているときは,以下のキー操作が可能です。
ルール違反の解答数字を赤色で表示します。問題数字自体がルール違反の場合は知りません。
数字をクリックすると,その数字のマスを緑色で表示し,その数字のマスから上下左右にその数字分の長さの線を引きます。
マスに入りうる数字を,9つの点の位置で示します。左上が1,その右が2,と続き,右下が9です。
数字から出ている橋の数が数字を超えている場合にその数字の背景を赤色で, 数字と等しい場合に背景を緑色で表示します。
ひとつながりになっている橋を同じ色で表示します。 [表示]-[色の設定]-[色の更新]を選ぶと,色をランダムに変更します。
同じ列に重複した照明を赤色で表示します。 黒マスの数字と隣接する照明の個数とが一致しない場合に,数字を赤色で表示します。
照明を置いたマスから黒マスにぶつかるまで上下左右のマスを設定した色で塗ります。
照明を置いたマスから黒マスにぶつかるまで上下左右に線を表示します。
数字の代わりに表示する文字種類を選択することができます。
黒マスが連続するか,黒マスにより盤面が分断されるかしたとき,その黒マスを赤色で表示します。 タテまたはヨコの同じ列に重複している数字を赤色で表示します。
黒マスにするまでもなくもともとタテヨコに重複のない数字を灰色で表示します。
[表示]-[カーソル]が選択されているときは,以下のキー操作が可能です。
ブロックの境界を太い線で表示します。
ブロックのマス数が数字と一致しているマスを水色で,ブロックの大きさが数字を越えているマスを赤色で表示します。
同じ数字の背景を同じ色で塗ります。 [表示]-[色の設定]-[色の更新]を選ぶと,色をランダムに変更します。 [正誤を色で示す]が選択されている場合はそちらが優先されます。
黒マスが連続するか,黒マスにより盤面が分断されるかしたとき,その黒マスを赤色で表示します。 部屋の黒マスの個数が数字を超えると数字を赤色で表示します。 白マスが3部屋に渡って続いている場所を線で表示します。
白丸,黒丸を線が通っていないか,通り方がルールに違反しているとき,丸を赤色で表示します。
連続している線を同じ色で表示します。 [表示]-[色の更新]を選ぶと,色をランダムに変更します。
数字と黒マスの数が一致していない場合,数字を赤色で表示します。
連続している線を同じ色で表示します。 [表示]-[色の設定]-[色の更新]を選ぶと,色をランダムに変更します。
領域にテトロミノが1つだけある場合,テトロミノのタイプごとに異なる色で示します。