ナンバープレイス(数独、SUDOKU)をホームページに掲載
NumberApplet version 1.3



ヒント機能あり、メモ欄あり、解析が可能
それぞれ省略もできる

English page

お願い:

英語版の説明ページを直してくれる方はいませんか?
拙い英語力で書いたので、あちこち間違っていると思います。

親切な方、どうかお助けください。

作者: ルート高菜



サンプル(使い方)
クリックで入力マスを選択、範囲外で押すと未選択
矢印キーで次のマスへ移動(できなくなった時はもう一度クリック)

範囲外ダブルクリックで「データ出入力フレーム」の表示・非表示を切り替え
(下の説明を参照)
上段:コメント
実行した操作と結果が表示される

下段:ヒント1
チェックを入れることで
選んだマスに入りうる数値を表示

上段:データ入力
目的のマスを選んだ状態で
入力する数値を選んでボタンを押す
キーボードからでも入力できる

中段:解答メモ
解く時に数値のメモとして使う
各入力マスごとに使える

下段:ヒント2
目的の数値を選ぶと
その数値とその数値が入らなくなった縦横行を強調表示

初期化---------全てのデータを削除する

正誤判定-------間違いをチェック

解析1回-------1回だけ解析
解析全部---------解けなくなるまで解析
解析中止-------実行中の解析を中止

一時保存-------現在のデータを保存できる
呼び出し-------一時保存したデータを呼び出す



データ出入力フレーム

範囲外ダブルクリックで表示・非表示を切り替え

