フリーセルでスクリーンセーバー

MS のゲーム FreeCell が大好きで、qfreecellplay(旧 freecellplay) というプログラムを作りました。
以前は、GTK を使用していましたが、現在は Qt を使用しています。qfreecellplay は次のようなものです。

●次々とフリーセルを解いていきます。

FreeCell の #1 から #1000000 までの配札をランダムに選らび、解いていきます。qfreecellplay にはフリーセルの solver が内蔵されています。この solver は freecelljsolver-1.3.0 (Java による FreeCell Solver) を参考(ほぼ同じ?)にしています。

この solver では、#1 から #1000000 までの配札に対して、最長で 182 手 (複数枚移動できる場合、1 手と数える) で解きます。また、配札によっては解く時間が長時間(数秒オーダー)かかるものがあります。qfreecellplay は、解が長いシードや解く時間が長いシードにはヒント(最初の数手)を与え、140 手以下、1 秒未満(マシン性能にもよる)となるようにしています。

[fcplay animation]

●解けないものはあきらめます

FreeCell の #1 から #1000000 の中には解けないものがあります。解けないものが選択された場合には、素直にあきらめます。

give up

●XScreenSaver に対応 (ビルドしてできる、qfreecellplay-xss をインストールして下さい)

XScreenSaver setting Qt freecelplay setting

改造版 xscreensaver を使用すれば、 設定ダイアログで、文字列が日本語で表示されます。

スクリーンセーバーでは、Windows XP 風のタイトルバーを付けて表示します。

screensaver

SRPM
qfreecellplay-1.3.2-1.fc41.ys.src.rpm

このプログラムは Fedora41 用です。
本サイトの記載やプログラムにより生じた損害について、一切の責任を負いかねます。インストール・実行はあくまで自己責任でお願いします。