Display コマンド と system

kterm で、 display コマンドを使うと、作成した png ファイルを X 画面に出すことができる。

% display 画像.png &

system コマンドをプログラムに仕込むと、 絵とプログラムが同期する。anim.rb と飛びだす

#!/usr/koeki/bin/ruby

STDERR.print("くまさんが現れた!どうする?\n")
STDERR.print("a: 逃げる \t b: 鉄砲で攻撃 \t c: 話しかける\n")

system('display bear.png&')

answer = gets.chomp!

if answer == "a"
    print("逃げたが話しかけられた!\n")
elsif answer == "b"
    print("鉄砲は当たらなかった!\n")  
elsif answer == "c"
    print("くまさんはイヤリングを返してくれた!\n")
    system 'banner NEXT STAGE'
end

system('pkill display  -U `whoami`')

画像を出力するには、

display 画像 &

とするが、これを プログラムに仕込むには system コマンドを使う。 display コマンドは、ImageMagick というソフトウェアを動かしているので、 これを終らせないと画像も消えない。 画像を消すにはソフトウェアのコマンドを止める必要がある。

pkill コマンド

を実行し、ImageMagick をプログラム内で強制終了させる必要がある。

-U はオプションで、-U ユーザ とすると、特定のユーザの指定したコマンドを止める。

whoami は、今その Kterm を動かしているユーザ ID を知るためのコマンド。

絵が出る位置を指定したり、アニメーションを使いたいときは こちら

本日の講義目次 / 基礎プログラミング I / 2007 年度

Madoka Nishimura <madoka.koeki-u.ac.jp>