スマイルブーム自家製プログラム特集 PART6 →PART7

FUDO3 by スマイルブーム

再生

 「FUDO3」……すなわち「不動産」がテーマのゲームだ。
 すべきことは、自分(赤)のサイコロを振ることだけ。進んだ先に買い手のない土地(白)があれば、自動的に自分のサイフ(ステータスパネル内の数字)から支払われてその土地が自分のものになる。進んだ先が敵プレイヤーの買った土地(青・オレンジ・緑)だと、その土地に設定された値段だけ相手に支払うことになってしまうぞ。
 画面の上1/3は遠景で見たマップの様子。画面中央は拡大図で、十字ボタン左右で遠景→拡大図の表示位置をスクロールさせることができる。
 最初は原野と更地しかないマップだが、買い手がつくと商店やスーパーに変わって価格も高くなる。さらに買い手が赤字にならないうちに自分の土地に止まれば、より高いマンション、オフィスにと進化するぞ。


 CHECK POiNT 

神崎
全体マップとクローズアップ画面を使った、定番のスゴロク不動産ゲームだね。

ワンパク
なるほど、スゴロク不動産ゲーム……それはわかるぜ。だが……そのワリに面白い気がしねえのは、なぜだ? シット!

博士
なるほどサイコロを振るだけではゲーム性に欠ける、というコトがよくわかるのう。

インテリ
土地を買うか買わないか、増額するかやめるか、そういった判断をプレイヤーの選択肢に加えるとゲーム性が高くなるだろうね。

ワンパク
ガッデム! なんとなくワカってきたぜ! このヤロー基礎工事だけやって満足しきりやがったなアァ! ファッキンシット!

神崎
ま、まあまあ。ホラ、終了条件とか、メッセージの表示とか、簡単な改造で面白くできるポイントがたくさん残ってるいう考え方もあるよ!

ワンパク
テ、テメエ……ゼエ、ゼエ……いいかげんツッコむのも疲れてきたぜ……オレが間違ってるのか……?

