编程农场中文版
编程并不断优化你的无人机,实现农场自动化

- 本地下载
10.0分
编程农场(The Farmer Was Replaced)是一款融合代码编程与模拟经营的创新养成游戏。玩家将化身农场主,通过简洁的类Python语言编写无人机脚本,实现播种、灌溉、收割等农活的全自动化。游戏摒弃传统农场游戏的体力劳作模式,转而以逻辑思维与编程能力为核心挑战,只需轻点“执行”按钮,即可欣赏无人机流畅执行任务,感受自动化带来的成就感,同时潜移默化提升编程技能。
编程农场中文版采用简约俯视角2D画面,农田、作物与无人机以明快色彩区分,界面突出代码编辑器与实时执行画面的分屏设计,辅以播种轨迹、收割特效等流畅动画,让编程过程直观生动;同时兼顾新手与资深玩家:前者可学习变量、循环等基础逻辑,后者则能挑战复杂算法优化;也支持VS Code等外部编辑器实时同步代码,强化教育实用性。
随着资源积累与科技解锁,玩家将逐步构建高效自动化农场,在享受游戏乐趣的同时,深化对编程思维的理解。你的最终目标是通过持续优化代码,成为全球效率第一的农场主。
游戏特色
1、编程学习曲线
专为不同水平玩家设计。新手可通过游戏掌握编程逻辑;资深程序员则能挑战后期任务,如并行任务调度、算法复杂度优化等,体验“代码创造生产力”的成就感。
2、资源驱动成长
通过收割作物获取资金,解锁更高效的无人机部件与编程功能(如条件判断、多线程控制),形成“编码→执行→优化”的循环。
3、无缝沙盒体验
与传统编程游戏的关卡制不同,本作采用连贯的成长机制,农场规模与科技树同步扩张,玩家需动态调整代码以适应新需求。
4、开放挑战模式
无传统关卡限制,玩家可自由设计解决方案。例如,优化算法缩短任务时间,或编写通用函数适应多变天气对农作物的影响。
5、真实开发环境集成
游戏语言高度兼容Python生态,允许调用成熟开发工具链,强化了教育实用性和专业度。
6、外部开发支持
游戏支持VS Code等外部编辑器编写.py文件,开启“文件监视器”后实时同步代码修改,方便开发者利用Python IntelliSense智能提示功能。
编程农场中文版游戏玩法指南
1、使用简洁的类 Python 语言为无人机编程,将枯燥磨人的各式农活彻底自动化。只需轻点“执行”按钮,即可欣赏无人机包揽所有繁重劳动,感受自动化带来的满足与享受。
与多数编程游戏不同,本作摒弃了传统的关卡制,并以连贯无缝的曲线成长机制取而代之。
2、经营你的农场,不断获取资源,并在随后解锁新科技。
3、使用类 Python 的简洁语言进行编程。游戏初期,我们将循序渐进,逐一为你引入所有必备的编程基础概念,带你轻松入门。
4、游戏将为你铺好基石,但不会牵着你的手走完全程,带你完成任务。面对各式各样的挑战,你必须独辟蹊径,自行摸索答案。对于编程新手而言,这将是一场真正的考验。
5、如果你有丰富的编程经验,那么游戏前期不过是牛刀小试,帮你快速热身。真正的大餐,是后期错综复杂,同时又趣味盎然的艰巨任务,它们一定能够点燃你的挑战欲望。
6、本游戏所使用的编程语言虽非 Python 本身,但却一脉相承,可让 Python IntelliSense(智能感知)功能大显身手。所有代码均以 .py 文件格式保存,你完全可以选用 VS Code 等外部代码编辑器进行创作。只需开启“文件监视器”设置,游戏便可即时检测外部修改。
编程农场脚本攻略
本指南捆绑了一组小脚本,旨在通过自动执行重复性任务(例如,骨骼耕种)来帮助您在游戏中取得进展。包含的脚本已准备好在游戏的脚本环境中运行,并已记录在案,以便您可以理解和调整它们。
随着时间的推移,将添加更多脚本、新的农业助手和农业实用程序。如果您需要一些特定的脚本,请随时发表评论,很高兴在我的空闲时间为您提供帮助。
一、恐龙算法(骨养殖)
1、概述
恐龙和骨头的记录可能相当令人困惑,但总而言之:
①恐龙:是无人机在使用“恐龙”帽子时(Hats.Dinosaur_Hat)。装备了这顶帽子并留空后,苹果会在地图上的随机位置生成。吃掉它们,你会增加你的尾巴,让你的无人机在它后面多使用一个空间。
②苹果:当苹果在无人机下方时,你可以采摘它们,“吃掉”它们并增加你的尾巴。因此,在它之后,一个新苹果将在地图上的其他地方生成。
③骨头:当你停止吃苹果时(通过换帽子、没有空间或停止代码),你会掉落骨头,骨头的数量取决于你的尾巴的长度。你的尾巴越长,你掉落的骨头就越多,获得 n**2 块骨头(n = 尾巴长度)。
所以它基本上是著名的贪吃蛇游戏,但你想尽可能长地长掉更多的骨头。
2、算法
该算法的主要思想是以一种可以在不与自己的尾巴相撞的情况下捡起苹果的方式移动无人机。为了实现这一点,该算法基本上使无人机遵循预定义的路径,该路径以锯齿形模式覆盖整个地图。这样,无人机最终将经过每个可能的苹果产卵位置。
3、脚本:
def calculate_pair_steps(world_size):
return (world_size - 6) // 2 + 2
def try_move(direction):
return move(direction)
def go_to_origin():
while get_pos_x() != 0:
try_move(West)
# Move vertically toward Y=0
while get_pos_y() != 0:
try_move(South)
def return_and_reset():
change_hat(Hats.Straw_Hat)
go_to_origin()
change_hat(Hats.Dinosaur_Hat)
perform_dino_pattern()
def repeat_move(direction, steps):
for _ in range(steps):
if not try_move(direction):
# If a move fails, reset and indicate failure to the caller
return_and_reset()
return False
return True
def perform_dino_pattern():
world_size = get_world_size()
max_index = world_size - 1
pair_steps = calculate_pair_steps(world_size)
while True:
# Climb to the top edge (Y = max_index)
if not repeat_move(North, max_index):
return
# Run to the right edge (X = max_index)
if not repeat_move(East, max_index):
return
# Drop one row to start the sweep pairs
if not repeat_move(South, 1):
return
# Perform pair_steps times: sweep left, step down, sweep right, step down
for _ in range(pair_steps):
# Sweep left across most of the row
if not repeat_move(West, max_index - 1):
return
# Move down a single row
if not repeat_move(South, 1):
return
# Sweep right across most of the next row
if not repeat_move(East, max_index - 1):
return
# Move down a single row to continue the pattern
if not repeat_move(South, 1):
return
# After the pairs, move back to the leftmost edge to finish the loop
if not repeat_move(West, max_index):
return
def farm_bone():
world_size = get_world_size()
# If the world size is odd, reduce it by 1 to make it even
if world_size % 2 == 1:
set_world_size(world_size - 1)
world_size -= 1
# Visual preparation and positioning
change_hat(Hats.Straw_Hat)
go_to_origin()
change_hat(Hats.Dinosaur_Hat)
# Run the pattern repeatedly until the environment prevents movement
while True:
perform_dino_pattern()
要使用该脚本,只需将其复制并粘贴到游戏的脚本环境中并运行 farm_bone() 函数即可。无人机将开始以锯齿形模式移动,捡起苹果并长出尾巴以掉落骨头。
您可以将脚本添加到另一个文件而不是 main 中,并从那里调用 farm_bone() 函数以保持主脚本干净。请记住导入文件的功能。
例:
from f0 import *
clear()
while True:
farm_bone()
二、巨型南瓜
1、概述
创建此脚本的目的是解锁“巨型南瓜”成就,该成就需要收获一个 32x32 的南瓜(真的很大)。
获得 32x32 南瓜的关键点是在 32x32 的区域种植南瓜,而没有任何死南瓜。为此,您需要检查每个瓷砖,看看是否有死南瓜,如果有,请重新种植它。在所有瓷砖上都装满健康的南瓜后,您就可以收获它了。
2、算法
该算法的主要思想是生成 32 架无人机,每架无人机将负责种植一列南瓜。所有无人机都会检查它们的柱子里是否有死南瓜,如果有,则重新种植。当所有无人机完成工作时,它们会更新一个全局变量,该变量将用于检查所有无人机是否都完成。当所有无人机完成后,最后完成的无人机将收获南瓜。
3、脚本:
这个脚本效率很低,但很容易理解。效率问题在于全局变量的增量不是瞬时的,所以无人机需要几秒钟才能完成工作。print命令显示的是全局变量的值,所以你可以等到看到数字1024(32*32),然后最后一架无人机会收获南瓜。
要使用该脚本,只需将其复制并粘贴到游戏的脚本环境中,然后导入主文件上的函数giant_pumpkin。之后,您可以生成 32 架无人机并在每架无人机上调用该函数。
pumpkin_count = 0
def giant_pumpkin():
for j in range(32):
till()
move(North)
for j in range(32):
plant(Entities.Pumpkin)
move(North)
while True:
cont = 0
on = 1
for j in range(32):
if not can_harvest():
if get_entity_type() == Entities.Dead_Pumpkin
or get_entity_type() == None:
plant(Entities.Pumpkin)
else:
cont+=1
if cont == 32 and on == 1:
global pumpkin_count
pumpkin_count += 32
print(pumpkin_count)
on = 0
if pumpkin_count == 32*32:
harvest()
if on == 1:
move(North)
else:
do_a_flip()
while True:
if spawn_drone(giant_pumpkin):
move(East)
else:
giant_pumpkin()
p = 0
clear()
def pumpk():
for j in range(32):
till()
move(North)
for j in range(32):
plant(Entities.Pumpkin)
move(North)
while True:
cont = 0
on = 1
for j in range(32):
if not can_harvest():
if get_entity_type() == Entities.Dead_Pumpkin or get_entity_type() == None:
plant(Entities.Pumpkin)
else:
cont+=1
if cont == 32 and on == 1:
global p
p += 32
print(p)
on = 0
if p == 32*32:
harvest()
if cont < 32:
move(North)
else:
do_a_flip()
while True:
if spawn_drone(pumpk):
move(East)
else:
pumpk()
要使用该脚本,只需将其复制并粘贴到游戏的脚本环境中,然后导入主文件上的函数giant_pumpkin即可。之后,您可以生成 32 架无人机并在每架无人机上调用该函数。
系统需求
需要 64 位处理器和操作系统
操作系统:Windows 7 (64-bit)
处理器:Intel Core i3
内存:4 GB RAM
显卡:Nvidia Geforce GTX 550/equivalent or higher*
DirectX 版本:11
存储空间:需要 1 GB 可用空间
附注事项:May run on weaker systems
下载地址
本类精品推荐
-
9.5/ 33.51 GB
-
10.0/ 74.88 GB
-
7.5/ 4.05 GB
-
10.0/ 2.5 GB
-
10.0/ 459.5 MB
-
10.0/ 1.81 GB
-
10.0/ 25.71 GB
-
10.0/ 954.59 MB