SNPqst Help SNPqstは SDIY(Software D.I.Y.) Number Puzzle by QQWing, Sudoku Solver lib, TrueMagic Sudoku Generator の略です。 スンプクストと読んでください。 数独ゲームで遊ぶためのアプリケーションです。 SNPqstのツールチップやメッセージは英語のみです。 「数独(スウドク)」はニコリの登録商標(第3327502号など)なので、 (↑出典 http://www.sudokugame.org/ ) Microsoftに倣って"Number Puzzle"にしました。 パズルの生成にQQWing,Sudoku Solver lib,TrueMagic Sudoku Generatorを使用しています。 使用しているリソースの詳細はSNPqst.About.txtを参照してください。 これらのリソースを公開していらっしゃる方々に深く感謝いたします。 1.ライセンス A.免責事項 本ソフトウェアは「現状のままで」で提供され、明示的/暗黙的に拘らずあらゆる保証はありません。 作成者は、本ソフトウェアに起因または関連する事項、本ソフトウェアの使用、またはその扱いによって生じる一切の請求、損害、その他の義務について責任を負いません。 B.配布制限 一次配布サイトは http://sdiy.rdy.jp/ です。 作成者(S.D.I.Y.)が許諾したサイトを除き、インターネット上での再配布を禁止します。 許諾サイトは 一次配布サイトで公開します。 再配布する場合、一次配布サイトに掲載しているファイルの名称、内容を変更することを禁止します。 また、自動アップデートツール等の対象とすることも禁止します。 但し、イントラネットや家庭内LANにおける共有や自動アップデートツールの提供は制限しません。 この条項の目的はマルウェア、アドウェアなどが添付されたり、悪意ある改変がなされた配布物が流通することを防止することです。 C.無償使用 本ソフトウェアは本来の目的(数独ゲームのプレイ)に使う限りにおいて、個人・商用目的を問わず無償で使用できます。 本ソフトウェア自体を販売することはできません。 無償で取得、使用できることを説明したうえで有償サポートサービスの対象とすることは妨げません。 D.リバースエンジニアリング等の禁止 本ソフトウェアに対しリバースエンジニアリング等の解析行為を行うことを禁止します。 2.インストール、アンインストール .Net Framework 4.7.2.2 以上を必要とします。(ビルド時の指定。但し動作確認は4.8のみ行っています。) zipファイルを適当なディレクトリに解凍してください。レジストリは使用しません。 3.特徴 A.上述の通り3つのパズル生成ロジックを選ぶことができます。 作者の知る限りナンプレゲーム界でSNPqstだけです。 B.フォント、マーク文字列の設定が可能 -FontfamilyとFontweightを指定することが可能です。 -数字だけでなく、記号、アルファベット、かな、漢字などを使用するとができます。 任意の9文字を指定することも可能です。 C.ボード上に半透明でメッセージ通知 メッセージは大きく分けて3種類あります。設定で種類別にOn/Offが可能です。 1.時間経過メッセージ 1分ごとに開始から何分経過したかメッセージが出ます。 2.カウントダウンメッセージ 空白セルが残り3つになると中央にメッセージが出ます。 全て入力して、重複がある場合はエラーが表示されます。 3.Full Filledメッセージ 特定の数字を9個埋めるとメッセージが出ます。 10個埋めると警告が出ます。 [ESC]キーでメッセージを消去することができます。 また、メッセージのOpacity(不透明度)が指定可能なのです。 Opacityを 0.0 に設定すると上記3タイプの通知は見えなくなります。 D.テキスト形式でのゲーム状態、終了状況のコピー ・ ゲーム中に[Copy]ボタンを押すか、[Ctrl+C]を押下するとクリップボードに - パズル生成に利用したexe/dllの名称 - ゲームのレベル - ゲーム開始の初期状態 - 現在の状態 - 解答の1つ - QQWingによるRating (QQWingに資料がないので各数値の意味は分かりません) を文字列でコピーします。 ・ パズルを解くと表示される画面で、「結果のクリップボードへのコピー」 、「 テキストファイルへの保存」ができます。 内容は下記の通りです。 - パズルを解くのに要した時間 - 終了日時 - パズル生成に利用したexe/dllの名称 - ゲームのレベル - ゲーム開始の初期状態 - 終了時のボードの状態 - QQWingによるRating デフォルトのファイル名は以下のような形式です。 SudokuSolverLib=54_hints=99m99s=yyyyMMddHHmmss.txt 「パズルを解くのに要した時間」が =99m99s= 形式(分・秒)で付きます。 これで簡易的な解答時間のランキングがわかると思います。(プログラムでランキングは出しません。) 4.使用方法 A.操作方法の概要 a. マウス操作 - ホイール : 数値を選択 - 左クリック : 数値をセルに入力 - 右クリック : 数値をメモとして入力 (Ctrl+左クリックでも同様) b. キーボード操作 - 数字キー 1-9 : カレントセルに数字入力 0 : 消去 Ctrlを押しながら数値キーを押下するとメモの入力になる。 1-9はメモをトグル。0はメモの全消去。 セルの移動は矢印キーまたはShiftを押しながらテンキーの2,4,6,8 c. タッチパネル操作 文章だと説明がしにくいのですが... ボード画面右側のラジオボタン[Num],[Memo],[Hili]はタッチパネル用です。 -画面右側の数字をタップして入力値を選択、セルをタップして数値入力。 -Memoを入力したい場合は[Memo]をチェック状態にしてからセルをタップ。 -[Hili]をチェック状態にして画面右側の数値をタップすると ハイライトする数字のみを変更します。 B.設定ファイル、起動パラメータ、多重起動制御 a.設定ファイル デフォルトの設定ファイルはありません。 起動パラメーターに -cfg=PathToConfigrationFile の形式で設定ファイルを指定することが可能です。 設定ファイルには1行に1つずつ起動パラメータを書くことが可能です。 b.多重起動制御 デフォルトでは1つのインスタンスのみを起動可能です。 "-mi"オプションを指定するか、すでに起動しているSNPqst.exeとは別のkeyvalueを "-Key=keyvalue"の形式で指定すると多重起動が可能です。(必要ないと思いますが...) c.起動パラメーター -mi 多重起動を可能にする("-Key"は無視する) -Key=keyvalue 多重起動用のインスタンス識別用の文字列 (大文字小文字は区別しない、'\' 等のファイル名に使えない文字は使用不可) -SvFldr=SaveDirectory 結果保存のデフォルトディレクトリを指定します。 SaveDirectoryは絶対パス、もしくはExeのカレントディレクトリからの相対パスを指定します。 SaveDirectoryは起動時に存在している必要があります。 結果保存時のダイアログでこの指定と異なるディレクトリを指定した場合、 SNPqst.exeを終了するまでは指定したディレクトリが次のデフォルト保存先になります。 -MsgOpctyIdx=n メッセージの不当明度の指定。0 <= n <= 9 0:透明(メッセージは表示されない) 10:完全に不透明 デフォルトは5です。(50%の不透明度) -FntsFldr="PathOfFolder" Windowsにインストールしていないフォントを使用したい場合にフォントを置いたフォルダーのパスを指定します。 認識するフォントファイルは拡張子 ttf,ttc,otf のみです。 この指定とは別にSNPqst.exeの存在するフォルダの下にある"Fonts"フォルダーはデフォルトでttf,ttc,otfファイルを検索する対象になります。 -UnqSltin/-NoUnqSltin -UnqSltin:回答が1つのみのパズルを生成するまでリトライを繰り返します。(デフォルト設定) -NoUnqSltin:回答が複数あるパズルが生成された場合でもゲームを開始します。 -RtryLmt=Number パズル生成のリトライ上限回数を指定します。 1~256の数値を指定します。 デフォルトは16。 -HlDups/-NoHlDups -HlDups:3x3ブロック、列または行で数字に重複がある場合に赤で強調表示を行います。 -NoHlDups:重複があっても強調表示を行いません。(デフォルト設定) -MsgTm/-NoMsgTm -MsgTm:時間経過メッセージ表示(デフォルト設定) -NoMsgTm:時間経過メッセージ非表示 -MsgCD/-NoMsgCD -MsgCD:カウントダウンメッセージ表示(デフォルト設定) -NoMsgCD:カウントダウンメッセージ非表示 -MsgFll/-NoMsgFll -MsgFll:Full Filledメッセージ表示(デフォルト設定) -NoMsgFll:Full Filledメッセージ非表示 -DgtsFntNm="FontFamilyNameString" ゲーム表示用のフォントファミリー名称 デフォルトは"Arial" "SNPqst-Custom"について デフォルト状態では"Arial"と同じです。 特定のフォントをWindowsにインストール、またはSNPqst.exeで利用可能なフォルダに置くと表示が変わります。 試しに作り込んでみましたが、結局ごく普通のフォントの方がゲームはしやすいと思います。 a. "LCDMono"(LCDMN___.TTF) ダウンロードURL: https://www.dafont.com/lcd-lcd-mono.font 利用できるようになっていると、数字はこのフォントで表示するようになります。 b. "Cotillion"(COTILLIO.ttf) ダウンロードURL: https://fonts2u.com/cotillion-regular.font 利用できるようになっていると、Ascii文字はこのフォントで表示するようになります。 LCDMonoがインストールされていない場合、数字もこのフォントになります。 c. 青柳隷書しも "aoyagireisyo2"(aoyagireisyosimo_otf_2_01.otfまたはaoyagireisyosimo_otf_2_02.otf) ダウンロードURL: https://drive.google.com/drive/folders/137Uabe5mokLqTk-Xfv5vVCo2n2ZpA3Yk https://opentype.jp/aoyagireisho.htm 利用できるようになっていると下記の"-DgtsStyle"で指定可能なもののうちJpで始まる JpNum1, JpNum2, JpSymbol, JpIroha, JpAkasa, JpShizen, JpYoubi はこのフォントで表示するようになります。 -DgtsFntWght="FontWeigtString" ゲーム表示用のフォントウェイト(文字の太さ) デフォルトはNormal -DgtsStyle="StyleString" 下記のいずれか。デフォルトはNumber。 Customの場合、任意の9文字を指定可能。 Number, Symbol, Currency, Astrological, Zodiacal, Circled1, Circled2, UcAlphabet, LcAlphabet, UcGreeks, LcGreeks, JpNum1, JpNum2, JpSymbol, JpIroha, JpAkasa, JpShizen, JpYoubi, Custom -DgtsCstmChrs="NineCharString" 任意の重複しない9文字を指定可能。 このオプションを指定した場合、 -DgtsStyleは Custom が指定されたとみなす。 以下 ver 1.1.18で追加 -PnOnTp/-NoPnOnTp -PnOnTp:ゲームウィンドウを最前面にピン止め -NoPnOnTp:ゲームウィンドウを最前面にピン止めしない(デフォルト設定) -FllScrn/-NoFllScrn -FllScrn:ゲームウィンドウをフルスクリーン表示 -NoFllScrn:ゲームウィンドウをフルスクリーン表示しない(デフォルト設定) ※-PnOnTpと-FllScrnは両方同時にOnにすることができない。(後に指定したほうが有効になる) -MnmzOnEsc/-NoMnmzOnEsc -MnmzOnEsc:[Esc]キーでウィンドウを最小化 (但しゲームウィンドウでメッセージが表示されている場合はメッセージを消去) -NoMnmzOnEsc:[Esc]キーでウィンドウを最小化しない(デフォルト設定) -MnmzToTskTry/-NoMnmzToTskTry -MnmzToTskTry:タスクトレイへ最小化 -NoMnmzToTskTry:タスクトレイへ最小化しない(デフォルト設定) -CnfrmExtApp/-NoCnfrmExtApp -CnfrmExtApp:アプリケーション終了時に確認メッセージを表示 -NoCnfrmExtApp:アプリケーション終了時に確認メッセージを表示しない(デフォルト設定) 5.雑記 以下は遊ぶために不要な記述です。 私が最初に数独で遊んだのはUbuntu(Xubuntu)のgnome-sudokuでした。 当時、gnome-sudokuはPythonで書かれていたと記憶していますが、いまはValaのようです。 Windowsでは Microsoft Number Puzzle がメジャーだと思います。 これはサイズが大きいし、MicrosoftアカウントでSign Inしてインストールしなければなりません。 という事で自分で作りました。 以上