試験運用中なLinux備忘録・旧記事

はてなダイアリーで公開していた2007年5月-2015年3月の記事を保存しています。

ピクロス/お絵かきロジックのpicmi(旧Tux Picross)について(2010/4/5現在)

picmi(github.com/schuay/picmi)*1はschuay(Jakob Gruber)氏により開発されているピクロス/お絵かきロジックマインスイーパのクローン。かつてTobias Hellgren氏によりTux Picross(http://web.archive.org/web/20090923145705/http://www.thanius.com/picross/)というものが途中まで開発されていたが、schuay氏が新しく作り直し、途中から名前も変更した。
ライセンスはGPLのバージョン2かその後の任意のバージョン。
音声はなく、視覚的な演出にも乏しいが、2010年4月上旬の時点では開発が活発で、まだ色々と改善が行われる可能性はある。

作者のschuay氏はUbuntuやArch Linuxのフォーラムに更新情報を書き込んでいる。

  • ubuntuforums.org/showthread.php?t=1433859
  • bbs.archlinux.org/viewtopic.php?id=92600

(2014/8/29)Ubuntuでは13.04(Raring)から「picmi」のパッケージ名でインストールできるようになっている。このプログラムはその後KDEアプリケーションとなっていて、マインスイーパは無くなり、問題は以前と同様に自動生成されるのみだが、難易度変更が可能になっている。

  1. 依存パッケージ(ビルド時にはそれぞれの開発パッケージが必要)
  2. ダウンロード/ビルド例
  3. 操作

依存パッケージ(ビルド時にはそれぞれの開発パッケージが必要)

以前のバージョンではImageMagickのライブラリが必要だったが、2010/4/5の時点では必要なくなっている。
(2010/7/31)バージョン1.3.0以上ではSDLの代わりにSFMLライブラリが用いられるようになり、SDL関係の開発パッケージの代わりにSFMLライブラリの開発パッケージが必要となる。SFMLも幾つかのパッケージに分かれているが、ここで必要なのは「graphics」(とそれが要求するもの)のみ。

ダウンロード/ビルド例

ダウンロードは
github.com/schuay/picmi/downloads
から行い、バージョンに合った.tgzファイルもしくは.zipファイルをダウンロードし、これを展開する。x86_32なDebian/Ubuntuの場合は作者が.debファイルを配布しているので、これを使用することもできる。
下は.tgzファイルの場合の作業例。

$ tar zxf [.tgzファイルの場所]
$ cd schuay-picmi-*/

最新の状態のソースは
github.com/schuay/picmi/archives/master
から取得できる他、以下のようにしてgitで取得することもできる(展開後の移動先ディレクトリ名が異なる)。

$ git clone git://github.com/schuay/picmi.git
$ cd picmi/

以下はソースディレクトリに移動後のビルド作業例で、ソースファイルを展開した場合と最新のソースを取得した場合の両方で共通の作業。

[schuay-picmi-xxxxxx もしくは picmi]$ qmake
[schuay-picmi-xxxxxx もしくは picmi]$ make

手動でビルドする場合、それをシステムにインストールする操作を行わずにそのまま実行することができる。

[schuay-picmi-xxxxxx もしくは picmi]$ ./picmi

ただし、作業ディレクトリが実行ファイルのあるディレクトリでないとgfxディレクトリ以下のファイルにアクセスできずに正常に動作しない。
Mandriva Linux向けのパッケージについては今回作成し、別館の配布ページに公開した。
バージョン1.1.1は「Loading sprite failed.」となってうまく動かなかったが最新のソースで動作したため、こちらを1.1.2-0.20100405-1というバージョンでパッケージ化した。
(2010/4/8)正式版のバージョン1.1.2がリリースされているのでこれに置き換えた。
(2014/10/12)配布ページは削除済み。

操作

(2014/10/12)以下の操作は当時のバージョンのものとなる。KDE向けになってからはメニューから各種操作が行える。
まずはモード選択ダイアログが出るので選択し、「Start」で開始する。

このとき、「Settings」を押すと設定ダイアログが出て、幾つかの項目を設定することができる。設定は[ホームディレクトリ]/.config/picmi/以下に保存されるが、古いバージョンでは[ホームディレクトリ]/.config/tuxpicross/以下に保存される。
通常は間違ったマスを黒にしようとすると経過時間が大きく増えてしまうが、「No Hints Mode」をチェックすると増えなくなる(黒にしたところが間違ったかどうか分からなくなる)。
ピクロスではボタン1(左)でマスの黒/白・ボタン3(右)でバツ印の状態を入れ替える。マインスイーパではボタン1(左)でマスを開き、ボタン3(右)で旗の状態を入れ替える。
ピクロスの操作はキーボードとマウスの両方に対応している(ジョイパッドには未対応)。キーボードでは矢印キーでカーソル位置(行と列が白く強調表示される)を移動し、SPACEでマスの黒/白、Ctrlバツ印の状態を入れ替える。
ピクロス/お絵かきロジックのルールや解き方はwikipedia:お絵かきロジックなどを参照。

まずは分かりやすい部分から埋めていき

確定した部分を用いて別のところを確定させていって

全てを確定させると終了
上や左に並ぶ数字は、確定した部分の表示スタイルが自動的に変わる。
マインスイーパについては一般的なマインスイーパの内容となっている。

使用したバージョン:

  • Qt 4.5.3
  • SDL_ttf 2.0.9
  • SDL_gfx 2.0.20
  • SDL_image 1.2.7
  • picmi 2010/4/5版, 1.1.2

*1:作者のフォーラムの発言によると「pick me/ピックミー」と読むらしい