【農家は Replace() されました】第6回 ニンジン解禁|ギャルから学ぶドローン農業【超初心者向け攻略】

当記事はChatGPTが出力した文章を使用しています。

 

このゲームの関連記事

www.himajin-block30.com

 

前回

www.himajin-block30.com

 

ニンジン解禁

ポイントだけ先にギャルまとめ👇

  • 耕す → 植えるの順番が命! 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✌️

続き

www.himajin-block30.com

 

このゲームの関連記事

www.himajin-block30.com