読者です 読者をやめる 読者になる 読者になる

ピクセル指向プログラミング言語 Pixilang (2)

Pixilang入門の下書きみたいなものだと思ってください。

エラー

プログラムに間違いがあると、エラーになることがある。
たとえば、次のプログラム

while 1
{
  print( "Hello, world! )
  frame()

  while get_event()
  {
    if EVT[ EVT_TYPE ] == EVT_QUIT { halt }
  }
}

これを実行すると、こういう画面になる。
f:id:mandel59:20130602153907p:plain
ERROR (line 3) in hello.pixi: syntax error と表示されているのは、3行目に文法的な誤りがあるという意味。よくみると、3行目の " が抜けているのが分かる。
一方で、エラーにはならないけど、正しく動かないということもある。

コメント

// これはコメント
/* これもコメント */

Pixilangは、行の // より後の部分と、 /* と */ で囲まれた部分を無視する。これは人間の読むコメントを書くために使う。

関数

今までに出てきた print, frame, get_event は関数 function というものだ。

関数は

関数名(引数1, 引数2, ...)

のような形をしている。関数を使うことで、グラフィックスを表示したり、音声の処理を行ったり、計算したりと、色々な機能を使うことができる。

点、線、長方形

dot関数を使うと、画面に点が表示される。

while 1
{
  dot( 0, 0, WHITE )
  frame()

  while get_event()
  {
    if EVT[ EVT_TYPE ] == EVT_QUIT { halt }
  }
}

f:id:mandel59:20130602155227p:plain

dot($x, $y, $color)
$x: 点のX座標
$y: 点のY座標
$color: 点の色

Y座標は下向きであることに注意。例えば、Y座標に100を指定すると原点より100ピクセル下に表示される。100ピクセル上に表示するには、Y座標に-100を指定する。

色の指定は WHITE, BLACK, ORANGE のように色名を指定する方法と、 #ffeeccのように16進数カラーコードを指定する方法がある。
他にも、線を表示する関数 line と、長方形を表示する関数 box、塗りつぶされた (filled) 長方形を表示する fbox がある。

while 1
{
  dot( 0, 0, WHITE )
  line( 0, 100, 100, 0, ORANGE )
  box( -100, -100, 50, 100, RED )
  fbox( 100, -100, 100, 50, #ffeecc )
  frame()

  while get_event()
  {
    if EVT[ EVT_TYPE ] == EVT_QUIT { halt }
  }
}

f:id:mandel59:20130602161737p:plain

line($x1, $y1, $x2, $y2, $color)
$x1: 線分の始点のX座標
$y1: 線分の始点のY座標
$x1: 線分の終点のX座標
$y1: 線分の終点のY座標
$color: 線分の色
box($x, $y, $xsize, $ysize, $color)
fbox($x, $y, $xsize, $ysize, $color)
$x: 長方形の左上の頂点のX座標
$y: 長方形の左上の頂点のY座標
$xsize: 長方形の幅
$ysize: 長方形の高さ
$color: 長方形の色