【四川省への道】第9話
こんにちは、トラップですぅ。(^o^)/
前回でルールの組み込みも終わり、ゲームとして遊べるレベルになりました。
今のままでも遊ぶには充分なんですが、牌を取る時がちょっと淋しいので、
少しだけ工夫してみましょう。(^^)
◎牌を取るときの接続ラインの描画
牌を取る時に、どんな経路で取れるのかを表示すれば、見た目もいいし、
「え、何でこれが取れるの!?」といった事もなくなります。(^^)
それに、ユーザーが「牌を取ったんだ・・」という感触を得られるのも
ポイントです。ゲームに限った事ではありませんが、フィードバックが
ないとプレイしていて不安ですものね。(^-^)
さて、その実現方法ですが・・・コの字型の場合を例に考えますと、
2つの牌を結ぶためには、3本の線が必要だとわかります。
・・という事は、点の座標が4つわかれば充分ですね。(^^)b
さて、ここで前に追加していたサブルーチンが意味を持ってきます。
( *T1T1T2, *T1T2T2, *T1122U1WW2, *T1WW2U1122, *U12, *T12 )
取るパターンによって、これらのルーチンをわけていたのは、まさに
この時のため。点の座標をそれぞれ LX(), LY() に格納して、その数を
LC に入れておいたんです(^o^)b。もう準備はできているわけですから、
後は牌を消す前に接続ラインの描画を行うだけなのです。(^-^)v
3本のラインだとすると、次のようになるでしょう。
(1) (LX(0),LY(0))-(LX(1),LY(1))まで線をひく。
(2) (LX(1),LY(1))-(LX(2),LY(2))まで線をひく。
(3) (LX(2),LY(2))-(LX(3),LY(3))まで線をひく。
(4) ちょっと待つ。
(5) (LX(0),LY(0))-(LX(1),LY(1))までの線を消す。
(6) (LX(1),LY(1))-(LX(2),LY(2))までの線を消す。
(7) (LX(2),LY(2))-(LX(3),LY(3))までの線を消す。
初めは、1度書いた線をどうやって元に戻すかで悩んだのですが、
よく考えたら、線が通るのは"背景"と、"消される牌"の上ですから、
単に「背景と同じパターン」で消してあげればいいだけなんです。
これに気づくまでは、XOR 演算で描画しておこうか、それとも元の
画面を保存しようか・・・なんて悩んじゃいました。(^^; ヤレヤレ
さて、ここまで来れば後は力技!LX(),LY()には画面の座標ではなく、
牌の座標で記録していますので、X座標の方は X*12+5、Y座標の方は
Y*16+21 の計算を行った上で描画してあげましょう。(^^)/
1 REMサンプル No.8
515 '
520 *TC3
530 IF LC=&0 THEN *T3
540 FOR I=&0 TO LC:LX(I)=LX(I)*12+5:LY(I)=LY(I)*16+21:NEXT
550 FOR I=&0 TO LC-1
560 CALL@41,(LX(I)-1,LY(I)-1)-(LX(I+1),LY(I+1)),&1,&4
570 NEXT
580 CALL@11,20
590 FOR I=&0 TO LC-1
600 CALL@41,(LX(I)-1,LY(I)-1)-(LX(I+1),LY(I+1)),&3,&0
610 NEXT
かくして、接続ライン描画ルーチンも無事にできました。
ちょっとした事ですけど、それっぽい表示になりましたよね。(^^)v
◎より良いソフトにするには・・・
さてさて、とりあえず自分で遊ぶ分には申し分ないできになったと
思います。では、もっと良いものにするにはどうしたら良いでしょう?
今のままでは画面が淋し過ぎますよね・・・となると、画面をもっと
華やかにしてみるとか、そう!ゲーム開始までの待ち時間に、何か一言
メッセージが欲しいですよねぇ。ゲームクリアしたら、その喜びを倍増
させるような画面、効果音なんてのもいいですね。(^_-)
画面や音だけじゃなく機能面もそう、今の画面をやり直したり、新規に
ゲームを始める・・・それから、時間の記録!ハイスコア記録を忘れちゃ
いけませんよね〜。これがあると無いとでは、ゲームの燃え方が違って
きちゃいますもん。(^^)b
そぉそぉ、遊び方を説明することも考えると、アシストキーを押したり
ヘルプボタンを押すことで説明が読めると嬉しいですよね。(^^)
皆さんもいろいろと工夫してみてくださいねぇ〜。o(^-^)o
◎最後に・・・
長々と続けてきた【四川省への道】ですが、今回をもって終わりに
したいと思います。ハイスコア登録やボタン処理、メニュー処理など、
本連載で取り上げなかった項目はまだまだあるのですが、それらは
ライブラリにアップされたソースを見ていただければ、容易に理解
いただけることでしょう。(^o^)b
それに本連載では、1つのゲームを完成させるまでの過程・・・・・
つまり、イメージからプログラムを作るまでをお話ししたいと考えて
きましたので、まぁ目標通りかな・・なんて思ったりして。(笑)
ではでは、この【四川省への道】が、Add-Inを開発したい方にとって、
何らかの参考になる事を祈りつつ、筆をおくことにします。
ご愛読ありがとうございました。 m(__)m
【今回のソースお持ち帰り】 SAMPLE8.SRC
|