解答途中のデータを一時保存
または、テキストファイルに残すことで永久保存
  • [取り出し]-[問題] ---- 現在のデータをテキスト出力
  • [当てはめ]-[問題] ---- 入力したデータをパズルに当てはめ

  • [取り出し]-[スロット1〜3] ---- 一時保存したデータを取り出し
  • [当てはめ]-[スロット1〜3] ---- 表示中のデータを一時保存スペースへ
  • 一時保存データはブラウザを閉じると消える
    出力データをテキストファイルに保存すると永久に残せる

    ナンバープレイス問題集



    ダウンロード

    "number_13.zip"(67.3KB)



    対応形式(version 1.3)



    解説

    このプログラムはJavaAppletなので、Webページ(HTML文書)を編集する必要がある

    1. ファイル配置とJavaApplet埋め込み

    2. ブロックサイズの指定

    3. 問題内容の指定(新バージョン)

    4. 問題内容の指定(旧バージョン)

    5. 特殊形式(重ね合わせ、対角線)を表示するには

    6. 追加機能の省略方法(ヒント、メモ、解析)

    7. 使用言語の変更



    1. ファイル配置とJavaApplet埋め込み


    ファイルを配置する
    [***](任意のフォルダ)
     |
     |--***.htm(JavaAppletを埋め込むWebページ)
     |
     |--***.csv(問題ファイル)
     |
     |--NumberApplet.class(プログラムファイル)
     |--Blank.class
     |--Unit.class
     |--NumberDataFrame.class
     |--NumberLoader.class
     |
    
    WebページにJavaAppletを埋め込む

    <applet code="NumberApplet.class" width="[JavaAppletの幅]" height="[JavaAppletの高さ]">
    <param name="languagefile" value="english.txt">
    <param name="size" value="[マス目のサイズ]">
    (他のパラメーターをここに加える)
    </applet>


    JavaAppletのパラメーターを使用して、各種の指定をする

    パラメーター"size"はマス目のサイズをピクセルで指定
    (初期値は"40"なので、違うサイズを使う場合のみ指定すればいい)

    JavaAppletのサイズとマス目のサイズを見易いように調節する ---- サイズ調節サンプル

    戻る


    2. ブロックサイズの指定

    問題が9x9、16x16、25x25なら自動で認識できるので、ほとんど省略可能
    別のサイズやブロックに一致しない重ね合わせ問題の場合に指定

    下のパラメーターを加える

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

    ブロックのサイズは問題全体のサイズとは違うので注意
    (問題が9x9ならブロックは3x3)

    戻る


    3. 問題内容の指定(新バージョン)

    表計算ソフト(例えば"Excel")で問題の数値を入力
    右と下の端に"]"を加える

    カンマ区切り(*.csv)で保存
    問題ファイルとして配置

    下のパラメーターを加える

    <param name="datafile" value="[問題ファイルのパス]">

    A B C D E F G H I J
    1 4 5
    7 9 2
    8 6 ]
    2 9 6

    4

    2 3 ]
    3

    1
    8
    4

    ]
    4 7

    6
    4

    1 ]
    5 6 2 4
    1
    3 7 9 ]
    6 8

    9
    7

    2 ]
    7

    6
    5
    2

    ]
    8 3 4

    6

    1 8 ]
    9 5 8
    1 7 3
    6 4 ]
    10 ] ] ] ] ] ] ] ] ] ]
    (上のサンプル問題)
    始めから解答を表示する場合、数字の頭に"\"を加える

    A B C D E F G H I J
    1 4 5 \3 7 9 2 \1 8 6 ]
    2 9 6 \8 \5 4 \1 \7 2 3 ]
    3 \2 \7 1 \3 8 \6 4 \9 \5 ]
    4 7 \3 \9 6 \2 4 \8 \5 1 ]
    5 6 2 4 \8 1 \5 3 7 9 ]
    6 8 \1 \5 9 \3 7 \6 \4 2 ]
    7 \1 \9 6 \4 5 \8 2 \3 \7 ]
    8 3 4 \7 \2 6 \9 \5 1 8 ]
    9 5 8 \2 1 7 3 \9 6 4 ]
    10 ] ] ] ] ] ] ] ] ] ]
    (上のサンプル問題)

    戻る


    4. 問題内容の指定(旧バージョン)

    問題ファイル(*.csv)をテキストエディタ(例えば"メモ帳")で開く
    このテキストをコピーして、パラメーターに貼り付ける
    4,5,,7,9,2,,8,6,]
    9,6,,,4,,,2,3,]
    ,,1,,8,,4,,,]
    7,,,6,,4,,,1,]
    6,2,4,,1,,3,7,9,]
    8,,,9,,7,,,2,]
    ,,6,,5,,2,,,]
    3,4,,,6,,,1,8,]
    5,8,,1,7,3,,6,4,]
    ],],],],],],],],],]
    右のパラメーターを加える
    この方法では、問題ファイルは不要
    <param name="data" value="
    4,5,,7,9,2,,8,6,]
    9,6,,,4,,,2,3,]
    ,,1,,8,,4,,,]
    7,,,6,,4,,,1,]
    6,2,4,,1,,3,7,9,]
    8,,,9,,7,,,2,]
    ,,6,,5,,2,,,]
    3,4,,,6,,,1,8,]
    5,8,,1,7,3,,6,4,]
    ],],],],],],],],],]
    ">

    戻る


    5. 特殊形式(重ね合わせ、対角線)を表示するには

    重ね合わせ

    問題ファイルに2種類の記述を加える

    • 問題に含まれないマス目全てに"0"を入力する
    • 重ね合わされたそれぞれのノーマル問題の左上マス目先頭に"["を加える


    対角線

    下のパラメーターを加える
    (初期値は"off")

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

    A B C D E F G H I J K L M
    1 [
    2

    6


    0 0 0 ]
    2



    5
    1

    0 0 0 ]
    3 5

    2


    9
    0 0 0 ]
    4

    3 1



    4 0 0 0 ]
    5
    5

    9

    3
    0 0 0 ]
    6 8



    7 6

    0 0 0 ]
    7
    4
    [
    5

    9


    ]
    8

    1
    2

    8
    1

    ]
    9


    3

    2


    6
    ]
    10 0 0 0

    3 8



    5 ]
    11 0 0 0
    9

    6

    4
    ]
    12 0 0 0 5



    1 6

    ]
    13 0 0 0
    7


    2

    9 ]
    14 0 0 0

    1
    7



    ]
    15 0 0 0


    6

    8

    ]
    16 ] ] ] ] ] ] ] ] ] ] ] ] ]
    (ナンバープレイス問題集 No.70)

    戻る


    6. 追加機能の省略方法(ヒント、メモ、解析)

    省略するには、それぞれ下のパラメーターを加える
    (初期値は"on") ---- 省略サンプル

    解析
    <param name="answer" value="off">

    ヒント1
    <param name="hint1" value="off">

    ヒント2
    <param name="hint2" value="off">

    戻る


    7. 使用言語の変更

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

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

    言語ファイルは、プログラム内で使う文章を指定したテキストファイル
    "japanese.txt"を開き、必要部分を変更し、別名で保存して使用
    英語は"english.txt"をそのまま使えばいい

    戻る


    バージョン情報

    2006年1月 version 1.3
    ・多言語に対応
    ・文字表記とボタン配置を改善
    ・問題データを外部読み込み可能に
    ・パネルの背景色を調整

    2005年1月 version 1.2
    ・途中でキー入力できなくなるのを改善
    ・矢印キーで移動できるようにした
    ・データ出入力フレームを追加
    ・データ表示を改善
    ・問題入力を簡素化し手間を削減
    ・エラーチェックを強化

    2002年12月 version 1.1
    ・対応形式に対角線を追加
    ・大きさの制限がなくなった
    ・重ね合わせの認識を確実に
    ・ブロックからずれた重ね合わせも可能に
    ・ヒント非表示の指定が可能に
    ・ヒント2の描画を改善

    2002年11月 version 1.0
    ・対応形式は9×9、16×16、およびその重ね合わせ


    たかな工房(http://www.takana.info/)