2012年12月17日

ファイルの転送プログラム

プチコンでたくさんのリソースを使ったゲームを他のプチコンにファイル送信をする場合に
送信側から受信側に情報を転送すればその情報を元に受信する事が可能になります。
送信側と受信側の双方で設定をする必要も無く受信側では共通のプログラムで済みます。
できるだけ設定などの手間を省けないと思い作成したのがこのプログラムです。

送信側ではOT7FSENDを使用します。
OT7FSENDにはファイル送信プログラムを実装しており、転送するファイルをDATA命令で
定義した個別のファイルをAPPEND命令で結合して実行することで送信プログラムとして
使用します。転送ファイルデーターは「DATA "グループ名","プログラム名"」を羅列します。
KYMFC2と同じ形式です。
【例】
DATA "OT7STHR","OT7STHR"
DATA "OT7STHR","CHR:OT7STHR"
DATA "OT7FSEND","OT7FSEND"
DATA "","" 'データノサイゴ
【追記】
KYMFC2とはラベル名が重複しないようになっているのでOT7FSENDの最終行の
「@TAPE」を削除してから転送ファイルデータが登録されているKYMFC2を
APPENDするとその情報が使えます。

OT7FRECVではファイル受信プログラムを実装しており、送信側のプチコンから
転送ファイル情報を受け取りその情報を元にファイルの受信を行います。

途中でうっかり中止ボタンをタッチしてしまった場合、その場でやり直しができないと
後からそのファイルだけ転送する必要がでますね。その場でやり直しできればその手間が
省けます。このプログラムではうっかり中止ボタンをタッチした場合や通信エラーが
発生したときにやり直すかどうかの確認を求めてきます。転送の必要が無ければ
「いいえ」を選択して次のファイルの転送に処理を移し、やり直しをしたい場合は
「はい」を選択してもう一度そのファイルの転送処理に戻ります。

☆送信側
「タイリョウノ ファイルヲ ソウシンシマスカ?」の質問に答えます。
YES(Aボタン):GRPリソースを使用 転送ファイル数が20以上が目安
(転送ファイル情報の量が増える為ファイル情報の転送に時間が掛かる)
NO (Bボタン):MEMリソースを使用 転送ファイル数が20以下が目安
(転送ファイル情報の量が少ない為ファイル情報の転送の時間が短い)
【注意】送信側と受信側でファイル情報のリソースが一致しないと転送できません。

ファイルの選択画面になるので転送するファイルの指定をします。
十字キー上下:カーソルの上下移動
十字キー左右:表示ファイルページの切替
Aボタン:カーソルのあるファイルの転送情報変更
Bボタン:カーソルのあるファイルと同一のグループの転送情報変更
Xボタン:送信処理
ファイルを一つも選択しないでXボタンを押すとプログラムを終了します。
「ファイルソウシンジョウホウトウロク」でFILEINFOをセーブします。
「ファイルソウシンジョウホウソウシン」でFILEINFOを受信側プチコンに送信します。
相手の選択画面で入力待機状態になります。
★受信側
「タイリョウノ ファイルヲ ジュシンシマスカ?」の質問に答えます。
選択項目は送信側を参照。

ファイルの受信待機状態になるので送信側で受信側のDSのユーザーネームを選択し
ファイルを転送します。

以後ファイル情報を元にファイルの転送を行います。
☆送信側
「他の人へファイルを送信します。通信を行ってもよろしいですか?」(はい・いいえ)
「ファイルを送る相手を選択して下さい。」
ファイルの送信中の画面で
・「中止」、「戻る」をタッチした場合は「ヤリナオシシマスカ?」と聞いてくるので
Aボタン:やり直しします
Bボタン:そのファイルはスキップします

・「決定」をタッチすると送信相手聞いてくるので受信側を受信待ち状態にする。

★受信側
「このファイルは、すでに存在します。上書きをしてもよろしいですか?」(はい・いいえ)
(受信するファイルと同一のファイルが存在する場合)
「他の人へファイルを受信します。通信を行ってもよろしいですか?」(決定・中止)
「ファイルの送信を待っています。」
ファイルの受信中の画面で
・中止、戻るをタッチした場合は「ヤリナオシシマスカ?」と聞いてくるので
Aボタン:やり直しします
Bボタン:そのファイルはスキップします

ファイルを正常に転送して確認ボタンをタッチすると次のファイルを転送します。
通信エラーが出た場合は「ヤリナオシシマスカ?」と聞いてきます。
Aボタン:やり直しします
Bボタン:そのファイルはスキップします

