自分でAppletを編集するには


パズルをWeb上で公開できるようAppletを付属している。
「Webページ出力」を使えば自動で出力できるが、自分で編集してもいい。

注意:

動作にはJava実行環境(http://java.com/ja/)が必要
Webページ上にその旨とリンク先を明記しておくべき

必要なファイル

同じフォルダに以下の3種類のファイルを入れる。

・プログラムファイル「SudokuPlayer.jar」
ダブルクリックでも開けるソフトそのものだが、中にAppletも格納している

・Appletを載せたWebページ
名前は任意で、拡張子は当然「*.htm」か「*.html」

・パズル問題のデータ(Webページに埋め込むなら不要)
セーブファイルである「カンマ区切り」(*.scv)ファイル
又は、PencilBoxのセーブデータ(*.txt)

パズルデータの用意

セーブファイル(*.csv)の解答を消去したものを使う。
解答済みのデータだと解答も表示される。

CSVファイルを表計算ソフトで直接編集してもいい。

又は、PencilBox 形式(*.txt)で出力したものでもいい。
(メニュー「入力/出力」-「PencilBox 出力」)

HTML内での指定方法

フォルダ内のWebページを作り、Appletを埋め込む。
例えば、下のように書き込む(「SudokuApplet.class」は「SudokuPlayer.jar」の中にある)。


<applet code="SudokuApplet.class" archive="SudokuPlayer.jar" width="*" height="*">
<param name="datafile" value="パズルデータのファイルを指定(*.csv 又は *.txt)">
</applet>
<br>
動作には<a href="http://java.com/ja/" target="_blank">Java実行環境</a>が必要<br>

もしパズルデータをWebページに埋め込むなら
<param name="data" value="
[,,1,3,,,,,2,]
,6,,,7,,,8,,]
5,,,,,1,7,,,]
8,,,,,4,6,,,]
,4,,,9,,,5,,]
,,2,1,,,,,3,]
,,3,2,,,,,7,]
,1,,,8,,,4,,]
9,,,,,5,1,,,3]
],],],],],],],],3],]
">
という感じで、CSVファイルの中身を直接入れる。

Appletのサイズ

一応の適正サイズは下の計算で出る。

[アプレット横サイズ] = [マスのサイズ] × ( [パズル横マスの数] + 2 )
(ただし、計算結果が500未満なら500にする)

[アプレット縦サイズ] = [マスのサイズ] × ( [パズル縦マスの数] + 2 ) + 60

オプション指定

特に変更したい場合は下のパラメーターで行う。

マスのサイズを変えたい場合
8〜80の整数を入れる。初期値は26。
<param name="size" value="*">


選択数字強調を外したい場合
<param name="highlight" value="off">

エラー表示を外したい場合
<param name="error" value="off">

入力可能数字の表示を付けたい場合
<param name="innablenum" value="on">

解析を付けたい場合
<param name="analyze" value="on">

言語ファイル

使用する言語を変更できる

言語ファイルを用意し、下のパラメーターを加える
(初期言語は日本語なので、別の言語で動かす場合に指定)

<param name="languagefile" value="[言語ファイルのパス]">

言語ファイルは、プログラム内で使う単語を指定したテキストファイル

付属の「language_jpn.txt」(日本語用)や「language_eng.txt」(英語用)がそうで、開けば判る
必要部分(右のカッコ内)を変更し、別名で保存して使用すればいい

パラメーターまとめ 1

名前内容初期値コメント
datafileパズルのデータファイルを指定-セーブファイル(*.csv)かPencilBox 形式(*.txt)
dataCSVのパズルデータ自体を埋め込み-datafileを指定しないならこちらが必要
sizeマスのサイズ268〜80の整数
highlight選択数字強調を付けるかon付けない場合はoffと指定
errorエラー表示を付けるかon付けない場合はoffと指定
innablenum入力可能数字の表示を付けるかoff付ける場合はonと指定
analyze解析を付けるかoff付ける場合はonと指定
languagefile言語ファイル-日本語以外なら指定

「innablenum」は「hint1」、「highlight」は「hint2」、「analyze」は「answer」でも可(旧バージョンとの互換性のため)。


以下はセーブファイル(*.csv)内に含まれるデータなので指定不要
(旧バージョンで使用していた)

CSVを直接編集した場合に、そちらに書き込んでいなければ、パラメーター指定で補ってもいい


ブロックサイズ

ブロックのサイズは、全体のサイズとは違う
9x9 の問題なら、3x3 の部分をそれぞれブロックという

定型(9x9、16x16、25x25)は無指定でも認識できる
定型の規則的な重ね合わせも割と自動で認識でき、省略可能なことが多い

非定型のサイズや不規則な重ね合わせの場合は指定が必要

<param name="wide" value="[ブロックの幅]">
<param name="high" value="[ブロックの高さ]">

対角線

2方向の対角線も使った問題で指定

<param name="diagonal" value="on">

パラメーターまとめ 2

名前内容初期値コメント
wideブロックの幅-正の整数
highブロックの高さ-正の整数
diagonal対角線off付ける場合はonと指定

戻る