OSECPU-ASKA入門 #0005

(0) はじめに


(1) drawString

(2) リリースモード




(3) 複数の関数を作る例

(4) sleepのmodeについて

(5) inkeyのmodeについて

(6) グラフィックスでpage0044の(4)をやってみよう!

#include "osecpu_ask.h"

#define L_drawDec    LOCAL(0)
LOCALLABELS(1);

#define drawDec(mode, xsiz, ysiz, x1, y0, col, i)   R30=mode; R31=xsiz; R32=ysiz; R33=x1; R34=y0; R35=col; R36=i; CALL(L_drawDec)

#define XSIZ	16
#define YSIZ	16

    // main
    do {
        SInt32 i:R00;
        for (i = 111; i != -100; i--) {
            junkApi_fillRect(0, 8*XSIZ*3, 16*YSIZ, 0, 0, 0x000000);
            drawDec(4, XSIZ, YSIZ, 8*XSIZ*3, 0, 7, i); // (x, y)の指定が左上ではなくて右上なところに注意.
            junkApi_sleep(0, 1000);
        }
    }
    junkApi_sleep(0, -1);

beginFunc(L_drawDec);
    do {
        SInt32 mode:R08, xsiz:R02, ysiz:R09, x1:R01, y0:R0A, col:R0B, i:R00, flag:R03, ii:R04;
        mode = R30; xsiz = R31; ysiz = R32; x1 = R33; y0 = R34; col = R35; i = R36;
        flag = 0;
        if (i < 0) {
            flag = -1;
            i *= -1;
        }
        do {
            ii = (i % 10) + '0';
            i /= 10;
            x1 -= xsiz * 8;
            junkApi_drawChar(mode, xsiz, ysiz, x1, y0, col, ii);
            if (i > 0) continue;
        }
        if (flag != 0) {
            x1 -= xsiz * 8;
            junkApi_drawChar(mode, xsiz, ysiz, x1, y0, col, '-');
        }
    }
endFunc();

(7) for構文 #1

こめんと欄


コメントお名前NameLink

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS