Automatizovaná výzva - Python
Automatická výzva
V této výzvě musíte naprogramovat svého robota, aby navigoval v nemocnici, protože dodává léky pacientům v několika různých místnostech.
Tipy pro učitele
Zvyšte zapojení tím, že vytvoříte příběh o nemocnici! O jaký typ nemocnice se jedná a jakým typům pacientů nemocnice slouží?
Pravidla výzvy
-
Robot musí začínat a končit v počáteční zóně.
-
Celý robot musí být uvnitř lékárny, výtahu a pacientských pokojů a čekat na následující časy, aby mohl dokončit akce:
-
Lékárna: Na vyzvednutí léků počkejte alespoň 5 sekund.
-
Výtah: Počkejte alespoň 5 sekund, než se dostanete na další patro.
-
Pacientský pokoj: Vyčkejte alespoň 3 sekundy, než odešlete léky.
-
-
Robot nesmí přijít do styku s žádnými stěnami ani přes ně nesmí přejít.
-
Robot musí nejprve navštívit lékárnu, aby vyzvedl léky pro pacientské pokoje.
-
Robot musí navštívit každou z pacientských místností (v žádném konkrétním pořadí), aby mohl odevzdat léky.
-
Bavte se!
Řešení
–
pro učitele – sada nástrojů
Programovací rubriku pro hodnocení studentů naleznete zde (Google / .docx / .pdf).
Podívejte se níže na ukázkové řešení VEXcode V5 v Pythonu:
# Knihovna importuje
z vex import *
# Začátek kódu projektu
# Přejít do místnosti lékárny
drivetrain.drive_for(FORWARD, 900, MM)
drivetrain.turn_for(LEFT, 90, DEGREES)
drivetrain.drive_for(FORWARD, 1350, MM)
drivetrain.turn_for(RIGHT, 90, DEGREES)
drivetrain.drive_for(FORWARD, 600, MM)
wait(6, SECONDS)
# Přejít do místnosti 1
drivetrain.drive_for(REVERSE, 600, MM)
drivetrain.turn_for(RIGHT, 90, DEGREES)
drivetrain.drive_for(FORWARD, 600, MM)
drivetrain.turn_for(LEFT, 90, DEGREES)
drivetrain.drive_for(FORWARD, 600, MM)
wait(6 SECONDS)
# Jdi k výtahu
drivetrain.drive_for(REVERSE, 600, MM)
drivetrain.turn_for(RIGHT, 90, DEGREES)
drivetrain.drive_for(FORWARD, 600, MM)
drivetrain.turn_for(LEFT, 90, DEGREES)
drivetrain.drive_for(FORWARD, 600, MM)
wait(6 SECONDS)
# Jdi do místnosti 2
drivetrain.drive_for(REVERSE, 800, MM)
drivetrain.turn_for(LEFT, 90, DEGREES)
drivetrain.drive_for(FORWARD, 1000, MM)
drivetrain.turn_for(LEFT, 90, DEGREES)
drivetrain.drive_for(FORWARD, 800, MM)
wait(5, SECONDS)
# Jdi do místnosti 3
drivetrain.drive_for(REVERSE, 800, MM)
drivetrain.turn_for(LEFT, 90, DEGREES)
drivetrain.drive_for(FORWARD, 600, MM)
drivetrain.turn_for(RIGHT, 90, DEGREES)
drivetrain.drive_for(FORWARD, 800, MM)
wait(5, SECONDS)
# Jdi k výtahu
drivetrain.drive_for(REVERSE, 800, MM)
drivetrain.turn_for(LEFT, 90, DEGREES)
drivetrain.drive_for(FORWARD, 750, MM)
drivetrain.turn_for(LEFT, 90, DEGREES)
drivetrain.drive_for(VPŘED, 750, MM)
wait(6 SEKUND)
# Návrat do počáteční zóny
drivetrain.drive_for(ZADEK, 1500, MM)