Hatena::Groupnadesiko

雪乃☆雫のなでしこ日和

2009-03-20

もしもしもしもしぃ~~;

| 22:43

 昨日ので、マウスの座標を取得して、どの駒をクリックしたかが分かるようになりました。

 でも、パズルの盤の外をクリックしても、座標が入ってしまうのは、よろしくありません。盤の中をクリックした時だけ取得するように変更。

#-----マウス判定--------------------------------------------------------

母艦のマウス押した時は                 #マウス位置が

  もし母艦のマウスX>左マージンならば        #盤の中にあるかを確認

    もし母艦のマウスY>上マージンならば

      もし母艦のマウスX<左マージン+盤サイズならば

        もし母艦のマウスY<上マージン+盤サイズならば

          x=(母艦のマウスX-左マージン)/駒サイズ。y=(母艦のマウスY-上マージン)/駒サイズ。

          x=xを切り下げ。y=yを切り下げ

#-----------------------------------------------------------------------

 もしもしもしもしぃ~~~~~~~~(汗)

 条件分岐のなかで、論理式?を使う方法がよく分からなかったので、てきとーに「かつ」とか「and」とか入れてみたけどうまくいかず。

 しょうがないからとりあえず書いたらこんなことに…;

 でも、一応これで動きますけどね。

 というわけで、とりあえずスルーして先に進もうかとも思いましたが、んなわけねーだろ?! と、学んだ結果以下のとおりに書き換え。

#-----マウス判定--------------------------------------------------------

母艦のマウス押した時は

  もし、(新規ゲーム待ち=「オフ」)かつ

  (母艦のマウスX>左マージン)かつ         #マウスが盤の中で

  (母艦のマウスY>上マージン)かつ         #押されたか確認

  (母艦のマウスX<左マージン+盤サイズ)かつ

  (母艦のマウスY<上マージン+盤サイズ)ならば

    x=(母艦のマウスX-左マージン)/駒サイズ。y=(母艦のマウスY-上マージン)/駒サイズ。

    x=xを切り下げ。y=yを切り下げ

#-----------------------------------------------------------------------

 これは、一行に書いても大丈夫のようです。

 わかったのは、もしならばだけのときは特に必要ありませんでしたが、条件の式を()で囲まないとダメらしい。これは、「かつ」が白い文字なので、式の中の変数とはつながってしまうからだと思われます。

 あと、なぜか改行は「かつ」の後ろで入れなくてはならず、「かつ」を行頭に持ってくるような書き方は出来ないらしいです。

トラックバック - http://nadesiko.g.hatena.ne.jp/snowdrops89/20090320