プチコンまとめWiki (初代/mkII)

投稿プログラム : 3D CAR RACE Ver2.0

パンくずリスト

2012年4月1日投稿 / 投稿者 : 下手な人 / タグ : 投稿プログラム ゲーム レースゲーム mkII専用 移植

概要

ベーマガ1983年8月号 熊谷 栄二さん投稿JR-100用「3D CAR RACE」の移植です。

前回投稿したものと同じ内容ですが、プチコンmkIIの命令を使って一から作り直しました。 同じ人間が同じ題材のものを作ってもこれだけ別物になるのですね。 せっかくだから投稿してみました。

遊び方

デモ画面にてAボタンを押すことでゲームがスタートします。 ←→キーでマイカーを左右に動かします。 ジャマカーやガードレールに接触するとゲームオーバーです。

プログラムの説明

  • PCG定義データを見直しました。
  • スクロール処理部分を見直し、1つのルーチンでデモ時とゲーム時の両方に対応しました。
  • 各処理をサブルーチン化し可読性の向上を図ったつもりですが、どうでしょう。

スクリーンショット・動画

動作しているところを撮影した写真や動画があれば貼り付けてください。

TS3Q0010.jpg

QR コード

プチコンmkII 向けの QR コードです。

PRG:3DCARRC2
1/32/33/3
qr0.pngqr1.pngqr2.png

