Feat: done except full reset, maze, dino

This commit is contained in:
2025-12-12 08:15:29 +08:00
parent fe142bae33
commit 3ae42f4e67
10 changed files with 252 additions and 76 deletions

View File

@@ -65,7 +65,7 @@ def grow(xl, xr, yl, yr):
utils.mv(x, y)
pos[measure()-7].append((x, y))
for p in pos[::-1]:
for p in pos[::-1]:
for x, y in p:
utils.mv(x, y)
while not utils.harv():
@@ -88,19 +88,23 @@ def growparallel(xl, xr, yl, yr):
return ret
drowns = list()
for x in range(xl+1, xr):
for x in range(xl, xr-1):
utils.mv(x, get_pos_y())
drown = None
while drown == None:
drown = spawn_drone(fillx(x))
drowns.append(drown)
fillx(xl)()
fillx(xr-1)()
for drown in drowns:
wait_for(drown)
def run():
def harvx(k, x):
def harvx(k, x, inv):
def ret():
for y in range(yl, yr):
l, r, d = yl, yr, 1
if inv == True:
l, r, d = yr-1, yl-1, -1
for y in range(l, r, d):
utils.mv(x, y)
if measure() == k:
while not utils.harv():
@@ -109,12 +113,16 @@ def growparallel(xl, xr, yl, yr):
for k in range(15, 6, -1):
drowns = list()
for x in range(xl+1, xr):
l, r, d = xl, xr, 1
if k%2 == 1:
l, r, d = xr-1, xl-1, -1
for x in range(l, r-d, d):
utils.mv(x, get_pos_y())
drown = None
while drown == None:
drown = spawn_drone(harvx(k, x))
drown = spawn_drone(harvx(k, x, k%2 == 1))
drowns.append(drown)
harvx(k, xl)()
harvx(k, r-d, k%2 == 1)()
for drown in drowns:
wait_for(drown)
@@ -122,11 +130,21 @@ def growparallel(xl, xr, yl, yr):
return (init, run)
def check():
def init():
pass
def run():
if num_items(Items.Power) >= 100000:
return True
return (init, run)
if __name__ == '__main__':
set_world_size(8)
set_world_size(32)
clear()
solve.run([
growbase(0, 8, 0, 2),
grow(0, 8, 2, 8),
growparallel(0, 32, 0, 32)
# check(),
])()