【四川省への道】第1話
-
この文書は、PIシリーズのザウルス用に作成したAdd inソフト【四川省】の
制作風景を記録したもので、NIFTYのフォーラム FZAURUS に書いた物を
一部手直しして転載したものです。
|
こんにちは、トラップですぅ。(^o^)/
先日、Add-Inソフト「四川省 for Zaurus」と、そのソースを公開させて
頂きました。余り綺麗なソースではありませんが、Add-Inを開発したい
方々の参考になれば嬉しいなぁ〜なんて思います。(^-^)
そこで、せっかくソースがあるのですから、四川省開発秘話(^^;というか
私の(いい加減な)Add-In開発法を数回にわたりご紹介したいと思います。
そですね・・・気楽なアドイン講座みたいなものですので、質問・鋭い
突っ込みなど、お待ちしておりま〜す。(^^)
◎「四川省との出会い」
ある日のことです。
お昼休みだというのに、みんながWindowsマシンの前でゲームに
熱中しています。画面を見ると、麻雀牌がいっぱい並んでいます。
麻雀に興味はないので、初めは遊ぶ気がおきなかったんだけど、
みんなハマってるから、ちょっとだけ・・・。あれ?これは
予想外におもしろい(^^)。
「よし!ザウルスに四川省を作ろう!(^o^)/」
・・かくして、初めてのAdd-Inゲーム製作が始まったのでした。
◎まず最初に・・・
最初に考えたのは、「本当に実現できるだろうか?」という点です。
四川省は、1画面に、36種類の牌を各4個ずつ、横18個×縦8個
表示しなくてはなりません。
ザウルスの画面は、「WIDTH」命令によると・・横239ドット×縦168ドット、
最大で19(39)桁×16行まで可能です。文字で構成するとした場合、絵記号を
使えば36種類の表現はできそうですから、なんとか18×8個の表示は
可能でしょう。次に絵で描くとした場合、239/18=13...5、168/8=21で、
1つの牌が13x21以下の大きさであれば大丈夫そうですね。
ところで、絵を表示するにしても、どうすればいいのでしょう。
慌ててマニュアルを探すと・・3つほど方法があるようです。
(1) ICON 命令
(2) CALL@16 命令
(3) GPRINT 命令
それぞれにつき、掘り下げて考えてみると・・・(1)のICONでは、同時に
同じアイコンを表示できない為、144個のアイコンを作る必要があるし、
表示が少々遅いようです。(2)のCALLを使うと、絵の大きさは自由ですが、
ちょっと扱いづらそう・・・。(1)も(2)も、どちらもファイルをOPENして
ないとダメです。(3)は横方向は自由でも、縦が8ドット単位という制限あり。
ここで再度画面構成を考えます。
画面上部にはタイトルや終了ボタンなどを置きたいですから、18ドット程度
あけます。牌の周りにも少し空間が欲しいので、上下左右に8ドットあけて
再計算すると・・(239-16)/18=12...7、(168-18-16)/8=16...6 となり、
1つの牌あたり横12×縦16ドットなら良さそうです。
(縦が8の整数倍でGPRINTにもぴったり。(^-^)b)
画面のイメージは大体決まりましたし、表示手法もまず問題なさそうです。
ここで、気の早い私は牌のデザインを始めちゃいました。(^^;
1つあたり12x16といっても、実際には並べた時に見易くする為の"区切り"が
必要ですから、影のような効果も考えて、牌の右と下に1ドットずつ黒い線を
入れることにします。残りは11x15ドット・・・この中に麻雀牌の絵を表現しないと
いけません。ここから先は、努力と根性あるのみです。ちなみに今回は、
Windowsのペイントブラシを拡大モードにして使い、1つ1つ配をデザイン
していきました。全てできたところで、GPRINT用のデータに変換します。
本来ならプログラムで自動的に変換すれば良いのでしょうけど、
今回はオール手作業で行いました。(^^ゞ
苦労して描いた牌、ダウンしてみてくださいねぇ〜。(^^)
☆次回予告
長いわりに内容のない話ですみませんが、導入編ということで・・。(^^ゞ
次回は、四川省の原形・・牌の表示ルーチンにてお会いしましょう。
|