
当記事はChatGPTが出力した文章を使用しています。
このゲームの関連記事
前回
木は間引き配置&必要時だけ給水の“無限ループ”

-
木は隣接(N/E/S/W)に木があると2倍遅くなる→ 真ん中列でも(x+y)が偶数のタイルだけ木にして「1マス空け」を保証。
-
水はタイルの水位 get_water() を見て、0.3未満 & 水在庫アリならだけ撒く(
use_item(Items.Water))。 -
ニンジンは空なら耕してから植える(資材チェック)。草は刈るだけ。
# ===== 仕事パーツ =====
def do_grass():
if can_harvest():
harvest()
def water_if_needed(threshold=0.3):
# 木とニンジンの育成をそこそこ加速、でもムダ撒きはしない
if get_water() < threshold and num_items(Items.Water) > 0:
use_item(Items.Water)
def do_tree():
# 木タイル:刈れたら収穫→空なら植え直し→必要なときだけ水やり
if can_harvest():
harvest()
plant(Entities.Tree)
elif get_entity_type() == None:
plant(Entities.Tree)
water_if_needed(0.3)
def do_carrot():
# ニンジン:刈れたら収穫→空なら土を耕して資材があれば植える
if can_harvest():
harvest()
if get_ground_type() == Grounds.Grassland:
till() # 土壌にする(トグル事故を避けるため必要時のみ)
if num_items(Items.Hay) >= 1 and num_items(Items.Wood) >= 1:
plant(Entities.Carrot)
# ===== 列の役割:0=🥕, 1=🌳(ただし間引き), 2=🌿 =====
def do_job_for_current_tile():
x = get_pos_x()
y = get_pos_y()
lane = x % 3
if lane == 0:
do_carrot()
elif lane == 1:
# 木は (x+y) 偶数タイルだけに植えて隣接ペナルティを回避
if (x + y) % 2 == 0:
do_tree()
else:
do_grass()
else:
do_grass()
# ===== 端ガード付き・縦スネーク移動(1tickだけ動かす)=====
def snake_step(size, going_right, going_up):
x = get_pos_x(); y = get_pos_y()
if going_up:
if y == size - 1:
if going_right:
if x == size - 1:
going_right = False
move(West)
else:
move(East)
else:
if x == 0:
going_right = True
move(East)
else:
move(West)
going_up = False
else:
move(North)
else:
if y == 0:
if going_right:
if x == size - 1:
going_right = False
move(West)
else:
move(East)
else:
if x == 0:
going_right = True
move(East)
else:
move(West)
going_up = True
else:
move(South)
return going_right, going_up
# ===== 本体(無限ループ)=====
size = get_world_size()
going_right, going_up = True, True
while True:
do_job_for_current_tile() # そのマスの仕事(収穫/植え/水やり)
going_right, going_up = snake_step(size, going_right, going_up) # 1歩だけ移動
ちょい運用メモ🌟
-
木のタイルだけ給水にしてるから、水タンク(10秒ごと)をムダ遣いしにくいよ。もっと攻めたいなら
threshold=0.5に上げてOK。 -
木の列を増やしたくなったら、奇数列にも同じ「(x+y)偶数だけ木」を適用すれば、広げても隣接ペナなしでいける👌
-
資材不足なら
do_carrot()の植え条件を少し緩めたり、草を増やすのもアリ。
続き