
当記事はChatGPTが出力した文章を使用しています。
このゲームの関連記事
前回
ニンジン解禁
ポイントだけ先にギャルまとめ👇
-
耕す → 植えるの順番が命!
till()で地面を Soil にしてからplant(Entities.Carrot)。 -
till()はトグル(Soil⇄Grass)。育成中に連打すると作物を潰しがちだから、収穫直後だけ使うのが安全💅 -
ニンジンは木材と干し草を消費(上部の資材が自動で減る)。足りなければ後で資材回収用ループを回せばOK。
フェーズ1:初期化(1回だけ)
まずは全部のマスをSoilにしてニンジン植える。ここでだけ till() を使う🥕
for r in range(get_world_size()):
for c in range(get_world_size()):
till() # Grass → Soil
plant(Entities.Carrot) # ニンジン植え
move(East)
move(South)
フェーズ2:常時運転(刈る→植える だけ)
以降は till() を使わない のが鉄則。収穫できたら即植え戻し!
while True:
for r in range(get_world_size()):
for c in range(get_world_size()):
if can_harvest():
harvest()
plant(Entities.Carrot) # Soilのまま植え戻し
# 未成熟ならスルー(or 少し待ちたいなら下の版)
move(East)
move(South)
“ちょい待ち”を入れて取りこぼし減らすなら👇(早すぎて空振り多い時に効く)
while True:
for r in range(get_world_size()):
for c in range(get_world_size()):
if can_harvest():
harvest()
plant(Entities.Carrot)
else:
do_a_flip() # 1tick待ち。足りなければ2回に増やす
move(East)
move(South)
もし誤って草地に戻しちゃったら…🧹
この段階だと地面の種類を判定する手段がまだ無いから、
手っ取り早い復旧は clear() → もう一度「フェーズ1」を流して全面再整地&再植え付けだよ。
clear()
# そのあとフェーズ1の初期化コードを再実行
コツ
-
till()は「収穫できた時だけ」呼ぶから、育成中の苗を壊さないで済むよ👌 -
待ちが長すぎて取りこぼす/腐るなら
do_a_flip()を0回に、
逆に空振りばかりなら 2回にしてテンポを合わせてね。
つまずきチェック💣
-
:(コロン)とインデント統一(Tabだけ or Spaceだけ) -
Entities.Carrot/ 方向名の大文字小文字、()の付け忘れ -
資材が尽きたら、別パスで草や茂みを収穫して補充→もう一度フェーズ2へ
ニンジン、草、茂みをバランス良く収穫

フェーズA:初期レイアウト(1回だけ実行)
1列目=ニンジン、2列目=茂み、3列目=草のまま に整えるよ。
最後に1歩だけ南へ動いて、次のフェーズの先頭(ニンジン列)に位置合わせしておく✨
# —— 1列目:ニンジン畝を作る ——
for c in range(get_world_size()):
till() # Grass → Soil
plant(Entities.Carrot) # ニンジン植え
move(East)
move(South)
# —— 2列目:木材用の茂み ——
for c in range(get_world_size()):
plant(Entities.Bush)
move(East)
move(South)
# —— 3列目:草はそのまま(干し草回収用) ——
for c in range(get_world_size()):
move(East)
# 位置合わせ:草列の下→ニンジン列へ戻る(3×3なので1歩南でラップ)
move(South)
フェーズB:常時運転(資材バランス運用)
-
ニンジン列:刈れたら刈って即植え直し(木+干し草を消費)
-
茂み列:刈れたら刈って即植え直し(木材を供給)
-
草列:刈れたら刈るだけ(干し草を供給)
空振りが多いときの“待ち”としてdo_a_flip()を1回入れてあるよ(足りなければ2回に増やしてOK)。
while True:
# —— ニンジン列(資材を消費) ——
for c in range(get_world_size()):
if can_harvest():
harvest()
plant(Entities.Carrot) # Soilのまま植え戻し(tillは使わない)
else:
do_a_flip() # 成熟待ち1tick
move(East)
move(South)
# —— 茂み列(木材を供給) ——
for c in range(get_world_size()):
if can_harvest():
harvest()
plant(Entities.Bush) # 木材の循環を作る
else:
do_a_flip()
move(East)
move(South)
# —— 草列(干し草を供給) ——
for c in range(get_world_size()):
if can_harvest():
harvest() # 草は植え直し不要
else:
do_a_flip()
move(East)
move(South)
使い方のコツ💡
-
till()はフェーズAだけで使う(トグルなので常時運転で触らない)。 -
資材が減るなら:
do_a_flip()を増やして成熟待ちを長くする。 -
逆に余るなら:
do_a_flip()を0にしてテンポUP。 -
配分を変えたいときは、フェーズAをやり直して
-
例)木材不足→茂み2列+草1列
-
例)干し草不足→草2列+茂み1列
に組み替えればOK✌️
-
続き