『ランダム詰将棋』をランダムに解く 続続

GM(仮)はひとまず終了。まだ改良すべき点は山のようにあるのだが他の事が滞ってしまっているので仕方がない。情報ファイルのデータを表示するのと、表紙(0ページ)を添えて雰囲気を出した。

20220619.jpg

GM(仮)は詰将棋の問題(作品)集だけでなく一般に問題と解答がそれぞれ1ページずつになっている画像があれば良い。情報ファイルは以下のような塩梅で作成する。

BookName:  中田章道短編詰将棋集 終盤力と読みを鍛える7手詰~15手詰まで39+1題
SampleName: \ssk\imgs\img2016\sf201607\sf201607_03.jpg
Diagram:  sf201607_00.jpg sf201607_02.jpg
Diagram:   3    1  39
Author:   中田章道
PubDate:  2016-07-01
SMRNumber: 3200
PageOrder: 2
...

基準フォルダと SampleName を組み合わせて、画像が保存してあるフォルダが決定できる。

SampleNameの拡張子から、画像タイプがわかる。

PageOrder が 2 の場合は  01,  02,  03, .... と変化する。 00 が表紙。  
PageOrder が 3 の場合は   001,  002, 003, .... と変化する  000 が表紙。

Diagramを指定するのは、二通りある。
1 ) 問題ファイルと解答ファイルを半角スペースで区切って指定。
なのでファイル名に半角スペースがあると指定不可である。
2)  ページ数 開始問題番号 終了問題番号 
を指定する。1ページに2問表示の場合は
 ページ数 開始問題番号 終了問題番号 2 
と指定する。

スポンサーサイト



『ランダム詰将棋』をランダムに解く 続

 GM(仮)を Aさんに送った。動いたようだった。

で、送ったあとに、ページ数が二桁表示のファイル名になっているときにファイルを読み込めないことに気がついた。また、2問/頁 の場合もおかしくなるのだった。

そんなこんなで、今週は Program ばっかり、ようやく修正と History の追加ができたのだった。一度開いた情報ファイルを覚えておく事にしたので、ぐっと使い勝手がよくなった。右のStringGrid の Info File をクリックするだけ、情報ファイルと書名の対応を覚えていなくてもいいのだった。
画像のサムネイルも付けたかったが力不足の為断念。

20220617.jpg


『ランダム詰将棋』(など)をランダムに解くことは可能となったが、やはり問題以外も見たい、表紙から、ということもある。それは Vector などにある 画像ビューワーが便利だろう。このごろみつけたのが、 NeeView というもので、サクサクうごくのだった。

20220617_2.jpg

今昔詰将棋の会員(?)で、 GM(仮)を試してみたい奇特な御仁が居られたら連絡を。



『ランダム詰将棋』をランダムに解く

そろそろ、本の処分を考えるようになった。

詰将棋本はスキャンをしてから処分の予定で最初は PDF にしていた。纏まっていいのだが検索など後々のことを考えると1頁毎にしておいた方が使いやすいのだった。

画像Fileの有効活用として、HTML を作りブラウザで閲覧可能にすることはできたが、なにせハンドアッセンブル。HTMLを作るのが追いつかない。将棋世界の付録のようにフォーマットが決まっていれば、ファイル名の一部を置換すればいい。だが単行本はそうもいかない。

で、ここ数日作っていた、プログラムがようやっと動くようになった。

情報File を読み込んだ後はこんな具合

20220613_1.jpg

情報File の主要部分は、、

BookName: 1・3・5手ランダム詰将棋
SampleName: \smr\imgs\img2021\smr3371\smr3371_011.jpg
Diagram:   9    1   50
Diagram: 111   51  100
Diagram: 213  101  150
Diagram: 315  151  200
....

である。数行で済む。

基準Folder とサンプル名と Diagram行から、画像ファイル名(保存場所)が作れるのだった。

実行画面は以下の如し (駒は一部非表示)、program 名は GM(仮) となっている

20220613.jpg

上部のボタンを押してもイイのだが、画面をクリックしても移動が可能としている。
画面を3×3に区切り

WEST は 次  解答非表示
EAST  は 前 解答非表示
CENTER は ランダム 解答非表示

SOUTHWEST は 次  解答表示
SOUTHEAST  は 前  解答表示
SOUTH は ランダム  解答表示

NORTH は  解答表示

HTML では、前、次、一覧、などができていたが、ランダムを追加したので、たとえば、、

『ランダム詰将棋』をランダム!に解くということも手軽に出来るようになった。


インターフェースは難しい

9ページ開始で 1問から50問
111ページ開始で 51問から100問
...
を次のようなデータにて

Diagram:   9    1   50
Diagram: 111   51  100

読み込み

  XXXX_009.jpg

といったイメージファイル名を作り上げ、次々に見てゆくという簡単な program なのだったが、まる1日掛かってしまうとは。

インターフェースは難しいなー。

LOG とかも欲しいし、また来週か。

2層アーキテクチャー

2層アーキテクチャーは、ずーっと昔にに作ったことがあった。それは、T-BASE が出来たときに、作者索引を作ったことだった。 Excel で作ってもよかったのだが、そのころの Excel の行数は確か 65536 行までという制限があった。T-BASE の図面の収録数はすぐにその制限を越えてしまうのは明らかだった。
そこで選んだのが、 ローカルの Paradox。まあ、同じボーランドが Delphi と Paradox を作っているのだから何も考えなければそうなるのだった。
20220216Delphi.jpg
詰将棋パラダイスの作者索引を印刷したりしたのだった。その時に名前の入力ミスがかなりあることが解った。名前のミスがあるということは、その他のミスも多数ある。でT-BASE の修正作業をということになると思ったのだが、どうなったことやら、、

最近の Delphi では 基礎から学べるFireDACデータアクセス再入門 を見ると、以下のようであった。
20220216DelphiFireDAC.jpg
ということで、FireDAC とDBMS を接続する環境ができればいい訳だ。
簡単に接続できるハズなのだが、なぜかうまく行っていないのだった。まあ、トシの所為ではなく、独学の為にアナがあるという事なのだろう。