Skyrocket(firework)

Skyrocket(firework)

Introduction

日本の夏の夜の風物詩、打ち上げ花火をPBで観賞するプログラムです。
増設RAM(OR-1/E)なしのPB-100シリーズで楽しめます。

 
スクリーンショット
RUN DEG STOP
. . .
<実行画面1>1回につき、1〜3つ並んだ花火が打ち上げられます。
RUN DEG STOP
÷ *
<実行画面2>キャラクタの組み合わせが、いかにも花火らしく煌めくよ!
RUN DEG STOP
P B - 1 0 0
<実行画面3>仕掛け花火もバッチリ?(笑)

 

Game Story and System

ご挨拶
幼少期から花火に夢中だったボク(ひい)が、PBユーザーのためだけに贈る、一風変わった?花火観賞用プログラムです。
ビールやおつまみなどを片手に、12桁の画面に拡がる遥かな宇宙に思いを馳せながら、幻想的なひとときをお過ごしください。

 
PB花火大会実行委員会
会長 ひい(No.0011)
PB花火大会概要
[ 開 催 日 時 ] いつでも
[ 観 覧 会 場 ] どこでも
[ 打 上 玉 数 ] ∞発(飽きるまで)
[ 打 上 場 所 ] PB-100シリーズ/PB-Simulator
[ 主   催 ] PB花火大会実行委員会
[ 後援・協賛 ] 募集中

 

Characters

花火の種類
キャラクタパターン 説明
打ち上げ花火もどき(パターン1)
÷ 打ち上げ花火もどき(パターン2)
, 打ち上げ花火もどき(パターン3)
* 打ち上げ花火もどき(パターン4)
P B - 1 0 0 仕掛け花火もどき
 

Operation Guide

基本操作説明
A Z
アルファベットキー
0 9
置数キー
+ - * /
計算命令キー

上記他、プログラムの中断、割り込みに影響を及ぼさないキーを押すと、仕掛け花火が作動します。
※仕掛け花火のパターンは1種類のみですので、どのキーを押しても同じ挙動になります。

 

Program Execution

プログラムの入力
Skyrocket(firework) for PB-100のプログラムを入力する前に、下記の操作を実行してください。
実行後、プログラムリストをよく見て、間違いのないように入力してください。

 
MODE 1
プログラム入力モード(WRT)に切り替え
Shift 0
プログラムエリア[P0]に切り替え
CLEAR A EXE
メモリ内に書き込まれている全てのプログラムを消去
DEFM 0 EXE
メモリ(変数)を設定
 
プログラムの実行
Skyrocket(firework) for PB-100のプログラムの入力後、下記の操作を実行するとプログラムスタートです。
 
MODE 0
プログラム実行モード(RUN)に切り替え
Shift 0
指定されたプログラムエリア[P0]のプログラムを実行
 

Technical Documentation

Program List for PB-100
Skyrocket(firework)のプログラムリスト
※上記プログラムリストは、マウスの右クリックで“名前を付けて画像を保存”すると、原寸大(570×353pixel)で見ることが出来ます。
Program List for PB-SIM

[P0]
10 VAC:$=".¥DT¥CR*¥CI .¥DT*¥CR¥DV .¥DT¥DG;, .¥DT¥TR¥DI* PB-100"
20 U=INT (RAN#*3):IF U=3;U=2
30 GOSUB U*10+110:X=INT (RAN#*W)
40 Y=INT (RAN#*4):Z=INT (RAN#*10):GOSUB #1
50 FOR I=0 TO 6:IF I=6 THEN 100
60 GOSUB #2:GOSUB U*10+140
70 IF KEY<>"";PRINT :GOSUB #3:GOTO 100
80 FOR K=0 TO Z:NEXT K
90 NEXT I
100 GOTO 20
110 W=6:RETURN
120 W=4:RETURN
130 W=2:RETURN
140 PRINT CSR 3+X;A$;:RETURN
150 PRINT CSR 3+X;A$;B$;:RETURN
160 PRINT CSR 3+X;A$;B$;C$;:RETURN

[P1]
10 FOR J=0 TO U:D(J)=INT (RAN#*4):NEXT J
20 IF U>=1;IF Y<=1;E=D:F=D
30 RETURN

[P2]
10 FOR J=0 TO U:A$(J)=MID(I+(D(J)*6+1),1)+" ":NEXT J:RETURN

[P3]
10 FOR J=3 TO 8
20 FOR K=0 TO 5:GOSUB 90:PRINT CSR J;A$;:GOSUB 100:NEXT K
30 NEXT J
40 FOR K=0 TO 4:GOSUB 90
50 PRINT CSR 3;A$;A$;A$;A$;A$;A$;:GOSUB 100
60 NEXT K
70 FOR J=0 TO 9:PRINT CSR 3;MID(25,6);:NEXT J
80 PRINT :RETURN
90 A$=MID(K+(D*6+1),1):RETURN
100 Z=Z+2^2:RETURN
110 "Skyrocket(fw)"
120 " 2013/08/08"
130 " AUTHOR:HIE"

 
チェックポイント
PB-Simulatorでの長時間のエイジング中に、ERR4のエラーメッセージにより、プログラムが強制終了する不具合が発生しています(実機では問題ありません)。
本プログラムには、このERR4対策が施されていますので、Bernie様のPocket BASIC Simulator.でプレイする際は、以下の部分は変更しないようにお願いします。
[P0]
行番号 説明
20行 :IF U=3;U=2
変数表
変数 説明
花火データ定義用
A$,B$,C$ 花火データ表示用…A$(0)〜A$(2)
D,E,F 花火データ取得用…D(0)〜D(2)
I,J,K ループ用(汎用)
同時打ち上げ数
乱数用
花火表示座標
打ち上げパターン
表示間隔
プログラムマップ
[P0] メインルーチン(256step)
行番号 説明
10 初期設定
20〜40 前処理(同時打上玉数、打上位置、打上種類、表示間隔の設定)
50〜100 打ち上げ処理(画面表示、キー入力等)
110〜130 データテーブル
140〜160 画面表示用テーブル
[P1] サブルーチン#1(48step)
行番号 説明
10〜30 花火データ取得用前処理
[P2] サブルーチン#2(41step)
行番号 説明
10 花火データ表示用前処理
[P3] サブルーチン#3(154step)
行番号 説明
10〜100 仕掛け花火処理(データ取得、画面表示、表示ウェイト処理等)
110〜130 注釈行※この行以降は無視
 
特殊キャラクタ一覧
プログラムリスト内で使用している特殊キャラクタのエスケープシーケンスは下記の通りです。
Bernie様のPocket BASIC Simulator.でプレイする際は、お手数ですが手動で変換してください。
キャラクタパターン エスケープシーケンス
¥DT
× ¥CR
¥CI
÷ ¥DV
° ¥DG
¥TR
¥DI

COMMENT







   

PAGE TOP