- タイトル
パンツショップ
(電子工作マガジン2018年WINTER号 特別別冊附録マイコンBASICMagazine掲載) - 開発環境
IchigojamBASIC1.2.1 - 内容
あなたはパンツのレンタル屋さんです。
パンツを借りに次々にお客さんがやってきます。
あなたの仕事はパンツを仕入れてお客さんに貸すことです。
あなたは一流のパンツ職人になることができるか? - 遊び方
画面の上段には来店したお客さんが表示され、その下側には希望のレンタル時間が表示されます。
下段にはパンツの在庫が表示され、その上側にパンツの寿命が表示されます。貸出中のパンツは「RENT」と表示されます。
所持金100moneyからスタート。パンツの仕入れは-10money、お客さんが最後までパンツをはいていれば+10money、借りることができなかったり途中で脱げてしまった場合は-10moneyです。所持金が無くなったらゲームオーバーです。
スコアは、お客さんがパンツをはいている時間1秒につき1点加算されます。(4人ともパンツをはいていれば4点/秒が加算されます)
古くなったパンツはレンタル中に脱げてしまいますので、早めに捨てて新しいパンツに入れ替えておいてください。ただしパンツの仕入れにはお金がかかりますので注意。
パンツの寿命が早く縮まってしまうお客さんと、そうではないお客さんがいますので、寿命が長めのパンツと古くなったパンツを効率的に貸し出すのがコツです。 - 操作方法
←,→ パンツ選択 ↑ パンツ仕入 ↓ パンツ破棄 1~4 パンツ貸し出し
"←"と"→"のキーでパンツを選び、数字"1"~"4"のキーで該当するお客さんにパンツを貸し出します。
パンツの無い位置で"↑"キーを押すとパンツを仕入れられます。
"↓"のキーを押すとその場所にあるパンツを捨てられます。
- プログラムのしくみ
プログラムは2つのプログラムから成り、プログラム1は主にプレーヤーの操作、プログラム2は主にパンツの表示を行っています。
変数表(配列変数) [0]~[3] 体格
0=空,1~4=体格,10位=着用パンツ柄,100位=パンツ返却位置[4]~[7] 希望レンタル時間 [8]~[11] パンツが脱げる時間 [12]~[15] パンツ柄 [16]~[19] パンツ寿命
プログラム1 20行 キャラクタ定義(プログラム2) 30行 変数初期化 40~60行 パンツ発生 80行 客の表示時間チェック 90行 パンツの寿命チェック 110行 パンツ表示(プログラム2) 120行 所持金チェック 150~200行 キー処理 220~240行 貸出用変数セット
プログラム2 20~40行 キャラクタ定義 80~110行 客表示 120~130行 パンツ着用 140行 客ゲージ表示 150~160行 在庫表示 170行 パンツゲージ表示 190行 "↑↑↑"表示 - プログラムの具体的な入力方法
プログラムリストでは、プログラム1を保存番号0、プログラム2を保存番号1としていますが、別の番号として保存した場合はプログラム中のLRUN命令を保存した番号に変更してください。 - プログラムの改造
プログラム1の50行のRND文は、それぞれ客の発生率、体格、レンタル時間を決めています。
行頭の「if!rnd(20+...」の20の値を小さくすると客の発生率が上がり、大きくすると発生率が下がります。
IchigoJamPCの場合は、P1-50行の20を10、プログラム1の140行の3を30程度を目安に変更し、プログラム2の120行のs=s+a/19を削除するとちょうど良くなります。 - 参考ゲーム
ハンバーガーショップ(バンダイ LCDゲーム)
週間電子ゲームレビュー
電子ゲームの世界
パンツショップ(プログラム1) |
---|
10 'PTKT-1 20 LRUN1 30 CLV:CLT:P=1:C=100 40 J=0:FORI=0TO3 50 IF![I]J=J+1:IF!RND(20+(5-S/40)*(S<200))THEN[I]=RND(3)+(S>200):[4+I]=TICK()+(RND(4)+2)*120:J=0 60 NEXT:IF4=JCLT 70 FORI=0TO3 80 IF[4+I]&&([4+I] |
パンツショップ(プログラム2) |
---|
10 'PTKT-2 20 CLP:POKE#EA*8,1,2,3,4:FORI=0TO3:COPY(#E7+I)*8,PEEK(#EA*8+I)*8,8:NEXT 30 POKE#700,64,64,96,96,80,80,76,67,0,0,0,16,56,56,84,147,4,4,12,12,20,20,100,132,64,64,64,64,64,64,64,64 40 POKE#720,4,4,4,4,4,4,4,4,16,16,16,16,16,16,16,16,0,0,0,0,0,0,0,255:LRUN0,30 50 CLS:?"MONEY:";C,"SCORE:";S 60 FORL=0TO3:M=L*8+4:LCM,2:?L+1 70 IF![L]GOTO150 80 N=[L]%10:POKE#9A0+M,#E1:POKE#9E0+M,#E5 90 FORO=1TON:POKE#9A0+M-O,#E6:POKE#9A0+M+O,#E6:NEXT 100 FORO=0TO4:Q=#960+O*32+M:POKEQ-N,#E3:POKEQ+N,#E4:NEXT 110 POKE#9A0+M-N,#E0:POKE#9A0+M+N,#E2 120 Q=[L]/10%10+#E6:IF#E6 |
ブラウザでD/LしてIchigoJamに転送する場合は、通信ソフトでバイナリ送信をしてください。
(例:TeraTermの場合は、メニューの[ファイル]-[ファイル送信]で当該ファイルを送信します)
コメント