エラーが発生しています。

ゲームにもならない何か

by ふんすけ@来年から頑張る, at 2020年2月14日 01:29:12

powered by hsp3dish.js / OpenHSP

コメント
説明

クリックして赤い四角が動くのを確認してください。
赤い四角が長い間表示され、画面外に消えたら運がよろしい。

ランタイムバージョン hsp3.5b5

// ==== hspdish 覚書 ====
// gcopy は screen 0へのコピーにしか適用されない(サポートしてない)
//     http://hsp.tv/play/pforum.php?mode=pastwch&num=80731
// gmode 2(透明色付きコピー)はサポートされてない->hspeoomだけ?
//     png形式でαチャンネルを使え(hsp3dishマニュアルより)
// onclick効かない?
//     stickやgetkeyを使いましょう
#include "hsp3dish.as"

	// 初期化
	screen 0, 640, 480
	//
	randomize
	//
	dim arr, 40, 30
	for y, 0, length2(arr)
		for x, 0, length(arr)
			tmp = rnd(4)
			if x > 0 {
				if arr(x-1,y) == 0 and tmp == 1 {
					_continue
				}
			}
			if y > 0 {
				if arr(x,y-1) == 3 and tmp == 2 {
					_continue
				}
			}
			arr(x,y) = tmp
		next
	next
	cx = -1 : cy = -1
	// バッファ
;	buffer 1
;	picload "arrow.bmp"
	celload "arrow.png", 1, 0


*main

	//------------------------------
	// 入力系
	//------------------------------
	stick key
	if key & 256 {	; 左クリック時
		cx = mousex / 16
		cy = mousey / 16
	}

	//------------------------------
	// 描画系
	//------------------------------
	// 画面の書き換えを止める
	redraw 0
	// 赤描画
	gosub *drawCursor
	// 矢印描画
	gosub *draw
	// 画面の書き換えを反映
	redraw 1

	// 33ミリ秒待つ
	await 33

	// *mainまで戻る
	goto *main

//==============================
// 矢印描画
//==============================
*draw
	gmode 2,16,16
	for y, 0, length2(arr)
		for x, 0, length(arr)
			pos x*16,y*16
;			gcopy 1,16*(arr(x,y)\10),16*(arr(x,y)/10),16,16
			gcopy 1,16*(arr(x,y)\10),0,16,16
		next
	next
	return
//==============================
// 赤描画
//==============================
*drawCursor
	if cx >= 0 and cy >= 0 and cx < length(arr) and cy < length2(arr) {
		color 255
		boxf cx*16, cy*16, cx*16+15, cy*16+15
		// 次の表示の準備
		if arr(cx,cy) == 0 {
			cx ++
		} else : if arr(cx,cy) == 1 {
			cx --
		} else : if arr(cx,cy) == 2 {
			cy --
		} else : if arr(cx,cy) == 3 {
			cy ++
		}
	}
	return

作成者
icon

ふんすけ@来年から頑張る

ここはユーザの紹介文

詳しく...


関連プログラム