-
t/i
ごく普通の縦スクロールドライブゲームです。IchigoCake BASIC でもスプライトを全部使って表示すればこういうのができるんだという参考になればと思い作りました。PanCake C のバージョン 1.2 だとスプライトが正しい順番で表示されないので、1.2.1 にアップデートして下さい。
(2021/8/23)
車の左右移動の絵のパターンを追加しました。道路の車線の絵も変更しました。
【遊び方】
スタートすると画面が自動的にスクロールします。カーソルキーの左右で車を動かして下さい。道路からはみ出すか、木にぶつかるとゲームオーバーです。Enterキーで再スタートです。ゲームが進むにつれてレベルが上がりスピードアップします。スピードが上がると、車の左右の移動量も変わるので操作に気をつけて下さい。
【プログラムについて】
画面はスプライト32個使って表示していて、車とスコア用の数字以外の全てのスプライトをドット単位で下へ移動させて行くことで画面がスクロールしているように見せています。スピードは3段階ですが、スプライトの縦の移動量を増やすことで速くしています。縦の移動が速くなると車の左右移動もそれに対応できるように横の移動量を増やしています。なので、速くなるにつれて動きがだんだん粗くなってしまいますが、BASICプログラムでは(というか私の能力では)これが限界かなと思います。車の衝突判定は遊びやすいように少し甘めにしてあります。
<プログラム内容>
20-120行目 初期設定
200-270行目 初期画面
300行目 ここからメインループ
310-360行目 車のヒットチェック、移動
400-620行目 道のスクロール
700-810行目 家、芝、木のスクロール
910行目 メインループここまで
1000-1040行目 ゲームオーバー
1100-1120行目 BGMのテンポ変更
1200-1350行目 スプライトパターン設定
<スプライト番号>
00-15 道 16個 (2列*8行)
16-19 家 04個
20-25 芝 06個
26 木A 01個
27 木B 01個
28 車(爆発) 01個
29-31 スコア 03個
<スプライトパターン>
#F0 道・赤ライン左曲がり左側
#F1 道・赤ライン左曲がり右側
#F2 道・白ライン左曲がり左側
#F3 道・白ライン左曲がり右側
#F4 道・赤ライン直線左側
#F5 道・赤ライン直線右側
#F6 道・白ライン直線左側
#F7 道・白ライン直線右側
#F8 道・赤ライン右曲がり左側
#F9 道・赤ライン右曲がり右側
#FA 道・白ライン右曲がり左側
#FB 道・白ライン右曲がり右側
#FC 車・左曲がり
#FD 車・右曲がり
<変数>
A 汎用的代入用
B 汎用的代入用
C 汎用的代入用
D 汎用的代入用
E 汎用的代入用
F 汎用的代入用
G 車のパターン
I FORループ用
J FORループ用
L レベル
M コース変化用カウント
N 次のレベルアップスコア
P 車の横移動量
Q スクロール1回の縦移動量
S スコア
T 木の有無(0:なし、1:あり)
U 道の赤白カウント(0:赤、1:白)
V 次に出る道のx座標の増減(-1,0,+1)
W 1つ前の道のx座標の増減(-1,0,+1)
X 車のx座標
<配列>
[00]-[07] 道の処理順 08個 (#800-#80F)
[08]-[15] 処理順コピー用 08個 (#810-#81F)
[16]-[31] 道の座標 16個 (8個*2)
[32]-[39] 家の座標 08個 (4個*2)
[40]-[51] 芝の座標 12個 (6個*2)
[52]-[53] 木Aの座標 02個 (1個*2)
[54]-[55] 木Bの座標 02個 (1個*2)
[56]-[65] 家・芝のxプラス分 10個 (道のx座標を基準にしたプラス値)
[70]-[75] レベルデータ 06個 (縦移動量・ドット)
[80]-[85] レベルデータ 06個 (横移動量・ドット)
[90]-[95] レベルデータ 06個 (障害物有無・0:なし、1:あり)
[100]-[105] レベルデータ 06個 (BGM速度・テンポ)
[110]-[114] レベルデータ 05個 (レベルアップスコア・点)