プログラムリスト

  1. ’┌──────────┐
  2. ’│フト゛ウサンケ゛-ム│
  3. ’└──────────┘
  4. CLEAR
  5. ’0
  6. DATA ”▲”
  7. DATA ”     ”
  8. DATA ”     ”
  9. DATA ”     ”
  10. DATA ”     ”
  11. DATA ”┨┓┠┷┓”
  12. DATA ”┷┷┷┷┷”
  13. DATA ”┴┴┴┴┴”
  14. DATA ”ケ゛ンヤ ”
  15. ’1
  16. DATA ”.”
  17. DATA ”     ”
  18. DATA ”     ”
  19. DATA ”     ”
  20. DATA ”     ”
  21. DATA ”     ”
  22. DATA ” ┷ ┷ ”
  23. DATA ”─┴─┴─”
  24. DATA ”サラチ  ”
  25. ’2
  26. DATA ”Ч”
  27. DATA ”     ”
  28. DATA ”     ”
  29. DATA ”     ”
  30. DATA ”     ”
  31. DATA ” ┝┿┰ ”
  32. DATA ” │○│ ”
  33. DATA ”─┴─┴─”
  34. DATA ”ショウテン”
  35. ’3
  36. DATA ”┠”
  37. DATA ”     ”
  38. DATA ”     ”
  39. DATA ”     ”
  40. DATA ”     ”
  41. DATA ”┌───┐”
  42. DATA ”│□□□│”
  43. DATA ”┴───┴”
  44. DATA ”ス-ハ゜-”
  45. ’4
  46. DATA ”┷”
  47. DATA ”     ”
  48. DATA ”     ”
  49. DATA ”┌───┐”
  50. DATA ”│□□□│”
  51. DATA ”├───┤”
  52. DATA ”│□□□│”
  53. DATA ”┴───┴”
  54. DATA ”マンション”
  55. ’5
  56. DATA ”■”
  57. DATA ”┌───┐”
  58. DATA ”│□□□│”
  59. DATA ”├───┤”
  60. DATA ”│□□□│”
  61. DATA ”├───┤”
  62. DATA ”│□□□│”
  63. DATA ”┴───┴”
  64. DATA ”オフィス ”
  65. ’6
  66. DATA ”$”
  67. DATA ”     ”
  68. DATA ” GET ”
  69. DATA ” ┌─┐ ”
  70. DATA ” │$│ ”
  71. DATA ” └─┘ ”
  72. DATA ”MONEY”
  73. DATA ”─────”
  74. DATA ”ВВВВВ”
  75. ’---
  76. TMAX=7
  77. DIM B$(TMAX,9)
  78. FOR I=0 TO TMAX-1
  79.  FOR J=0 TO 8
  80.   READ B$(I,J)
  81.  NEXT
  82. NEXT
  83. ’---
  84. DIM C(6)
  85. C(0)=0:C(1)=12:C(2)=9
  86. C(3)=7:C(4)=4:C(5)=3
  87. ’---
  88. DIM N$(4)
  89. N$(0)=”アナタ ”
  90. N$(1)=”タナカ ”
  91. N$(2)=”スス゛キ”
  92. N$(3)=”ヤマタ゛”
  93. ’---
  94. DIM U(4,2)
  95. FOR I=0 TO 3
  96.  U(I,0)=500
  97.  U(I,1)=0
  98. NEXT
  99. ’---
  100. MMAX=32
  101. DIM M(MMAX,8)
  102. _B=0:_M=1:_U=2:’_____
  103. ’---
  104. FL=-1:RQ=1
  105. ’┌───┐
  106. ’│メイン│
  107. ’└───┘
  108. @LOOP
  109.  OLDB=B:B=BUTTON()
  110.  IF FL==RQ THEN @SKIP
  111.  FL=RQ
  112.  ON FL GOSUB @GI,@TI
  113.  GOTO @WAIT
  114. @SKIP
  115.  ON FL GOSUB @GM,@TM
  116. @WAIT
  117.  VSYNC 1
  118. GOTO @LOOP
  119. ’┌───────┐
  120. ’│ケ゛-ムメイン│
  121. ’└───────┘
  122. @GM
  123. GOSUB @CTRL
  124. GOSUB @MOVE
  125. RETURN
  126. ’┌────────┐
  127. ’│ケ゛-ムショキカ│
  128. ’└────────┘
  129. @GI
  130. CLS
  131. FOR I=0 TO MMAX-1
  132.  B=RND(2)
  133.  M(I,_B)=B
  134.  B=RND(8)*B*10
  135.  M(I,_M)=B+RND(10)+1
  136.  M(I,_U)=-1 :’RND(5)-1
  137. NEXT
  138. ’---セントウハGETニスル
  139. M(0,_B)=6
  140. M(0,_M)=0
  141. M(0,_U)=4
  142. FOR I=0 TO MMAX-1
  143.  COLOR C(M(I,_U)+1)
  144.  PRINT B$(M(I,_B),0);
  145. NEXT
  146. ’---
  147. FOR I=0 TO 3
  148.  GOSUB @PUTSTAT
  149. NEXT
  150. OX=0
  151. GOSUB @PUTMAP
  152. ’---
  153. GOSUB @PUTMSG
  154. W1=0:W2=0
  155. MV=0:MW=0:US=0:CW=0
  156. RETURN
  157. ’┌────┐
  158. ’│イト゛ウ│
  159. ’└────┘
  160. @MOVE
  161. IF MV!=0 GOTO @MSKIP2
  162. SI=RND(6)+1
  163. LOCATE 30,23
  164. PRINT SI;
  165. IF US==0 GOTO @MBUTA
  166. ’---
  167. CW=CW+1
  168. IF CW<16 THEN @PUTMSG
  169. CW=0
  170. GOTO @MSKIP
  171. ’---
  172. @MBUTA
  173. IF B!=16 THEN @PUTMSG
  174. ’---
  175. @MSKIP
  176. MV=1
  177. ’---
  178. @MSKIP2
  179. MW=MW+1
  180. ’IF MW<10 THEN @PUTMSG
  181. MW=0
  182. ’---
  183. X=U(US,1):Y=2+US
  184. LOCATE X,Y:PRINT”й”
  185. COLOR C(US+1)
  186. X=X+1
  187. IF X>=MMAX THEN X=X-MMAX
  188. U(US,1)=X
  189. LOCATE X,Y:PRINT”г”
  190. OX=X
  191. ’---キュウリョウ
  192. IF X!=0 THEN @PMP
  193. U(US,0)=U(US,0)+500
  194. I=US:GOSUB @PUTSTAT
  195. ’---
  196. @PMP
  197. GOSUB @PUTMAP
  198. SI=SI-1
  199. IF SI!=0 THEN @PUTMSG
  200. ’---
  201. X=U(US,1)
  202. I=M(X,_U)
  203. PR=M(X,_M)
  204. MN=U(US,0)
  205. IF I==-1 GOTO @BUY
  206. IF I==US GOTO @BUY
  207. IF I>3 GOTO @CNEXT
  208. ’---ホカノヒトノトチ
  209. GOSUB @CLCOFS
  210. U(US,0)=MN-PR
  211. U(I,0)=U(I,0)+PR
  212. GOSUB @PUTSTAT
  213. GOTO @CNEXT
  214. ’---コウニュウテ゛キルカ?
  215. @BUY
  216. IF MN<PR GOTO @CNEXT
  217. ’---コウニュウスル
  218. BL=M(X,_B)
  219. IF BL>=5 GOTO @CNEXT
  220. M(X,_B)=BL+1
  221. M(X,_U)=US
  222. U(US,0)=MN-PR
  223. ’---カカクヘンコウ
  224. M(X,_M)=M(X,_M)*2
  225. ’---サイヒョウシ゛
  226. GOSUB @PUTMAP
  227. ’---ツキ゛ノヒトヘ
  228. @CNEXT
  229. I=US:GOSUB @PUTSTAT
  230. US=US+1
  231. US=US AND 3
  232. GOSUB @PMSGCLR
  233. MV=0:FW=0
  234. ’---
  235. @PUTMSG
  236. FW=FW+1:IF FW>60 THEN FW=0
  237. IF FW>30 THEN @PMSGCLR
  238. ’---
  239. LOCATE 0,23
  240. IF US==0 GOTO @PMSG2
  241. PRINT N$(US);”カ゛、サイコロヲフリマス”;
  242. RETURN
  243. @PMSG2
  244. PRINT”Аホ゛タンテ゛、サイコロヲフッテクタ゛サイ”;
  245. RETURN
  246. ’----
  247. @PMSGCLR
  248. X=0:Y=23:E=28:GOSUB @CLR
  249. RETURN
  250. ’┌─────┐
  251. ’│ハ゛イリツ│
  252. ’└─────┘
  253. @CLCOFS
  254. X1=X-1
  255. IF X1<0 THEN X1=X1+MMAX
  256. X2=X+1
  257. IF X2>MMAX-1 THEN X2=X2-MMAX
  258. IF M(X1,_U)==I THEN PR=PR*2
  259. IF M(X2,_U)==I THEN PR=PR*2
  260. RETURN
  261. ’┌────────┐
  262. ’│マッフ゜カクニン│
  263. ’└────────┘
  264. @CTRL
  265. VX=0
  266. IF B AND 4 THEN VX=-1
  267. IF B AND 8 THEN VX=1
  268. IF OLDB!=0 GOTO @CREPT
  269. IF OLDB==0 THEN W1=0:W2=0
  270. IF VX!=0 GOTO @CSKIP
  271. ’---
  272. @CREPT
  273. IF W1>=15 GOTO @CREP2
  274. W1=W1+1
  275. IF W1==15 GOTO @CSKIP
  276. RETURN
  277. @CREP2
  278. W2=W2+1
  279. IF W2<2 THEN RETURN
  280. W2=0
  281. ’---
  282. @CSKIP
  283. OX=OX+VX
  284. IF OX<0 THEN OX=OX+MMAX
  285. IF OX>MMAX-1 THEN OX=OX-MMAX
  286. GOSUB @PUTMAP
  287. RETURN
  288. ’---
  289. @PUTMAP
  290. X=0:Y=1:E=32:GOSUB @CLR
  291. ’---
  292. FOR I=0 TO 5
  293.  
  294.  ’---タテモノヒョウシ゛
  295.  X=I*5+1
  296.  Y=6
  297.  O=(OX+I)%MMAX
  298.  N=M(O,_B)
  299.  COLOR C(M(O,_U)+1)
  300.  FOR J=0 TO 7
  301.   LOCATE X,J+Y
  302.   PRINT B$(N,J+1)
  303.  NEXT
  304.  ’---
  305.  Y=CSRY
  306.  LOCATE O,0
  307.  PRINT B$(N,0);
  308.  ’---
  309.  IF O!=0 GOTO @PMPRICE
  310.  ’
  311.  LOCATE X,Y+0:PRINT”ВВВВВ”
  312.  LOCATE X,Y+1:PRINT”ВВВВВ”
  313.  LOCATE X,Y+2:PRINT”ВВВВВ”
  314.  GOTO @PMSKIP
  315.  ’
  316. @PMPRICE 
  317.  COLOR 2
  318.  LOCATE X,Y+0:PRINT”┌───┐”
  319.  LOCATE X,Y+1:PRINT”│   │”
  320.  LOCATE X+1,Y+1
  321.  PRINT M(O,_M)
  322.  LOCATE X,Y+2:PRINT”└───┘”
  323.  ’
  324. @PMSKIP
  325.  LOCATE O,1
  326.  PRINT ”─”
  327.  
  328. NEXT
  329. COLOR 0
  330. RETURN
  331. ’---
  332. @PUTSTAT
  333. COLOR C(I+1)
  334. X=I*8:Y=17
  335. LOCATE X,Y+0:PRINT”┌──────┐”;
  336. LOCATE X,Y+1:PRINT”│”;
  337. PRINT I+1;”:”;
  338. PRINT N$(I);”│”;
  339. LOCATE X,Y+2:PRINT”├──────┤”;
  340. LOCATE X,Y+3:PRINT”│”;
  341. C$=”      ”+STR$(U(I,0))
  342. C$=MID$(C$,LEN(C$)-6,6)
  343. PRINT C$;”│”;
  344. LOCATE X,Y+4:PRINT”│      │”;
  345. LOCATE X,Y+5:PRINT”└──────┘”;
  346. ’---
  347. X=U(I,1)
  348. LOCATE X,I+2
  349. PRINT”г”
  350. ’---
  351. COLOR 0
  352. RETURN
  353. ’---
  354. @CLR
  355. LOCATE X,Y
  356. FOR I=0 TO E-1
  357.  PRINT” ”;
  358. NEXT
  359. RETURN
  360. @TI
  361. CLS
  362. LOCATE 0,7
  363. PRINT”   ┌───┐┌┐ ┌┐┌──┐ ┌───┐ ┌───┐”
  364. PRINT”   │┌──┘││ │││┌┐└┐│┌─┐│ └──┐│”
  365. PRINT”   │└──┐││ ││││└┐│││ ││ ┌──┘│”
  366. PRINT”   │┌──┘││ ││││┌┘│││ ││ └──┐│”
  367. PRINT”   ││   │└─┘││└┘┌┘│└─┘│ ┌──┘│”
  368. PRINT”   └┘   └───┘└──┘ └───┘ └───┘”
  369. LOCATE 8,16
  370. PRINT”PUSH ANY BUTTON”
  371. LOCATE 4,22
  372. PRINT”(C)2011 SmileBoom Co.Ltd.”
  373. RETURN
  374. @TM
  375. IF OLDB!=0 THEN RETURN
  376. IF B==0 THEN RETURN
  377. ’---
  378. RQ=0
  379. RETURN