☆送信側
全てのファイルを転送すると「スベテ ソウシン シマシタ」と表示され
FILEINFOを削除するかどうかを聞いてきます。通常は「はい」を選択して下さい。
削除しなかった場合は次回転送ファイル情報を書き込む前に上書きしていいか確認されます。
★受信側
全てのファイルを転送すると「スベテ ジュシン シマシタ」と表示され
FILEINFOを削除するかどうかを聞いてきます。通常は「はい」を選択して下さい。
削除しなかった場合は次回転送ファイル情報を転送する前に上書きしていいか確認されます。

OT7FSEND
ot7fsend_qr0.pngot7fsend_qr1.pngot7fsend_qr2.png

OT7FRECV
ot7frecv_qr0.pngot7frecv_qr1.png
posted by otta777 at 00:51| Comment(0) | プチコンmkII | このブログの読者になる | 更新情報をチェックする

2012年11月22日

STOP!はるみちゃんforプチコン

これは1983年の3月号に載った森巧尚さんの"STOP!はるみちゃん"のプチコンmkII版です。
画面サイズが違う為アレンジをしています。
キャラクターデータなどはPC-6001版も参考にしています。

《遊び方》
十字キーではるみちゃんを操作できます。
左下のはるみちゃんのお家から右上のミルク屋さんに移動してミルクを買ってお家まで
戻って下さい。ミルクを買うとミルク屋の横の所にMが表示されます。(手抜きっ!)
はるみちゃんは’か弱い’ので一度に1本しかミルクを持ち運べません(ぉぃぉぃ)
買い物の途中に犬小屋があります。屋根の色が緑→黄→赤と変化をして犬が飛び出すと
吠えます。買い物の途中で犬に吠えられたりつむじ風にスカートをめくられてしまうとミスになります。
3回ミスをするとゲームオーバーです。また16時までに買い物が終わらないと時間切れで
ゲームオーバーです。ミルクを必要な本数買ってお家に戻るとラウンドクリアで残り時間に
よってスコアにボーナスが加算されます。ラウンドが進むとつむじ風の数が増え、
5ラウンドごとにラウンドクリアの為のミルクの本数が増えます。

はるみちゃんは犬が恐いのでは無いので犬が出ている横を通るのは平気なんですが飛び出してくるのが苦手なのです。
PC-8001版ではこおろぎになっていましたがキャラのサイズ的な問題でつむじ風に変更しました。

STOPはるみちゃんスクリーンショット2.jpg
【タイトル画面】
STOPはるみちゃんスクリーンショット.jpg
【ゲーム画面】

QRコード
PRG:OT7STHR
ot7sthr_prg_qr0.pngot7sthr_prg_qr1.pngot7sthr_prg_qr2.pngot7sthr_prg_qr3.pngot7sthr_prg_qr4.png

CHR:OT7STHR
ot7sthr_chr_qr0.pngot7sthr_chr_qr1.pngot7sthr_chr_qr2.pngot7sthr_chr_qr3.png
posted by otta777 at 12:21| Comment(0) | プチコンmkII | このブログの読者になる | 更新情報をチェックする

2012年07月05日

BGM切替のテクニック

ゲーム中にBGMを切り替える場合に前の曲がフェードアウトしてから別の曲に切り替わるとクールですよね。自分の場合はこんなサブルーチンを組み込んでBGMをフェードアウト後に切り替えています。

@INIT
BGMTRK=0
@MAIN
(メイン処理)
IF LEFTTIME>200 GOTO @MAIN
IF HRYF==0 THEN BGMF=1:HRYF=1:BGMNO=13:FADETIME=2
GOSUB @BGMCHG
GOTO @MAIN

@BGMCHG
ON BGMF GOTO @BGMCHG0,@BGMCHG1,BGMCHG2
@BGMCHG0
RETURN

@BGMCHG1
BGMSTOP BGMTRK,FADETIME:BGMF=2
RETURN

@BGMCHG2
IF BGMCHK(BGMTRK)==TURE THEN RETURN
BGMPLAY BGMTRK,BGMNO:BGMF=0
RETURN

通常時はBGMFは0で@BGMCHGをコールしてもすぐRETURNするのでBGM切替は起きません。何らかの条件(サンプルの場合は残り時間が200を切った場合)にBGMFを1にしてBGM切替をします。HRYFはBGMが切り替え条件が整ったフラグとして使用しています。FADETIMEはフェード時間でBGMNOは切り替えるBGMの番号です。
このプログラムではトラック0に対して機能します。他のトラックにBGMを割り当てる場合は@INITの"BGMTRK=0"の設定を変更して下さい。
タグ:テクニック
posted by otta777 at 09:35| Comment(0) | プチコンmkII | このブログの読者になる | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。