プログラムリスト

  1. ’ ┌┐┌┐┌┐┌┐┌┐┌┐┌┐┌┐┌┐┌┐┌┐┌┐
  2. ’┌┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┐
  3. ’│                        │
  4. ’│  3D CAR RACE Ver2.0    │
  5. ’│                        │
  6. ’│            2012.04.01  │
  7. ’│                        │
  8. ’│       by heta_na_hito  │
  9. ’│○                       │
  10. ’└┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┘
  11. ’ └┘└┘└┘└┘└┘└┘└┘└┘└┘└┘└┘└┘
  12. ’−−−−−−−−−−−−−−−−−−−−−−−−−−−
  13. ’ソウサ
  14. ’ А : ケ゛−ム スタ−ト
  15. ’ П : サユウ イト゛ウ
  16. ’−−−−−−−−−−−−−−−−−−−−−−−−−−−
  17. ’アソヒ゛カタ
  18. ’ マイカ− ヲ アヤツッテ シ゛ャマカ− ヤ
  19. ’ カ゛−ト゛レ−ル ヲ ヨケツツ゛ケテ クタ゛サイ
  20. ’−−−−−−−−−−−−−−−−−−−−−−−−−−−
  21.  GOSUB @INIT
  22. @MAIN
  23.  GOSUB @DEMO
  24.  GOSUB @GMAIN
  25.  GOSUB @GOVER
  26.  GOTO @MAIN
  27. ’ INITIALIZE ===============
  28. @INIT
  29.  CLEAR:ACLS
  30.  VISIBLE 1,1,0,0,0,0
  31.  DIM RO$[24],TR$[32],RS$[24],TP$[24]
  32.  GOSUB @SETCHR
  33.  FOR I=0 TO 31
  34.   IF I<23 THEN TR$[I]=”╂├к│─│” ELSE TR$[I]=MID$(”╂├ ╂○╂╂├ ╂╂╂”,(I%2)*6,6)
  35.   IF I<24 THEN RO$[I]=”┤”+”╂”*14+”├”
  36.   IF I<24 THEN RS$[I]=MID$(”\кл┴”,((I%12)==5)*2,2)
  37.   IF I<24 THEN TP$[I]=MID$(”кллклк┤╂кллййй◇╂”,(I==11)*8,8)
  38.  NEXT
  39.  CAR$[0]=”╂╂”:CAR$[1]=”┥┸”:CAR$[2]=”┝┰”
  40.  RETURN
  41. ’ DEMO =====================
  42. @DEMO
  43.  LOCATE 0,0
  44.  PRINT ”SCORE;”;RIGHT$(” ”*5+STR$(SC),5);” HIGH;”;RIGHT$(” ”*5+STR$(HI),5);”  PLAY→[А]”;
  45.  GOSUB @CLRROA
  46.  MD=0:SC=0:MX=16:MY=16
  47. @DEMO0
  48.  VSYNC 1
  49.  GOSUB @SCROLL
  50.  GOSUB @PRTOBJ
  51.  B=BUTTON() AND 16
  52.  IF !B THEN @DEMO0
  53.  GOSUB @CLRROA
  54.  MD=1:MIS=FALSE
  55.  RETURN
  56. ’−−−−−−−−−−−−−−−−−−−−−−−−−−−
  57. @CLRROA
  58.  FOR J=0 TO 23
  59.   RO$[J]=”┤”+”╂”*14+”├”
  60.  NEXT
  61.  RC=0:CT=0:TC=0
  62.  R=RND(13)+1
  63.  RETURN
  64. ’ GAME MAIN ================
  65. @GMAIN
  66.  VSYNC 1
  67.  GOSUB @KEYSCN
  68.  GOSUB @SCROLL
  69.  GOSUB @PRTOBJ
  70.  GOSUB @CHKHIT
  71.  IF MIS THEN RETURN
  72.  LOCATE MX,MY  :PRINT ”┌┐”;
  73.  LOCATE MX,MY+1:PRINT ”└┘”;
  74.  IF CNT%3==0 THEN IF SC<99999 THEN SC=SC+1
  75.  IF HI<SC THEN HI=SC
  76.  LOCATE 0,0
  77.  PRINT ”SCORE;”;RIGHT$(” ”*5+STR$(SC),5);” HIGH;”;RIGHT$(” ”*5+STR$(HI),5);” ”*10;
  78.  GOTO @GMAIN
  79. ’ KEY SCAN =================
  80. @KEYSCN
  81.  B=BUTTON()
  82.  VX=(B==8)−(B==4)
  83.  CK=(CK+1)%5
  84.  IF CK==0 THEN MX=MX+VX
  85.  RETURN
  86. ’ CHECK HIT ================
  87. @CHKHIT
  88.  Z$=MID$(RO$[(23−RC+MY)%24],MX−8,2)+MID$(RO$[(24−RC+MY)%24],MX−8,2)
  89.  IF Z$!=”╂╂╂╂” THEN MIS=TRUE
  90.  RETURN
  91. ’ PRINT OBJECT =============
  92. @PRTOBJ
  93.  FOR I=0 TO 22
  94.   LOCATE  0,I+1
  95.   PRINT TR$[(CT+I)%32];RS$[(TC+I)%24];RO$[((24−RC+I)%24)];TP$[(TC+I)%24];
  96.  NEXT
  97.  RETURN
  98. ’ SCROLL ===================
  99. @SCROLL
  100.  CNT=(CNT+1)%12
  101.  IF CNT%2==0 THEN TC=(TC+(MD*23))%24
  102.  IF CNT%4==0 THEN IF CT>0 THEN CT=CT−1:BEEP 1
  103.  IF (SC%200)==100 THEN CT=32
  104.  IF CNT%(2+(MD*4))>0 THEN RETURN
  105.  IF (RC%3)==0 THEN R=RND(13)+1
  106.  RC=(RC+23−MD*22)%24
  107.  P=(23−RC)%24
  108.  RO$[P]=”┤”+”╂”*14+”├”
  109.  RO$[P]=SUBST$(RO$[P],R,2,CAR$[(RC%3)])
  110.  RETURN
  111. ’ GAME OVER ================
  112. @GOVER
  113.  LOCATE MX  ,MY−1:PRINT ”┐┘”;
  114.  LOCATE MX−1,MY  :PRINT ”┬й┸┝”;
  115.  LOCATE MX−1,MY+1:PRINT ”┝┐┌├”;
  116.  LOCATE MX  ,MY+2:PRINT ”й┝”;
  117.  BEEP 13
  118.  WAIT 60
  119.  LOCATE  0,11:PRINT ” ”*96;
  120.  LOCATE 11,12:PRINT ”GAME OVER”;
  121.  IF SC<HI THEN @GOVER0
  122.  LOCATE  0,14:PRINT ” ”*64;
  123.  LOCATE  7,14:PRINT ”YOUR HIGH SCORE!!”;
  124.  BEEP 42
  125. @GOVER0
  126.  WAIT 120
  127.  RETURN
  128. ’ SET PCG ==================
  129. @SETCHR
  130.  READ A$
  131.  IF A$==”−1” THEN RETURN
  132.  A=VAL(”&H”+A$)
  133.  READ A$
  134.  B$=””
  135.  FOR I=0 TO LEN(A$)−1
  136.   C=VAL(”&H”+MID$(A$,I,1))
  137.   C$=””
  138.   FOR J=0 TO 3
  139.    C$=MID$(”0F”,C%2,1)+C$
  140.    C=FLOOR(C/2)
  141.   NEXT J
  142.   B$=B$+C$
  143.  NEXT I
  144.  CHRSET ”BGF0”,A,B$
  145.  GOTO @SETCHR
  146. ’ PCG DATA =================
  147. DATA 80,”553A7DC6C77C39AA”
  148. DATA 90,”44880F0E007E1122”
  149. DATA 91,”BFF3E64CF9F255AA”
  150. DATA 92,”1D2C0F0F1C2D1C2D”
  151. DATA 94,”478E478E471E1F0E”
  152. DATA 95,”60063000AA55AA00”
  153. DATA 96,”DB1818189A1D9A18”
  154. DATA 98,”438549894F880C0B”
  155. DATA 99,”FCFAF9F90F0103FD”
  156. DATA 9A,”0B0B0B0C088E4F87”
  157. DATA 9B,”FDFDFD030107FFFE”
  158. DATA 9C,”41894F8F4E880E0B”
  159. DATA 9D,”F8F9FFFF070103FD”
  160. DATA 9E,”0B0B0B0E0C0E4F87”
  161. DATA 9F,”FDFDFD030107FFFE”
  162. DATA FB,”4400000000000022”
  163. DATA FC,”4488112244881122”
  164. DATA FD,”663399CC663399CC”
  165. DATA FF,”55AA55AA55AA55AA”
  166. DATA −1

