読者です 読者をやめる 読者になる 読者になる

euphonictechnologies’s diary

Haskell超初心者の日記です。OCamlが好きです。

follow us in feedly

Haskellで将棋 - off-topic: 将棋ぶらうざQのYosemiteでの動作とHaskell将棋の設定方法(未熟編)

コメントを頂いたので早速Haskell将棋の設定方法の現状の問題点と回避方法をメモしておきます。 ついでにYosemiteにアップグレードしたので将棋ぶらうざQの動作に必要なことをさらっとメモしておきます。

Yosemiteで将棋ぶらうざQを立ち上げる

Yosemiteにアップグレードしてみました。

f:id:euphonictechnologies:20141020231846p:plain

すると起動時期こんなポップアップが出るはず:

f:id:euphonictechnologies:20141020231857p:plain

Java SE 6をインストールせよとのことなので、Javaをインストールしてみます。ちなみに

$ which java
/usr/bin/java
$ java --version
No Java runtime present, requesting install.

ということなのでJavaはインストールされていない(Yosemiteにアップグレード時に消された)模様。

homebrew-cask?

ですが、Oracleのサイト(Java SE Runtime Environment 8 - Downloads)に行って、dmgダウンロードして…ってのは面倒なのでhomebrewで入れたい、のでhomebrew-caskをインストールします。

homebrew-caskはhomebrewの拡張版で、homebrewの上になんか便利な感じなものが構築されているらしい(Homebrew Cask)。公式ページにしたがってインストールしてみます。

$ brew install caskroom/cask/brew-cask

で、このqiitaを参考にJavaをインストールしてみます。

Mac に brew で Oracle Java のバージョンを指定してインストールする方法 - Qiita

まずはパッケージがあるかどうかをbrew cask searchコマンドで探して、その後インストールです。

$ brew cask search java
==> We need to make Caskroom for the first time at /opt/homebrew-cask/Caskroom
==> We'll set permissions properly so we won't need sudo in the future

WARNING: Improper use of the sudo command could lead to data loss
or the deletion of important system files. Please double-check your
typing when using sudo. Type "man sudo" for more information.

To proceed, enter your password, or type Ctrl-C to abort.

Password:
==> Exact match
java
==> Partial matches
eclipse-java          javafx-scene-builder

で、javaがあるので、これをインストールします:

$ brew cask install java
==> Caveats
This Cask makes minor modifications to the JRE to prevent issues with
packaged applications, as discussed here:

  https://bugs.eclipse.org/bugs/show_bug.cgi?id=411361

If your Java application still asks for JRE installation, you might need
to reboot or logout/login.

Installing this Cask means you have AGREED to the Oracle Binary Code
License Agreement for Java SE at

  http://www.oracle.com/technetwork/java/javase/terms/license/index.html

==> Downloading http://download.oracle.com/otn-pub/java/jdk/8u25-b17/jdk-8u25-macosx-x64.dmg
######################################################################## 100.0%
==> Running installer for java; your password may be necessary.
==> Package installers may write to any location; options such as --appdir are ignored.
==> installer: Package name is JDK 8 Update 25
==> installer: Upgrading at base path /
==> installer: The upgrade was successful.
🍺  java installed to '/opt/homebrew-cask/Caskroom/java/1.8.0_25' (2 files, 210M)

という感じで前掲のOracleのページからdmgファイルをダウンロードしてインストールしているのが見えます。この一手間が面倒なのでhomebrew-caskをインストールしたわけですね。

$ java -version
java version "1.8.0_25"
Java(TM) SE Runtime Environment (build 1.8.0_25-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)

これで将棋ぶらうざQを立ち上げてみます。

f:id:euphonictechnologies:20141020231925p:plain

立ち上がりました!

Haskell将棋を将棋ぶらうざQに設定する

実はそのままでは将棋ぶらうざQにHaskell将棋は設定できません。というのは、将棋ぶらうざQが送ってくるメッセージに対応していないので、フリーズしてしまうようです。なので、無理矢理設定ファイルを変更する必要があります。

将棋ぶらうざQのアプリケーションアイコンを右クリックして、Show Package Contents...(パッケージの内容を表示)から、Contents->Resources->Java->properties.xmlを編集します。

f:id:euphonictechnologies:20141020231942p:plain

必要な項目は

  • EngineProtocol3=USI
  • EngineParam3=(なし)
  • EngineTitle3=好きなタイトル, e.g. Hamilcar 0.0
  • EnginePath3=実行バイナリのパスを絶対パスで, e.g., /Users/userName/Documents/IdeaProject/hamilcar/dist/build/hamilcar/hamilcar
  • EngineOptionSave3=true
  • EngineEnvParam3=(なし)
  • EngineDispOrder=1:2:3:(3:を追加)
  • EngineKeyNo=1:2:3:(3:を追加)

といった感じです。設定した後にエンジン設定画面に設定したタイトルが追加されていることを確認して下さい。

設定がちゃんと出来てるとこんな感じで動きます。

f:id:euphonictechnologies:20141020232231g:plain