#はじめに
Qiitaに投稿してよいのかどうか迷いましたが、
毎回お世話になっておりますので、投稿することにしました。
初めての投稿になりますので、色々と見づらいとかおかしな所があったりするかもしれませんが指摘くだされば訂正していきたいと思います。
今回、手持ちのスマートフォンを新しい機種へ変更したので、
内部ストレージに余裕が出来ました。
で、度々訪れるJNetHackをプレイしたい欲求が湧いてきました。
5年位前にもアンドロイドにインストールしましたが、その時よりすごく簡単に
インストールする事が出来て幸せです。
補足ですが、AndroidでJNetHackをプレイするのにルート化は不要です。
##準備
Termuxをインストールした後、下記コマンドを実行
テキストエディタは好きなもので構いません。
$ pkg upgrade
$ pkg install clang make bison flex gzip wget vim iconv ncurses-ui-libs
lexコマンドが無いのでリンクを張っておく
$ ln -s /data/data/com.termux/files/usr/bin/flex /data/data/com.termux/files/usr/bin/lex
nkfをコンパイルしてインストール
$ wget https://ja.osdn.net/projects/nkf/downloads/70406/nkf-2.1.5.tar.gz
$ tar zxvf nkf-2.1.5.tar.gz
$ cd nkf-2.1.5
vimでMakefileとconfig.hを編集
テキストが編集出来たら何を使っても良いです。
Makefile
プリフィックスを変更
prefix = /data/data/com.termux/files/usr
config.h
デフォルトコードUTF8のコメントをはずす
#define DEFAULT_CODE_UTF8
make installしてルートに戻る
$ make
$ make install
$ cd ../
これで、準備は完了しました。
###NetHackとJNetHackパッチファイルをダウンロード
ダウンロードして展開し、パッチを当てます。
$ wget https://ja.osdn.net/dl/jnethack/jnethack-3.6.6-0.1.diff.gz
$ wget https://www.nethack.org/download/3.6.6/nethack-366-src.tgz
$ tar zxvf nethack-366-src.tgz
$ cd NetHack-NetHack-3.6.6_Released/
$ zcat ../jnethack-3.6.6-0.1.diff.gz | patch -p1
ファイルの編集
$ vim sys/unix/hints/linux
libiconvを追加します。
WINTTYLIB=-lncurses -ltinfo -liconv
configureしてインストール
$ sh ./configure
$ make install
起動します。
$ cd ../
$ nh/install/games/jnethack
無事に起動しました。
気になるのが、ステータスが変換されていない事ですが、
普通にプレイできるのでよしとします。
####まとめ
今回の記事を書くときに以前使用していたスマホでも確認しながら編集しました。検証環境を記載しておきます。
【検証環境】
Xperia10ii(SO-41A)/android10
nova lite(PRA-LX2)/android8