HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2010
0831
条件つきでgetkye命令を使いたいんですが・・・5未解決


リンク

2010/8/31(Tue) 18:19:50|NO.34739

ゲームをつくっています。
x= 1から10で、boxf 0,175,10,50のなかでスペースキーが押されると得点が入るようにしたいです。
なにか方法はありますか?



この記事に返信する


SYAM

リンク

2010/8/31(Tue) 18:26:27|NO.34740

>boxf 0,175,10,50のなか

…というのはわかりましたが、何がその中にあるときにスペースキーが押されるんでしょう?

とりあえず 座標の値が x,y 、大きさが 横w,縦h である何かがその中にあると仮定して話をします。
座標だけで大きさを考えなくていいなら、 wとhは 0 でいいです。

if を使って、
x が 0 より大きく、
x+h が 10 より小さく、
y が 50 より大きく、
y+h が 175 より小さい。

スペースキーを押したときにこれら4つの判定をして、
4つの条件が全部成立していたら点数が入るようにしたら よいのです。

if を使えばできるはずです。がんばってください。



リンク

2010/8/31(Tue) 18:30:34|NO.34742

ていねいな説明ありがとうございます。
なかにいくのは●です。



check

リンク

2010/8/31(Tue) 18:40:03|NO.34745

{}で囲えば複数の条件で分岐を行うことができる。(&&を使う方法もある)
あとは考えればできる。

hoge = 1 hoge2 = 2 hoge3 = 3 if hoge = 1 { if hoge2 = 2 { if hoge3 = 3 { mes "Hello World" } } }



SYAM

リンク

2010/8/31(Tue) 18:40:31|NO.34746

一箇所間違えてました orz

>x+h が 10 より小さく、

ここは x+w ですね。訂正。



パラレルアロー

リンク

2010/8/31(Tue) 19:02:57|NO.34747

えーと、知恵袋で質問をされていたお方ですか?もし間違っていたらすみません。
つまり、こういうことをやりたいんですね?

mesx = 30//●のX座標 mesy = 200//●のY座標 screen 0,200,300 repeat redraw 0 color 0,0,0 boxf color 0,255,255 boxf 0,175,100,50//あまりに分かりづらいので第三パラメータを100にしています pos mesx,mesy color 255,0,0 mes "●" if (mesy < 175)and(mesy > 50){ pos 140,0 color 255,255,255 mes "今だ! " } redraw 1 mesy-=4 wait 3 loop

ここはわかっておかないといけない部分だと思うので、
わざとコメントをつけていません。
スペースの取得もしていません。(stick命令が使えるでしょう)
一つ一つ命令をF1キーを押して調べる、これが上達への早道かと思いますので。
まずは上のヤツを試して、調べて、どういう構造になっているのか言えるようにしてみましょう。
逆にいえば、それができるようになればどんなものでもプログラムが組めるように
なると思います。



ONION software Copyright 1997-2021(c) All rights reserved.