Update final/main4.py

This commit is contained in:
2025-10-10 20:05:31 +00:00
parent a3e7be20d1
commit 3f37e7e2ff

View File

@@ -15,6 +15,64 @@ drive_base.use_gyro(True)
color_sensor = ColorSensor(Port.F) color_sensor = ColorSensor(Port.F)
hub.speaker.volume(50) # Set the volume of the speaker hub.speaker.volume(50) # Set the volume of the speaker
async def Run1():
left_arm.run_angle(1000, 300)
right_arm.run_angle(1000,500)
await drive_base.straight(320)
await right_arm.run_angle(5000,-500, Stop.HOLD)
await right_arm.run_angle(5000,500, Stop.HOLD)
await right_arm.run_angle(5000,-500, Stop.HOLD)
await right_arm.run_angle(5000,500, Stop.HOLD)
await right_arm.run_angle(5000,-500, Stop.HOLD)
await drive_base.turn(-20)
await drive_base.straight(275)
await drive_base.turn(20)
await drive_base.straight(63)
await drive_base.turn(-30)
right_arm.run_angle(50,500)
await drive_base.turn(45)
await drive_base.straight(-135)
await drive_base.turn(-60)
await drive_base.straight(90)
await left_arm.run_angle(1000,-450)
await drive_base.straight(-145)
await left_arm.run_angle(1000,450)
await drive_base.straight(10)
await drive_base.turn(35)
await drive_base.straight(-500)
async def Run2():
await drive_base.straight(200)
await drive_base.turn(-20)
await drive_base.straight(525)
await drive_base.turn(60)
await drive_base.straight(50)
await right_arm.run_angle(2000,1000)
await drive_base.straight(-50)
await drive_base.turn(45)
await drive_base.straight(50)
await right_arm.run_angle(350,-1000)
await drive_base.turn(-100)
await drive_base.straight(-600)
async def Run3():
await drive_base.straight(915)
await drive_base.turn(-90)
await drive_base.straight(60)
await left_arm.run_angle(10000,-15000)
await drive_base.straight(-60)
await drive_base.turn(85)
await drive_base.straight(2000)
async def Run5():
await drive_base.straight(420)
await right_arm.run_angle(300,-100)
await drive_base.straight(-100)
await right_arm.run_angle(300, 100)
await drive_base.straight(-350)
async def Run6():
await drive_base.straight(420)
await right_arm.run_angle(300,-100)
await drive_base.straight(-100)
await right_arm.run_angle(300, 100)
await drive_base.straight(-350)
# Celebration sound types # Celebration sound types
class CelebrationSound: class CelebrationSound:
VICTORY_FANFARE = 0 VICTORY_FANFARE = 0
@@ -127,91 +185,7 @@ async def celebrate_mission_complete(sound_type=CelebrationSound.SUCCESS_CHIME):
hub.light.off() hub.light.off()
async def Run1(): async def main():
# Brings both arms up while moving to first mission
await multitask(left_arm.run_angle(1000, 300), right_arm.run_angle(1000,500))
await drive_base.straight(320)
# Slaps down "Silo" 3 times
await right_arm.run_angle(5000,-500, Stop.HOLD)
await right_arm.run_angle(5000,500, Stop.HOLD)
await right_arm.run_angle(5000,-500, Stop.HOLD)
await right_arm.run_angle(5000,500, Stop.HOLD)
await right_arm.run_angle(5000,-500, Stop.HOLD)
# Moves to the next mission, solving "Who lived here?"
await drive_base.turn(-20)
await drive_base.straight(277)
await drive_base.turn(20)
await drive_base.straight(65)
# Raises the right arm up slowly, before moving into position to solve "What's on Sale?"
await multitask(drive_base.turn(-30), right_arm.run_angle(50,500))
await drive_base.turn(45)
await drive_base.straight(-135)
await drive_base.turn(-60)
# Solves "What's on Sale?"
await drive_base.straight(90)
await left_arm.run_angle(1000,-450)
await drive_base.straight(-145)
await left_arm.run_angle(1000,450)
await drive_base.straight(10)
# Moves the robot back to base
await drive_base.turn(35)
await drive_base.straight(-600)
async def Run2():
# Drive robot to the front of "Forge" in preparation to solve "Heavy Lifting"
await drive_base.straight(200)
await drive_base.turn(-20)
await drive_base.straight(525)
await drive_base.turn(60)
# Throws "Heavy Lifting" to the side
await drive_base.straight(50)
await right_arm.run_angle(2000,1000)
await drive_base.straight(-50)
await drive_base.turn(45)
await drive_base.straight(50)
await right_arm.run_angle(350,-1000)
# Moves the robot back to base
await drive_base.turn(-100)
await drive_base.straight(-600)
async def Run3():
# Runs robot to "Angler Artifacts"
await drive_base.straight(915)
await drive_base.turn(-90)
# Solves "Angler Artifacts"
await drive_base.straight(60)
await left_arm.run_angle(10000,-15000)
# Moves to the Red home area
await drive_base.straight(-60)
await drive_base.turn(85)
await drive_base.straight(2000)
async def Run5():
await drive_base.straight(420)
await right_arm.run_angle(300,-100)
await drive_base.straight(-100)
await right_arm.run_angle(300, 100)
await drive_base.straight(-350)
async def Run6():
await drive_base.straight(420)
await right_arm.run_angle(300,-100)
await drive_base.straight(-100)
await right_arm.run_angle(300, 100)
await drive_base.straight(-350)
while True: while True:
await celebrate_mission_complete(CelebrationSound.LEVEL_UP) await celebrate_mission_complete(CelebrationSound.LEVEL_UP)
@@ -246,5 +220,6 @@ async def Run6():
left_motor.stop() left_motor.stop()
right_motor.stop() right_motor.stop()
await wait(100) #prevent loop from iterating fast await wait(100) #prevent loop from iterating fast
# Main execution loop # Main execution loop
run_task(main()) run_task(main())