2012年4月20日金曜日

3-Dゴルフシミュレーション

一応これもシミュレーションゲーム?


1ホール毎に、テープからデータサイズとホールデータを読み込む方式。
とにかく遅い。

ちょっと面倒だが、こいつもRAM PACに記録して快適に。
ホールデータも18ホール全部で32KBを超えるので、アルフォスと同じようにスロット5と6に分けて保存。 BASICと1~9ホールまではスロット5、10~18ホールまでをスロット6に保存する。 

BASICは、以下のように修正して、スロット5に保存。
cload "GS"
19 DIM NN(18)
2016 IF H<10 THEN FI$="5:"+FI$ ELSE FI$="6:"+FI$
2017 NN(0)=464:NN(1)=485:NN(2)=418:NN(3)=452:NN(4)=461:NN(5)=512
2018 NN(6)=533:NN(7)=412:NN(8)=441:NN(9)=505:NN(10)=311:NN(11)=413
2019 NN(12)=466:NN(13)=418:NN(14)=422:NN(15)=449:NN(16)=395:NN(17)=451
2020 N=NN(H-1):BLOAD FI$
save "5:GS"
ホールデータの保存は、根気が必要。
INPUT#-1でサイズデータを読み込んで、次にホールデータを読み込む。
ホールデータは一旦9000hにロードして、RAMPACに保存。 これを18ホール分繰り返す
NEW
CLEAR ,&H8FFF
INPUT #-1,N:PRINT N
BLOAD #-1,"H1",&H9000
BSAVE "5:H1",&H9000,&H740
RAM PACには9000hとして記録されているので、バイナリエディタで0000hに書き換えておく。
それぞれ、18ホール分の情報は以下の通り
INPUT #-1, Nファイル名保存先スロットバイナリサイズRAMPACアドレス
464H15&H07403500h
485H25&H07943D00h
418H35&H06884500h
452H45&H07104C00h
461H55&H07345400h
512H65&H08005C00h
533H75&H08546500h
412H85&H06706E00h
441H95&H06E47500h
505H106&H07E40400h
311H116&H04DC0C00h
413H126&H06741100h
466H136&H07481800h
418H146&H06882000h
422H156&H06982700h
449H166&H07042E00h
395H176&H062C3600h
451H186&H070C3D00h
INPUT#-1で読み込むNは、その後に読み込むデータサイズの1/4の様子。
RAM PACに保存して、読み込みはかなり快適になった。

RUN "GS"で起動して、キー操作は以下の通り。
左右キー:クラブ選択
Enter
上下左右キー:打つ方向選択
Enter
スペース:打つ強さ
方向を決定したら、紫のバーが上下に動く(約2秒で1往復)ので、スペースキーで強さを確定する

1ホール目の画面


プログラムはBASIC。
ホールデータは裏RAMにロードするが、描画はBASICなのでかなり遅い。

エミュレータは倍速モードがあるので、倍速で動かすとそこそこ快適になる。が、紫バーの伸び縮みも速くなってしまう。
Wait入れる
19 DIM NN(18):COLOR 7,0:CLS:INPUT"Wait? (0-255)",WT:IF (WT<0) OR (WT>255) THEN WT=0
1255 FOR I=0 TO WT*55:NEXT:K$=INKEY$:IF K$=" " THEN RETURN
16倍速の場合、16と入力すると、大体2秒で1往復になる。

動画。エミュレータはx1の速度。それでもRAM PACから読み込んでるので、起動は速い。


0 件のコメント:

コメントを投稿