「はりぼて言語」について

(1) はじめに

(2) 基本情報


(3) サンプルプログラム例





		// wait処理.
		aWait(wunit);
		wunit = 40;
		lwt = lwt - 1;
		// キー入力.
		j = 0;
		for (;;) {
			i = aInkey(w, 1);
			if (i == 0) break;
			if (i == 27) goto end;
			if (i == 0x1024) { j = -1; }
			if (i == 0x1025) { j =  1; }
			if (i == 0x1026) { i = 32; }
			if (i == 32) {
				if (lwt <= 0) {
					lwt = 15;
					lx = fx + 1;
					ly = 13;
				}
			}
		}
		// 自機の移動.
		i = fx + j;
		if (i >= 0) {
			if (i <= 37) {
				fx = i;
			}
		}
		// レーザ移動.
		if (ly > 0) {
			ly = ly - 1;
			if (ly == 0) {
				pnt = pnt - 10;
				if (pnt < 1) {
					pnt = 1;
				}
			}
		}
		// あたり判定.
		j = lx - ix;
		k = ly - iy;
		if (k >= 0) {
			if (k <= 5) {
				if (j >= 0) {
					if (j < 24) {
						i = inv[k * 32 + j];
						if (i > 0) {
							ly = 0;
							j = j - i;
							for (i = 0; i < 6; i++) {
								inv[k * 32 + j + i] = 0;
							}
							score = score + pnt;
							pnt++;
							if (high < score) {
								high = score;
							}
						}
					}
				}
			}
		}
		// インベーダ移動.
		if (mwt > 0) {
			mwt = mwt - 1;
		} else {
			mwt = mwt0;
			ix = ix + idir;
			if (ix >= 0) {
				if (ix <= 14) continue;
			}
			if (iy + invlin == 12) {
				aDrawStr0(w, 122, 98, 0xff0000, 0x000000, "GAME OVER");
				for (;;) {
					aWait(128);
					i = aInkey(w, 1);
					if (i == 10) break;
					if (i == 27) goto end;
				}
				goto restart;
			}
			idir = idir * -1;
			iy++;
			ix = ix +idir;
		}
	}

end:

	aWait(-1);

}




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