diff options
Diffstat (limited to 'robot/problems/introduction/gyrosquare')
-rw-r--r-- | robot/problems/introduction/gyrosquare/common.py~ | 103 | ||||
-rw-r--r-- | robot/problems/introduction/gyrosquare/sl.py~ | 40 |
2 files changed, 0 insertions, 143 deletions
diff --git a/robot/problems/introduction/gyrosquare/common.py~ b/robot/problems/introduction/gyrosquare/common.py~ deleted file mode 100644 index 1c31f92..0000000 --- a/robot/problems/introduction/gyrosquare/common.py~ +++ /dev/null @@ -1,103 +0,0 @@ -# coding=utf-8 - -from python.util import has_token_sequence, string_almost_equal, \ - string_contains_number, get_tokens, get_numbers, get_exception_desc -from server.hints import Hint, HintSequence - -id = 210 -group = 'introduction' -number = 8 -visible = True - -solution = '''\ -from ev3dev import * -from mindstorms_widgets import mindstorms_widgets - -robot = mindstorms_widgets() -robot.connect_motor( 'left' ) -robot.connect_motor( 'right' ) -robot.connect_sensor( 'gyro' ) - -robot.gyro_set_mode( 'angle' ) -robot.reset_gyro() - -power = 20 -def forward_and_turnRight(power, angle): - robot.move_steering( 'on_for_seconds', direction=0, power=power, seconds=2 ) - robot.move_tank( 'on', lr_power=[power,-power] ) - while robot.gyro_sensor_measure( 'angle' ) < angle: - pass - robot.move_tank( 'off' ) - -forward_and_turnRight(power, 89) -forward_and_turnRight(power, 179) -forward_and_turnRight(power, 269) -forward_and_turnRight(power, 359) -''' - -hint_type = { - 'mW_init': Hint('mW_init'), - 'connectMotorLeft': Hint('connectMotorLeft'), - 'connectMotorRight': Hint('connectMotorRight'), - 'moveSteering': Hint('moveSteering'), - 'onForSeconds': Hint('onForSeconds'), - 'direction': Hint('direction'), - 'seconds': Hint('seconds'), - 'connectGyro': Hint('connectGyro'), - 'resetGyro': Hint('resetGyro'), - 'setGyroMode': Hint('setGyroMode'), - 'gyroMeasure': Hint('gyroMeasure'), - 'moveTank': Hint('moveTank'), - 'lrPower': Hint('lrPower'), - 'while': Hint('while') -} - -def hint( code): - tokens = get_tokens(code) - - # if code does not include mindstorms_widgets(), a student gets a hint that the robot should be somehow represented in the program - if not has_token_sequence(tokens, ['mindstorms_widgets', '(',')']): - return [{'id': 'mW_init'}] - - # if code does not include connect_motor statement, a student needs to learn about how to connect the motors - if not has_token_sequence(tokens, ['connect_motor']) and not has_token_sequence(tokens, ['left']): - return [{'id': 'connectMotorLeft'}] - - # if code does not include connect_motor statement, a student needs to learn about how to connect the motors - if not has_token_sequence(tokens, ['connect_motor']) and not has_token_sequence(tokens, ['right']): - return [{'id': 'connectMotorRight'}] - - if not has_token_sequence(tokens, ['connect_gyro','(', 'gyro', ')']): - return [{'id': 'connectGyro'}] - - if not has_token_sequence(tokens, ['reset_gyro()']): - return [{'id': 'resetGyro'}] - - if not has_token_sequence(tokens, ['gyro_set_mode']): - return [{'id': 'setGyroMode'}] - - if not has_token_sequence(tokens, ['gyro_sensor_measure()']): - return [{'id': 'gyroMeasure'}] - - if not has_token_sequence(tokens, ['move_tank']): - return [{'id': 'moveTank'}] - - if not has_token_sequence(tokens, ['move_steering']): - return [{'id': 'moveSteering'}] - - if not 'on_for_seconds' in code: - return [{'id': 'onForSeconds'}] - - if not 'direction' in code: - return [{'id': 'direction'}] - - if not 'seconds' in code: - return [{'id': 'seconds'}] - - if not 'lr_power' in code: - return [{'id': 'lrPower'}] - - if not has_token_sequence(tokens, ['while']): - return [{'id': 'while'}] - - return None diff --git a/robot/problems/introduction/gyrosquare/sl.py~ b/robot/problems/introduction/gyrosquare/sl.py~ deleted file mode 100644 index 00171e8..0000000 --- a/robot/problems/introduction/gyrosquare/sl.py~ +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -import server -mod = server.problems.load_language('python', 'sl') - -id = 210 -name = 'Kvadrat z žiroskopom' -slug = 'Kvadrat z žiroskopom' - -description = '''\ -<p>Robot naj prevozi kvadrat s stranico 20 cm; pri tem naj si pomaga z žiroskopom.</p>''' - -hint = { - 'mW_init':['''<p>Robota v programu predstavimo z mindstorms_widgets(): <code>robot = mindstorms_widgets()</code>.</p>'''], - 'connectMotorLeft':['''<p>Robotu moramo priključiti levi motor: <code>robot.connect_motor( 'left' )</code>.</p>'''], - 'connectMotorRight':['''<p>Robotu moramo priključiti desni motor: <code>robot.connect_motor( 'right' )</code>.</p>'''], - - 'connectGyro':['''<p>Robotu priključi žiroskop.</p>''', - '''<p><code>robot.connect_sensor( 'gyro' )</code>.</p>'''], - 'resetGyro':['''<p>Žiroskop na začetku resetiraj.</p>''', - '''<p><code>robot.reset_gyro()</code>.</p>'''], - 'setGyroMode':['''<p>Žiroskopu nastavi način delovanja na merjenje kotov.</p>''', - '''<p><code>robot.gyro_set_mode('angle')</code>.</p>'''], - 'gyroMeasure':['''<p>Preberi vrednost žiroskopa.</p>''', - '''<p><code>robot.gyro_sensor_measure()</code>.</p>'''], - 'lrPower':['''<p>Za obrat na mestu se morata kolesi vrteti z enako močjo in v nasprotni smeri.</p>''', - '''<p><code>robot.move_tank( 'on', lr_power=[hitrost, -hitrost], ... )</code>.</p>'''], - 'moveTank':['''<p>Robot naj se obrne na mestu.</p>''', - '''<p>Najprimernejša metoda za to je <code>move_tank</code></p>'''], - 'while':['''<p>Program naj čaka dokler je kot zasuka manjši od 90 stopinj.</p>''', - '''<p><code>robot.gyro_sensor_measure() < 90:</code></p>'''], - - 'moveSteering':['''<p>Sinhroniziraj motorja in ju zaženi.</p>''', - '''<p>Za sinhronizirano vožnjo je najbolj primerna metoda <code>robot.move_steering( ... )</code>.</p>'''], - 'onForSeconds':['''<p>Prvi argument metode <code>robot.move_steering</code> naj pove, da bo delovanje motorjev časovno omejeno.</p>''', - '''<p><code>robot.move_steering('on_for_seconds', ... )</code>.</p>'''], - 'direction':['''<p>Navedi smer premikanja motorjev, naravnost = 0.</p>''', - '''<p><code>robot.move_steering( 'on_for_seconds', direction=0, ... )</code>.</p>'''], - 'seconds':['''<p>Napiši časovno omejitev v sekundah.</p>''', - '''<p><code>robot.move_steering( 'on_for_seconds', direction=0, seconds=3 )</code>.</p>'''], -} |