$ gcc -std=c99 -Wall sample1.c -o sample1.scr -lscrnsave -lgdi32 -lopengl32 (これは、MSYS(MinGW用のShell)を使ってコンパイルする場合。 TeraTerm等でやるのはgccのライブラリやヘッダファイルの検索パスの設定が 大変になるはず) $ sample1.scr /s あるいはsample1.scrのdouble clickでもよい。 (scrの拡張子の関連付けが変わってしまったらダブルクリックで 起動できなくなりますが) 上記をMakefileを使って行う場合、Makefileを講義用ページからダウンロードしてから 以下のようにして実行できます。 $ make $ make s [注意] $ sample1.scr /s でうまくいかない場合、 $ sample1.scr s としてください。 (Makefileを使う場合は、Makefile内の該当部分をこのように書き換えてください。) [sample1のスクリーンセーバ記述言語の構文] := := 'U'|'D'|'L'|'R' [sample1のスクリーンセーバ記述言語の意味] Uは上、Dは下、Rは右、Lは左を表すものとし、 この方向に少しずつ正方形が動いていく。 [sample1.cの説明] glOrtho(-50.0*wx/wy, 50.0*wx/wy, -50.0, 50.0, -5.0, 5.0); の行で座標の設定を行っています。 wxはrc.right-rc.leftで、rcに画面の情報が入っており、 rc.rightが右端、rc.leftが左端です。これらの差が 画面の横のピクセル数になります。学情センターの画面だと1280です。 wyはrc.top-rc.bottomで、画面の縦のピクセル数になります。 学情センターの画面だと1024です。 上記により、縦方向が-50から50まで、横方向が-50*1280/1024から50*1280/1024 になります。 あとは奥行きは5と-5にしていますが、sample1.cでは奥行きは使っていません。