[Top Page][Edit][Discussion][Edit History][All Pages][Recent Changes][->Japanese]

HSPコンテスト:ショートプログラム:HSP基礎知識編:#defineを使う


    ショートプログラムに限ったことではありませんが、 定数や文字列は出来るだけ使わずに、#define や #const を使ったり、変数に代入しましょう。

    たとえば

            screen 0, 640, 480
            boxf 0, 0, 639, 479
    stop
    

    のように書くよりも

    #const MainWindowId 0
    #const WindowWidth 640
    #const WindowHeight 480
    #const WindowMaxX WindowWidth-1
    #const WindowMaxY WindowHeight-1
    
            screen MainWindowId, WindowWidth, WindowHeight
            boxf 0, 0, WindowMaxX, WindowMaxY
    stop
    

    のように書きましょう。
    (もしお望みなら 0 も #const してしまいましょう。)
    プログラムを作っているときに「ウィンドウサイズを変更したくなった」とか言うのはよくあります。
    そういうときに、数字をそのまま書いていると変更が大変で、バグが紛れ込んだりします。
    プログラムが長くなって、はじめは余計に難しくなったように感じますが、時間がたつと数字を直接書いたプログラムは何が書いてあるのかよくわからなくなってきます。
    #const を使ったプログラムは、時間がたっても意味がよくわかります。

    また、#const はコンパイル時に計算されるので、サイズや速度的にも有利です。