マークホート(หมากฮอส)Javaプログラム
最終更新日 2016.2.15

下の左がJavaアプレットプログラムですが多くの人は実行できていないでしょう?
下の右または下の下がWindows上の実行画面の画像です。(画像の方はクリックしても遊べません。)
マークホート(หมากฮอส)実行画面
プログラムについて
タイ王国のマークホート(หมากฮอส [màak hɔ̂ɔt])というボードゲームのプログラムです。
弱いです。
現在、このプログラムは一般的なルール(対戦ネットサイトのルール)と少し違います。
一般的なルールを調べはじめましたが結構ルールが違うので驚いているところです。
まだ一般的なルールを把握していませんが、適当なローカルルールで遊んでるタイ人も多いので何が正式か把握が難しいです。
西洋のチェッカーというゲームと酷似していてチェッカーの一種です。
本当はチェッカーズらしいですが日本では昔の人気バンドと間違えるのでその呼称を使いにくいのでしょう。
タイ式ルールは最初の駒の配置が二列ずつです。
(イギリス式ルールは三列ずつ?)
8×8マスのタイ将棋の板またはチェス板を利用します。
駒は日本将棋でいう歩兵に相当するもののみを使います。
コーラなどの瓶のふた(王冠)で代替することが多いようです。
実はかなり昔にこのJavaアプレットを作っていて最近まで放置していました。
当時はまだIE4が使われていたので、Swingを使わずにAWTで作りました。

各形式のダウンロード版のライセンス
New BSD license
無料、再配布可、改変可。

各形式のダウンロード
要JavaのWindows版のダウンロード(Windows)(2016/2/14)
Java Web Startでのダウンロードとインストール(Windows、Mac OS X、Linxなど)
jarファイルのダウンロード(Windows、Mac OS X、Linuxなど)

Javaのダウンロード
インストールされていない場合にはダウンロードが必要です。
Javaアプレットを利用する場合は64ビットOSを使っていても32ビットのウェブブラウザが多いので32ビット版のJavaでないと動かないことが多いです。
Java実行環境(JRE)ダウンロード

全形式共通の動作条件
Java(JRE 1.6u45またはそれ以降)がインストールされている必要があります。
現在はJDK 1.6u45で作成しています。
上のアプレットが表示できていればウェブブラウザ上でクリックして遊べます。
ダウンロードして実行する方法もあります。
Windows版以外はWindows、Mac OS X、Linuxなど各種OSで動作します。

JavaアプレットとJava Web Startでの動作条件
JavaアプレットとJava Web StartのJavaアプリケーションとに対応していますが、この二つは最近のJava環境(Java8及びJava7u65以降)では http://www.gengo.tk/ とhttp://gengo.tk/ を(windowsではコントロールパネルの)Javaの設定で許可してセキュリティーレベルをVery highからhighに下げないと動きません。
アプレットの場合のみOSが64ビットでも32ビットのJRE(Java実行環境)をインストールしないと32ビット版IEやfirefoxでは動きません。

jarファイルの起動方法
jarファイル(makhot.jar)は、コマンドプロンプトで java -jar makhot.jar と入力することで起動できます。

Windows版の動作条件
Windows XP~10で動くと思いますが、現在Windows 8.1でのみ動作確認しています。
Java(JRE 1.6u45またはそれ以降)がインストールされている必要があります。
現在はJDK 1.6u45で作成しています。
元々Javaアプレット兼JavaアプリケーションだったものをWindows実行形式のexeに変換しているためWindowsでしか起動できません。 起動後はJavaアプリケーションとして動作します。
インストール後はプログラムメニューとデスクトップのmakhot_winのショートカットから起動できます。

GCJ(GNU Compiler for Java)
下はxubuntu 14.4で、GCJでネイティブコンパイルされたマークホートの実行画面です。
マークホート GCJでJavaをネイティブコンパイル
Linux上のGCJ(GNU Compiler for Java)に対応しLinuxネイティブバイナリにコンパイルが可能です。
GCJをインストールする必要があります。
コンパイル方法は、makhot.jarだけを展開したディレクトリでgcj --main=makhot -o makhot *.class
Javaソースがあれば、*.classの部分を*.javaに変えてもできますす。

ソースファイル
公開しても誰も見ないと思うんですよね。
出してもいいんですが、jarファイルのclassを逆コンパイルすればほぼ同じ物が出て来るのでそれがソースでいいんじゃないかと思います。
逆コンパイルが通らない処理も難読化もしていません。

今現在実装のルール
このプログラムに実装されているルールは一般的なルールと少し違います。
駒を取っていき、駒が少なくなれば負けです。
何個になったら負けなのか、いまいちはっきりしません。
少なくとも全部取られたら負けですが、成った駒は逃げることができるので全部取ることは困難です。
これ以上いくらやっても進展がなくお互いに相手の駒を取れないだろうという状況で駒が多いほうが勝ちです。
ルール未完成部分 一般的なルール
その他
ルールが単純なため、タイでは人気があります。
チェスに似たタイ将棋(หมากรุก [màak rúk])というものもあるのですが、多くのタイ人はルールを知らず興味がありません。
タイ人はルールを覚える努力に非常に抵抗を感じるようで、ルールが単純ですぐ覚えられるマークホートのほうが人気あるようです。
このマークホートですが、日本人もあまり興味を示さず誰もがスルーする状態。
日本人でマークホートのプログラムを作った人も今のところ私以外聞かないです。
調べてもないですが。


鍋田辞書 タイ語に対応したWindows用の辞書ソフト鍋田辞書はタイ語IME内蔵。タイ語ローマ字入力可。ローマ字でタイ文字を検索、タイ文字をローマ字に変換、タイ文字の声調記号を無視して検索などのタイ語に特化した機能のある辞書ソフトです。
トップページ