サイトトップへ
OSASK.NET
SourceForge.JP
サイトトップへ       新掲示板(凍結済)   Wiki(凍結済)   旧掲示板(廃止済)   ニュース(廃止済)  

blikeのデモ anchor.png

  • (by K, 2011.02.16)

  • blikeを使えば、これくらいのものがこれくらいの行数、これくらいのプログラムの難易度で作れますという例。配列とかポインタとかをできるだけ使わないようにしています。
    • でも配列は使っている例もあります。
  • もちろん他のもっと便利な言語を使えばこれより短くかけるかもしれませんが、C言語だけでここまでできるのは教えやすいのではないかと。しかも環境依存なしで。
Page Top

test002a (6行) anchor.png

http://osask.net/w/gate.php/test002a.jpg?way=attach&_noumb&refer=blike%2Fintro%2Fdemos&openfile=test002a.jpg

int x, y;
openWin(256, 256);
for (y = 0; y < 256; y++) {
    for (x = 0; x < 256; x++)
        setPix(x, y, rgb(x, y, 0));
}
Page Top

boxes00a (6行) anchor.png

http://osask.net/w/gate.php/boxes00a.jpg?way=attach&_noumb&refer=blike%2Fintro%2Fdemos&openfile=boxes00a.jpg

int i;
setCol(0x0000ff);
setBCol(0xc6c6c6);
openWin(160, 144);
for (i = 0; i <= 60; i += 3)
    drawRect(19 + i * 2, 139 - i * 2, 71 - i, 3 + i);
Page Top

bball00a (30行) anchor.png

http://osask.net/w/gate.php/bball00a.jpg?way=attach&_noumb&refer=blike%2Fintro%2Fdemos&openfile=bball00a.jpg

struct POINT {
    int x, y;
};
static struct POINT t[16] = {
    { 196, 100 }, { 187,  61 }, { 164,  29 }, { 129,   9 }, {  90,   5 },
    {  53,  17 }, {  23,  44 }, {   7,  81 }, {   7, 119 }, {  23, 156 },
    {  53, 183 }, {  90, 195 }, { 129, 191 }, { 164, 171 }, { 187, 139 },
    { 196, 100 }
};
static int c[8] = {
    0x000000, 0xff0000, 0x00ff00, 0xffff00,
    0x0000ff, 0xff00ff, 0x00ffff, 0xffffff
};
int i, j, d;

openWin(200, 200);
setMode(BL_POR);
for (i = 0; i <= 14; i++) {
    for (j = i + 1; j <= 15; j++) {
        d = j - i; /* 2つの点の距離 */
        if (d >= 8) d = 15 - dis; /* 逆回りに数える */
        if (d != 0) {
            setCol(c[8 - d]);
            if (t[i].x <= t[j].x)
                drawLine(t[i].x, t[i].y, t[j].x, t[j].y);
            else
                drawLine(t[j].x, t[j].y, t[i].x, t[i].y);
        }
    }
}
  • 構造体を使わないでも書けますし、そのほうが行数は減りますが、読みにくくなるような気がするので、このままにしておきます。
Page Top

test005a (9行) anchor.png

http://osask.net/w/gate.php/test005a.jpg?way=attach&_noumb&refer=blike%2Fintro%2Fdemos&openfile=test005a.jpg

int x, y;
openWin(256, 256);
for (y = 0; y < 256; y++) {
    for (x = 0; x < 256; x++)
        setPix(x, y, rgb(x, y, 0));
}
locate(13, 8);
color(7, 0);
printf("hello");
  • このようにグラフィックの上に普通にprintfできます(重ねあわせが美しくはないですが)。今までのprintfの知識をむだにすることはありません。
    • ピクセル単位で表示位置を指定できて、大きさも指定できて、さらに重ねあわせが問題ない文字列描画関数drawStrもあります。
  • このようなテキストとグラフィックの混在を許すので、学習者がステップアップしやすくなっています。

  • いろいろ書きましたが、どれもBASICでは何十年も前からできたことばかりです。つまり昔当たり前にできたことをまたできるようにしただけのことです。

Front page   Unfreeze Diff Backup Copy Rename ReloadPrint View   New Page Page list Search Recent changes   Help
ログイン
ユーザー名:
パスワード:
 
パスワード紛失

新規受付は停止しています

新着

目次
メンバー一覧


recent(20)
2016-10-01 2016-09-08
  • @MenuBar.
2016-09-07 2016-09-04 2016-08-15 2015-09-23 2014-07-30 2014-07-04 2014-02-04 2013-10-26 2013-06-21 2013-06-17 2013-06-15 2013-04-02 2013-02-09 2013-02-04 2012-12-25 2012-12-01 2012-05-28 2012-03-31

トピック一覧
一般用コメント最新
新掲示板lina
2016/9/5 20:58
SandBoxゲスト
2016/9/4 12:01
RecentDeletedlina
2015/6/2 19:29
Old-OSASK-MLlina
2014/6/29 9:14
hideyosi/メールhideyosi
2014/1/6 20:17
hideyosi/募集中lina
2013/11/8 19:56

このサイトは川合秀実から委託を受けて、OSASKコミュニティによって管理・運営されています。
このサイトに関するお問い合わせは掲示板にお願いいたします。