プログラムリスト
Version 1.0.1
Version 1.0.1, 266ステップです.
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:$=" ♦_+#Win!Esc,Die?&°¥*♣ 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#*π: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 | ||||
B | 0 | |||||
C | キー入力 | 0 | -5~4 | |||
D | 0 | |||||
E | 0 | |||||
F | 0 | |||||
G | 0 | |||||
H | プレイヤーの強さ | 0 | 15~ | |||
I | 0 | |||||
J | 地形/敵(の強さ) | 0 "♦" | 0~3 | 16~18, 20 | ||
K | 20(被破壊変数) | |||||
L | 不使用 | |||||
M | 不使用 | |||||
N | 0 | |||||
O | 不使用 | |||||
P | 乱数(0~3.1415...) | |||||
Q | 24(被破壊変数) | |||||
R | 24(被破壊変数) | |||||
S | 24(被破壊変数) | |||||
T | P+5 とフィールド移動フラグ | 2 | 8~8.1416 の間 | 5~8.1416 の間 | ||
U | 状況とメッセージ | 0 | 0, 1 | 2 | 2, 6, 10, 14, 24 | |
V | X座標 | 0 | ||||
W | プレイヤーHP | 0 | ||||
X | =ABS C | 0 | 0~5(*1) | 0~5 | ||
Y | 敵のHP | 0 | ||||
Z | 0 |
- 1行の第5ステートメントで、現在地がクリスタルではなく、敵に遭遇していない場合に0になる
行とステートメント | 動作 | |
1 | 1 | X 座標移動 |
---|---|---|
2~4 | 地形または敵の設定 | |
5 | プレイヤー HP 回復 / 敵 HP 設定 | |
2 | 1~2 | プレイヤー強さと $ の設定 |
3 | ダメージ計算 | |
3 | 1 | Win! Esc, Die? メッセージ設定 |
2 | ボス遭遇判定 | |
3 | 敵 HP が0以下なら経験値の加算 | |
4 | Fin. メッセージ判定 | |
4 | 1~2 | メイン画面表示 |
3 | メッセージ表示 | |
4 | Win! Esc, ではフィールド移動に復帰、Die? で X 座標を0に | |
5 | 1~3 | キー入力を数値変数に控える |
4 | X 座標移動準備、逃走成功判定準備 | |
5 | 敵遭遇、戦闘行動 | |
6 | 乱数設定 | |
7 | Die? Fin. でなければ1行または2行へ |
より詳しい解説は続く詳細解説をご覧ください.併せて改造情報、開発中の非対称戦バージョンも提供しています.ゲームをクリアするまではご覧にならない方が良いでしょう.