Enjoy programming more!
Kidspod is a post site which supports young programmers.
First step to join us.
Register as a member
For members

2019/03/23 16:00:09

MixJuice GET URL : kidspod.club/mj/774

ファームプラネット(バージョン1.3.0以降用)

IchigoJam バージョン1.3.0 & 1.3.1用のファームプラネットです。

バージョン1.2.3で作ったオリジナル(http://kidspod.club/program/default.html?id=667)がバージョン1.3.0で動かなかったので、1.3.0以降用に修正しました。1.3.0と1.3.1で動作確認済みです。
ついでに、ほんのちょっと改良しています。

IchigoJamのバージョンアップでスピードがあがったので、快適にプレイできるようになりました。

20200421 バージョン1.4で正常に動作しないところを修正しました
(「IF SCR()=#FF」を IF SCR()=255」に修正)


【ストーリー】
20XX年、人類は別の惑星へ移住を計画していた。
パイオニアのあなたは、食料の自給自足を目指して
この惑星でいちごの栽培を成功させなくてはならない。
最近判明したことだが、この惑星には宇宙虫がいる。
いちごの害虫にならなければよいが・・・

さあ、あなたが降り立った惑星には何もありません。
いちご栽培を始めてください。

【操作】
上下左右キー:移動
スペースキー:エネルギーを1消費して、壁をつくる
Zキー:エネルギーを1消費して、いちごの苗を植える
Aキー:エネルギーを20消費して、いちご自動回収装置を置く
Deleteキー:壁・苗・自動回収装置を除去して、さら地にする。エネルギーはかかりません。

苗・壁・自動回収装置があるところに別のものを置きたいときは、
いちどDeleteキーでさら地にしてください。
ゲーム開始時のエネルギーは500です。

【いちごの苗】
いちごの苗を植えると、徐々に育って花が咲いて、いちごが実ります。
いちごの草は上下左右に増殖していきます。ななめ方向には増殖しません。
実ったいちごのところにプレイヤーを移動するといちごを収穫して、エネルギーが5増えます。
画面の「GET」は収穫したいちごの数です。

【宇宙虫】
いちごが実ったままにしておくと、宇宙虫が発生します。
宇宙虫は上下左右方向に増えます。増えるスピードはいちごの草より速いです。
宇宙虫はDeleteキーなどで退治・除去できません。
宇宙虫が発生した場合は、増えないように上下左右を壁(または自動回収装置)で囲うしかありません。
宇宙虫が増えると、エネルギーが2減ります。
宇宙虫は寿命がくると、いちごの苗を残していなくなります。

【自動回収装置】
低確率ですが、自動回収装置を置いた周囲のいちごを回収します。
自動回収装置の有効範囲は以下のとおりです。(Aが自動回収装置)
+++++
+++++
++A++
+++++
+++++

【いろいろ書きましたが・・・】
いちごの苗を植えて1年くらいするといちごが実るので、宇宙虫が発生する前に収穫してください。
宇宙虫が発生したら、かべで囲って増えないようにしましょう。
いちごの栽培に最適で、宇宙虫が発生したときに被害が最小限になるような壁の作り方を考えてみてください。
理想は、全自動でいちごが回収される、放置できる環境です。
このゲームには、ゲームオーバーはありません。あなたがあきらめるまで続けられます。

まずはZキーでいちごの苗をいくつか植えて観察してみてください。
慣れてきたら、壁・苗・自動回収装置を最適だと思う形に配置して、放置してみてください。うまくいけば自動的にどんどんいちごが収穫される環境ができるかも!?

  • 1
  • 2
  • 1
  • 2

SOURCE CODE

10 'FP(1.3)
20 CLS:CLV:E=#B:F=#F0:X=16:L=500:P="T600N7N3"
30 LET[0],#7E,#76,#79,#77,#57,#E6,#FF,E
40 LCQ,R:?CHR$(S);:LC0,23:?"YEAR";T/10;".";T%10;" ENERGY";L;" GET";J;" ";
50 IF TICK()>600 CLT:T=T+1
60 K=INKEY():CLK:Q=RND(32):R=RND(22)
70 LCX,Y:?CHR$(Z):S=SCR(Q,R)
80 LET[10],SCR(Q,R-1),SCR(Q+1,R),SCR(Q,R+1),SCR(Q-1,R)
90 X=X-(K=28)*(X>0)+(K=29)*(X<31):Y=Y-(K=30)*(Y>0)+(K=31)*(Y<21)
100 LCX,Y:Z=SCR():?CHR$(#ED)
110 IF Z=E GOTO170
120 IF !(Z-#FF) Z=[4]:L=L+5:J=J+1:PLAY P
130 IF !(K-#7F) Z=0:BEEP230
140 IF !L+Z GOTO170
150 IF BTN(32) Z=6:L=L-1:BEEP50 ELSE IF K=#5A Z=[0]:L=L-1:BEEP2
160 IF (K=#41)*(L>19) Z=F:L=L-20:BEEP7
170 IF S=E S=[0]:GOTO40
180 IF S=F GOTO220
190 IF ([10]=E)+([11]=E)+([12]=E)+([13]=E)+(S=[6]) AND S<>6 S=E:L=L-2:PLAY"N99N150":GOTO40
200 IF !S C=[10]+[11]+[12]+[13]:H=C>86 AND C<127:S=[0]*H+S*!H:GOTO40
210 FOR I=0 TO 6:H=(I+1)*(S=[I]):I=I+6*H:NEXT:S=[H]*!!H+S*!H:BEEP9-H,2:GOTO40
220 FOR I=0 TO 24:M=Q+I%5-2:N=R+I/5-2:LCM,N,1:BEEP!(I%4)*5:IF SCR()=255 L=L+5:J=J+1:?CHR$([4]):PLAY P
230 NEXT:GOTO40

COMMENT

Kidspod運営チーム
Kidspod運営チーム2019/04/01 18:06:41

動作が快適になったのは素晴らしいですね。もともと面白いゲームだったので、IchigoJamの新バージョンに合わせてもらえたのは嬉しいです!