CHECKER FLAG (ひとことコメント)

この作品に対するコメントがあれば一言どうぞ。(作品に直接関係ない質問や雑談は掲示板へ)

  • 名無しさん : QR化できませんか?_ (2012/04/02 (月) 12:36:52)
  • お願いします : QRコードにしてください (2012/04/02 (月) 21:27:31)
  • 名無しさん : おう、短い! (2012/04/03 (火) 03:06:40)
  • 名無し : QR版の最終行”DATA-1"の”-1"抜けてますので注意 (2012/04/03 (火) 13:02:11)
  • バター : QRコードありがとうございます (2012/04/04 (水) 09:08:08)
  • わぁぃ@ : 頑張れば電車と接触できる。 (2012/04/04 (水) 11:14:39)
  • 名無しさん : タグQRコードを追加しておきました。 (2012/04/04 (水) 11:23:36)
  • くぉ : たまになるザザザザザって音はなんですか? (2012/04/07 (土) 17:13:11)
  • 名無しさん : ↑電車の通る音じゃないでしょうか? (2012/04/07 (土) 17:33:56)
  • くぉ : ホントだ!!!凝ってるなぁ (2012/04/07 (土) 18:11:43)
  • 名無しさん : 133行目 エラー出る OUT OF DATA (2012/04/09 (月) 15:17:12)
  • 名無しさん : 訂正 140行目 (2012/04/09 (月) 15:17:52)
  • プチコンまとめWiki管理人 : QRをエラーが出ないものに差し替えました。 (2012/04/10 (火) 09:29:34)
  • ウイング : 車にぶつかると自分の車がwwww (2012/04/20 (金) 20:13:49)
  • 名無しさん : 初代の方がいい (2012/06/17 (日) 22:39:45)
  • 名無しさん : 自分の車だけ色を変えてわかりやすくしてみては? (2012/06/19 (火) 16:49:07)
  • tokei : score と high の後ろに; がw (qr) (2012/06/20 (水) 16:45:38)
  • 名無しさん : ;ha (2012/06/20 (水) 22:51:53)
  • 名無しさん : ;はオリジナル通りのはず。 (2012/06/20 (水) 22:52:08)
  • Jason : 印象的!あなたはテキストのみを使用するの か? (2012/07/23 (月) 01:16:30)
  • america : I love japanese people (2012/09/04 (火) 14:24:11)
  • 名無しさん : ↑なぜですか? (2012/09/04 (火) 16:31:12)
  • 下手な人 : hatenaさん、管理人さん。QRコードの件ありがとうございます(遅ればせながら御礼申し上げます)。 (2012/09/29 (土) 17:09:32)
  • 下手な人 : Jasonさん。私が公開している作品はテキストのみ使用したものが多いですが、BGやスプライトを用いた作品も作っています。 (2012/09/29 (土) 17:11:28)
  • flipnoteruler : my dsi is not taking the qr code (2012/11/19 (月) 00:50:44)
  • ガス : 結構いいな。友達とハイスコアきそえるよな (2013/06/01 (土) 20:32:16)
  • english pls : To all who can't scan the QR's: click one of them, download the file and then zoom it with the windows picture viewer, scan... Profit! (2014/12/05 (金) 08:42:20)

表示モード : [ スマホ・3DS対応表示 | クラシック表示 ]
PukiWiki 1.4.7 Copyright © 2001-2006 PukiWiki Developers Team. License is GPL. Based on "PukiWiki" 1.3 by yu-ji
ページの処理時間 : 0.031 秒 | このページの最終更新 : 2016/01/21 (木) 23:55:59 (1274d) | ログイン
Copyright(C) 2011-2014 プチコンまとめWiki ◆1sxkymI8ji30