-
永谷 弘宣
『Flying Slash』は、斜線が画面端で反射しながら移動するスクリーンセーバーです。
【操作】
キー入力 : スクリーンセーバーを終了する
【更新履歴】
2018/6/8 初版公開
2018/6/10 タイトルを「反射」から「Flying Slash」に変更(Thanks to 斎藤様@IchigoJam-FAN)、斜線移動時のちらつきを低減
【ソースコード解説】
《変数》
N : 斜線の個数
W : Wait, ウェイト値
X : 斜線の移動前の X 座標
Y : 斜線の移動前の Y 座標
P : 斜線の移動後の X 座標
W : 斜線の移動後の Y 座標
U : 斜線の移動方向の X 成分(1 : 右、-1 : 左)
V : 斜線の移動方向の Y 成分(1 : 上、-1 : 下)
C : Character, 斜線を表すキャラクタ
S : SCR, 画面の座標から取得したキャラクタ
I : Iterator, ループ変数
《配列》
斜線の描画情報
16bit のうち 14 bit を 1 bit / 1bit / 6 bit / 6 bit の 4 つに区切り、
変数 U, V, X, Y を保持しています。
《コード》
5 : タイトル
10 : 初期化
20 〜 30 : 変数の値の設定
40 ~ 60 : 配列の値の設定
80 〜 110 : 配列の値から変数を抽出
120 : 斜線の X 軸方向の反射処理
130 : 斜線の Y 軸方向の反射処理
140 : 移動後の X 座標の算出
150 : 移動後の Y 座標の算出
160 : 斜線のキャラクタの算出
170 : 斜線が他の斜線と交差する場合、斜線のキャラクタを "x" に変更
180 : 移動前の位置の斜線を消去
190 : 移動後の位置の斜線の描画
200 : 移動後の値を配列に格納
220 : キー入力受付
230 : ウェイト
【備考】
20 行目の N の値を変更することで、画面上で移動する斜線の個数を変更できます。
(N の取れる範囲は 1 〜 101 ですが、多過ぎすると描画が遅くなります)