hinekure.net が http://hspdev-wiki.net/ から自動クローリングした結果を表示しています。画像やリソースなどのリンクが切れています。予めご了承ください。
真偽値マスター - HSP開発wiki
トップ    編集凍結 差分バックアップ添付複製名前変更リロード   新規一覧単語検索最終更新   最終更新のRSS

小ワザ

真偽値マスター

条件式が苦手という方は条件式が返す真偽値が見えていないことになります。

じゃぁ見ようじゃありませんか。

条件式における真は0以外の値、偽りは0です。

比較演算子が返す結果は真ならば1、偽りならば0です。
ここでは比較演算子が返す値を"条件値"と呼ぶことにします。

スクリプト

Everything is expanded.Everything is shortened.
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
    // ここに次々に追加
    mes 1 = 1
    mes 0 = 1
    mes -1 = 1
 
    // 良く見かけるキー処理
    key = 3     ; ←と↑の同時押し
    mes key & 1 ; ←が押されているかどうか
    mes key & 2 ; ↑が押されているかどうか
    mes key & 4 ; →が押されているかどうか
    mes key & 8 ; ↓が押されているかどうか
 
    // HSP3掲示板から抜粋したキー処理
    key = 3  ; キー
    cx = 320 ; キャラx座標
    cy = 240 ; キャラy座標
    mes (key&1) & (cx>0)   ; キャラが左端より右にいたら?
    mes (key&2) & (cy>0)   ; キャラが上端より下にいたら?(おかしい)
    mes (key&1!0) & (cx>0)
    mes (key&2!0) & (cy>0) ; キャラが上端より下にいたら?(ただしい)
 
    stop
  1. 論理演算子の演算結果は条件値ではありませんが、定義によって条件式では値が0以外ならば真と扱われます。
  2. 複数の条件式を満たすということは、複数の条件値が真でなければなりません。
    論理演算子が返す値は条件値ではありません。

コメント

  • mesでもlogmesでも見ちゃえばいいんだよお〜^^; -- kz3 2005-10-23 22:36:49 (日)
  • logmesで見るときは、パラメータは文字列だし、文字列連結式の中で数値は計算されないので・・・
      1
    
     
    
        logmes strf("%d",1=1)
    のようにして書くと見れます。 -- kz3 2005-10-23 22:39:28 (日)
  • 今まで文字列連結の中で数値式を書くとパラメータエラーが起こっていて上のように提案したんですが
      1
      2
    
     
     
    
        logmes ""+(1=1)
        a = 5 : logmes ""+(5>1)
    などと数値式を括弧でくくってやれば先に括弧から計算されるということが分かりました。
    たしかに数式は括弧から先に計算するけど・・・ちょっと見逃していましたorz -- kz3 2005-10-26 17:55:04 (水)

URL B I U SIZE Black Maroon Green Olive Navy Purple Teal Gray Silver Red Lime Yellow Blue Fuchsia Aqua White

トップ    編集凍結 差分バックアップ添付複製名前変更リロード   新規一覧単語検索最終更新   最終更新のRSS
Last-modified: 2010-03-03 (水) 10:29:53 (1376d)