Archive for 11月, 2007

FreeBSDへのErlangのインストール

金曜日, 11月 9th, 2007

毎度のことながらzickです。
FreeBSDにErlangを入れたのでそのときのメモを残しておきます。
最初、portsから入れようとしたんですが、
失敗したので、ソースからmakeすることにしました。
———-
FreeBSDへのErlangのインストール
———-
0)JDKをインストール
$ pkg_add diablo-jdk-freebsd6-1.5.0.06.00.tbz
1)Erlangのソースを入手
2)ファイルを展開し、 lib/odbc/c_src/odbcserver.c の冒頭に次の行を追加
#include <netinet/in.h>
3)gmake
4)gmake install
———-
さほど難しいことではないのかもしれませんが、
普段Windowsばかり使っている私にはなかなか堪えました。
しかし、何でJavaが必要なんでしょうかね。
こんどはFreeBSDにESDLを入れようとしているんですが、
なかなか上手くいかず、苦労しています。

Erlangでゲーム作り

木曜日, 11月 8th, 2007

zickです。
11月2日の日記で書いたとおり、ESDLを入れたのですが、
せっかくなんで簡単なゲームを作ってみました。

昔からよくあるエアホッケーみたいなゲームですが、
LAN上の二台のマシンで対戦ができます。
(ただし、上の画像では一つのマシンで二つ立ち上げています)
ネットワークプログラミングなんてろくにやったことのない私ですが、
思いつくままに書いたら何故かうまく動きました。Erlang万歳!
しかし、ESDLって文字表示できないんですね。
数字を表示するため画像を準備するはめになりました。
本格的にゲームを作るのはちょっと面倒かもしれません。

リリカル☆Lisp ver1.1公開

水曜日, 11月 7th, 2007

いつもzickですが、今回もzickです。
昨日NANRIさんという方が、なんとxyzzyからリリカルLispに文字を入力できる
『xyzzy lyrical-mode』を書いてくれました。
ここからダウンロードできます。
付属しているlyrical.lに使い方が載っているので、それに沿って準備をしました。
まず、リリカルLispとxyzzyを起動。

xyzzy側で M-x lyrical-lisp と入力。リリカルモードになります。
xyzzyにフォーカスをあわせ、評価したい式を入力

式の最後にカーソルを合わせ、 C-j を入力。
リリカルLispのフォームの方に式がコピーされます。

これで、楽にリリカルLispに式を入力できるようになりました。
xyzzyにフォーカスが合わないときはEnterを押すとうまくいくようです。
もともと、ver1.0でも動作したんですが、ver1.0ではパーサが
空白としてスペースしか考えておらず、タブと改行を無視していました。
ver1.1ではこれをちゃんと空白として認識するようにしたため、
xyzzy lyrical-modeを使って自由に式を入力できるようになりました。
NANRIさん、本当にありがとうございました。

ESDL(Erlang SDL)導入メモ

金曜日, 11月 2nd, 2007

こんにちは。zickです。
昨日、ErlangでSDLを使うためのライブラリ『ESDL』を使ってみようとしたんですが、
使えるようにするまでかなり苦労しました。検索してもあまり資料が見つからなかったので、
荒い文章ではありますが、ESDLの導入方法を書き残しておきます。
ちなみに、Windows環境での話ですよ。

▲このリリカルっぽいものはErlang上で動いています
———-
ESDL導入メモ
———-
1)ErlangのWindows用バイナリをダウンロード
2)SDLのDevelopment Librariesをダウンロード
3)ESDLをダウンロード
4)cygwinをダウンロード
5)mingwをダウンロード
ダウンロードしたものは適当に配置してください。
ただし、cygwinにはmakeを入れといてください。
6)cygwinの/etc/profileを編集し、Erlang、SDL、mingwへのパスを通す。
(すべてbinへのパスを通してください。)
7)ESDLのConfigure-cygwin-mingw.shの以下の箇所を変更
– SDLROOTにSDLのパスを直接指定
– libSDL.aをlibSDL.dll.aに変更
SDLROOTには自動的に探したパスを入れてくれるみたいなんですが、
見事に間違えてくれるので自分で上書きします。
8)cygwinから以下のコマンドを入力
$ cd (ESDLのパス)
$ ./Configure-cygwin-mingw.sh
$ ./mingw-build.sh
$ make install
make installは必須ではなく、Erlang側でESDLの下の/ebinへパスを通せば使えるようですが
(むしろ、ESDLのREADMEにはそういう使い方が書いてありました)
せっかくmakeファイルに親切なことが書いてあるのでやっておきます。
(Erlangのlibの下に色々コピーされるだけです)
9)テスト
Erlangを立ち上げて、ESDLの下のtestに移動(もしくはそこから起動)
> testgl:go().
これでウィンドウが立ち上がり、歓喜のあまり踊り狂いそうになったら成功です。
———-
これで多分大丈夫です。
この文章を書くに当たって別のPCで今日やり直してみたんですが、
すぐにできました。昨日物凄く苦労したのがバカらしいです(泣)
少しでもこの文章が人のためになったら幸いです。