CASIO pocket computer
PB-100の宇宙

5 LINE RPG
ゴーストオブイツシマ
by PBロッキー

公開日 2023/04/18

プログラムリスト

Version 1.0.1

Version 1.0.1, 266ステップです.

V=V+B(X):U=ABS SGN V:T(T*U/8)=2:J=3*FRAC EXP V+U↑4:W(U)=INT H(U)*9
H=A+15:$=" ♦_+#Win!Esc,Die?&°¥*♣ Fin.":R(T)=R(T)-INT (P*G(9-T)
IF R(T)≦0;U=34-INT T*4:J(4-SQR (T+SIN V))=20:IF Y≦0;A=A+.5:A(J)=24
PRINT :PRINT MID(J+2,1);V(J/5);W;:IF 2<U;PRINT MID(U,4);:T(U/6)=0
$=KEY:$="0"+$:C=VAL($)-5:X=ABS C:T=5+P:P=RAN#*π:IF U≦2 THEN 1+U/2

Version 1.0.0からの変更点

PB-100 初期版(VAC に関するバグが有り、SGN に関するバグの無いもの)で X:-1, 0 以外の地形が全て荒地になる問題を解決しています.

問題の報告、解決法と原因の調査は門真なむ氏が行ってくださいました

後日、ひぽぽ氏が追試を行ってくださいました

シミュレータ用リスト

Windows 用アプリ Pocket BASIC Simulator 0.12で動作確認しています.Android 用アプリ PokecomGO - CASIO PB simulator で動作確認しています.

Version 1.0.1(5/2公開)

Version 1.0.1, 266ステップです.

以下のプログラムリストをコピーしてファイルを作成する、または次のリンクからダウンロードします. ghost-of-itsushima_v101.bas をダウンロード(383 bytes)

[P0]
1 V=V+B(X):U=ABS SGN V:T(T*U/8)=2:J=3*FRAC EXP V+U^4:W(U)=INT H(U)*9
2 H=A+15:$=" \DI_+#Win!Esc,Die?&\DG\\*\CL Fin.":R(T)=R(T)-INT (P*G(9-T)
3 IF R(T)<=0;U=34-INT T*4:J(4-SQR (T+SIN V))=20:IF Y<=0;A=A+.5:A(J)=24
4 PRINT :PRINT MID(J+2,1);V(J/5);W;:IF 2<U;PRINT MID(U,4);:T(U/6)=0
5 $=KEY:$="0"+$:C=VAL($)-5:X=ABS C:T=5+P:P=RAN#*PI:IF U<=2 THEN 1+U/2
[P1]
1 VAC :GOTO #0

Version 1.0.0

敵キャラクタが現行と異なるリストを公開していました.動作に支障はありませんが、再ダウンロードをお願いいたします.(2023/04/19, 背景を説明しているツイート)

ghost-of-itsushima.bas をダウンロード(381 bytes)

[P0]
1 V=V+B(X):U=ABS SGN V:T(T*U/8)=2:J=U^4+3*FRAC EXP V:W(U)=INT H(U)*9
2 H=A+15:$=" \DI_+#Win!Esc,Die?&\DG\\*\CL Fin.":R(T)=R(T)-INT (P*G(9-T)
3 IF R(T)<=0;U=34-INT T*4:J(4-SQR (T+SIN V))=20:IF Y<=0;A=A+.5:A(J)=24
4 PRINT :PRINT MID(J+2,1);V(J/5);W;:IF 2<U;PRINT MID(U,4);:T(U/6)=0
5 $=KEY:$="0"+$:C=VAL($)-5:X=ABS C:T=5+P:P=RAN#*PI:IF U<=2 THEN 1+U/2
[P1]
1 VAC :GOTO #0

シミュレータでの動作状況

Pocket BASIC Simulator

バージョン0.12では、X座標が -227~63 を超えると ERR3 が発生したり、アプリケーションが落ちます.その際は コマンド > command から V(X 座標) の値を変更します. 一応、クリアが出来る事は確認済です.(この件に関するツイート)

PokecomGO - CASIO PB simulator

設定から実行速度を Slow にします.数字以外のキーを押すとエラーになる問題は4月22日リリースの最新版(1.06.07)で解決しています.Apps Store から最新版をダウンロードしましょう.

解析のための情報

変数表
変数概要フィールド移動バトル
初回表示まで初回のあと会敵後最初の表示まで会敵後最初の表示のあと
Aプレイヤー経験値0
B0
Cキー入力0-5~4
D0
E0
F0
G0
Hプレイヤーの強さ015~
I0
J地形/敵(の強さ)0 "♦"0~316~18, 20
K20(被破壊変数)
L不使用
M不使用
N0
O不使用
P乱数(0~3.1415...)
Q24(被破壊変数)
R24(被破壊変数)
S24(被破壊変数)
TP+5 とフィールド移動フラグ28~8.1416 の間5~8.1416 の間
U状況とメッセージ00, 122, 6, 10, 14, 24
VX座標0
WプレイヤーHP0
X=ABS C00~5(*1)0~5
Y敵のHP0
Z0
  1. 1行の第5ステートメントで、現在地がクリスタルではなく、敵に遭遇していない場合に0になる
行番号とステートメント
行とステートメント動作
11X 座標移動
2~4地形または敵の設定
5プレイヤー HP 回復 / 敵 HP 設定
21~2プレイヤー強さと $ の設定
3ダメージ計算
31Win! Esc, Die? メッセージ設定
2ボス遭遇判定
3敵 HP が0以下なら経験値の加算
4Fin. メッセージ判定
41~2メイン画面表示
3メッセージ表示
4Win! Esc, ではフィールド移動に復帰、Die? で X 座標を0に
51~3キー入力を数値変数に控える
4X 座標移動準備、逃走成功判定準備
5敵遭遇、戦闘行動
6乱数設定
7Die? Fin. でなければ1行または2行へ

より詳しい解説は続く詳細解説をご覧ください.併せて改造情報開発中の非対称戦バージョンも提供しています.ゲームをクリアするまではご覧にならない方が良いでしょう.