#############################
# Tcl版スペースサーチもどき #
#############################

スペースサーチ（エポック社・1980）に良く似たゲームです。

================
インストール方法
================

「spacsrch.pex」と「spacsrch.tcl」をP/ECEに転送してください。

======
遊び方
======

９×７座標のどこかに隠れている、４隻の宇宙船を探すゲームです。
任意の座標から、幾つの軸上に宇宙船が存在するかを、サーチすることができます。
サーチした結果から推測して、効率良く宇宙船を見つけてください。

========
操作方法
========

------------
タイトル画面
------------

ＡまたはＢボタン　　ゲームを開始します。

----------
ゲーム画面
----------

方向ボタン　　　　　カーソルを移動します。
ＡまたはＢボタン　　サーチします。

--------
いつでも
--------

ＳＥＬＥＣＴボタン　プログラムを終了します。

========
あとがき
========

エポック社のボードゲーム、スペースサーチです。
マインスイーパに似ているけれど、遠方までサーチできる分、スペースサーチの方が長考するゲーム性です。
本来、スペースサーチの醍醐味は対戦プレイなのですが、今回は一人プレイモード専用で作りました。
その上、CPUが座標のマークを完全に補助するするようにしたので、ほとんど考える部分がありません。
スペースサーチらしくない、スペースサーチになってしまいました。
本物のスペースサーチについては、以下のサイトが詳しいです。

「山口 浩の「汚い部屋」」(http://www9.big.or.jp/~hiroshi1/)さんの、
『エポック社　「スペースサーチ」　一人用モードリプレイ記』(http://www9.big.or.jp/~hiroshi1/space_search.html)のページ

「北見工業大学囲碁将棋部 on the web」(http://www.geocities.co.jp/Playtown-Domino/7685/igoshogi/igoshogi.htm)さんの、
『スペースサーチとの馴れ初め／ルール』(http://www.geocities.co.jp/Playtown-Domino/7685/igoshogi/sps_profile.htm)のページ

今回は、P/ECE用Tclインタプリタを使って、簡単なボードゲームを作ってみました。
実行速度の遅さに苦労しました。前回までの速度計測で、何となく想像は付いていましたが…
スペースサーチには先読み処理は無いのですけれど、初期化処理や、座標をマークする処理だけでも重いです。
当初、Tclスクリプトだけで実装したときは、何か操作する度に数秒〜数十秒止まってしまいました。
仕方が無く、重い処理は、Tclスクリプトと同等の処理をC言語ルーチンで作成して、TclからC言語ルーチンを呼び出すようにしました。
具体的には、「P/ECEのメインルーチン(C言語)⇒Tclスクリプト⇒C言語ルーチン」という呼び出しです。
最終的に、処理の大半をC言語ルーチンで実装したため、Tclスクリプトはメインループ内の処理順序ぐらいしか担当していません。(^^;
まあグルー言語としては、これで正しいのかも知れません。

======================
Sun Dec 21 2014
Naoyuki Sawa
nsawa@north.hokkai.net
======================
