C言語用のグラフィックライブラリ「eggx」を試してみた | オヤジのブログ

オヤジのブログ

Yahooからの避難組/FC2と2足のわらじ/趣味やら日々の出来事やら

なぜかちょっと前から直接youtube動画貼れなくなってしまったのでリンクを貼っておく
https://youtu.be/LE5o6CIxAs0

JAXA(?)が作成したC言語、FORTLAN言語用の2次元グラフィックライブラリ「eggx」を試してみた

 

ダウンロードページにも「とにかく「簡単」に使えて「8ビットマシン時代のBASICのような楽しさ」を」と書いてあるけれど、ざっとリファレンスを眺めると、コマンドのラインナップも実にBASICっぽい、使い方もまさしくBASICみたい

でもさすがC言語、こんなヘボいプログラムも結構なめらかに動く。しかも標準出力にカラーコード出力している上に、さらに速すぎるので2ミリ秒のwaitを入れてある)

色はなめらかに16 1,600万色を変えようとしてるけど失敗してるww

ちょっとしたグラフ表示とか図示例を作成したりにも重宝しそうだし、マウスやキーの入力コントロールもできるのでゲームも作れる。(サンプルにある)

おもしろい

 

 

以下マニュアル目次抜粋

ーーーーーーーーーー

§2.4.14 newcolor 描画色の変更 (X サーバの持つ色を直接指

§2.4.18 newlinewidth 線幅の変更
§2.4.19 newlinestyle 線のスタイルの変更

§2.4.21 pset 点の描画
§2.4.22 drawline 直線の描画
§2.4.23 moveto, lineto 連続的に直線を描く
§2.4.25 drawpts 複数の点を描く
§2.4.26 drawlines 折れ線を描く
§2.4.27 drawpoly 多角形を描く
§2.4.28 fillpoly 多角形を塗り潰す
§2.4.29 drawrect 長方形を描く
§2.4.30 fillrect 長方形の領域を塗り潰す
§2.4.31 drawcirc, circle 中心座標,半径を与えて円を描く
~~

ーーーーーーーーーー

以下Youtubeにあげた動画のプログラム

 

#include <stdio.h>
#include <eggx.h>
#include <time.h>
#include <unistd.h>

int main(){

    int r,g,b;
    char color[10];
    int win,x=0,y=0,x1=1,y1=1;
    win = gopen(640,400);
    while(1){
        for(b=1;b<0xfc;b+=3){
            for(g=1;g<0xfc;g+=3){
                for(r=1;r<0xfc;r+=3){
                    sprintf(color,"#%02x%02x%02x",r,g,b);
                    printf("%s\n",color);
                    newcolor(win,color);
                    fillcirc(win,x,y,30,30);
                    usleep(2000);
                    newpen(win,0);
                    fillcirc(win,x,y,30,30);
                    x+=x1;
                    if(x>638 || x<1) x1*=(-1);y+=y1;
                    if(y>399 || y<1) y1*=(-1);
                }
            }
        }

    }
    ggetch();
    gclose(win);
    return 0;
}