stage.set_background("space")
sprite = codesters.Sprite("spaceship")
sprite.set_size(0.5)
sprite.go_to(-200, 0)
stage.set_gravity(10)
stage.disable_all_walls()
def space_bar():
sprite.jump(5)
# add other actions...
stage.event_key("space", space_bar)
def interval():
top_height = random.randint(50, 300)
# sprite = codesters.Sprite("image", x, y)
top_rock = codesters.Sprite("asteroid", 0, 0)
top_rock.set_height(top_height)
top_rock.set_gravity_off()
top_rock.set_y_speed(0)
top_rock.set_top(250)
bot_height = 350 - top_height
bot_rock = codesters.Sprite("asteroid", 0, 0)
bot_rock.set_height(bot_height)
# add any other actions...
stage.event_interval(interval, 2)
t = codesters.Teacher()
try:
params = t.find_text('set_bottom')
tval1 = t.get_indent_at_line(params[0][0])
tval2 = params[0][1]
except:
params = "DNE"
tval1 = "DNE"
tval2 = "DNE"
try:
params2 = t.find_text('set_gravity_off')
tval3 = t.get_indent_at_line(params2[1][0])
tval4 = params2[1][1]
except:
params2 = "DNE"
tval3 = "DNE"
tval4 = "DNE"
try:
speed = t.find_function("set_y_speed")
tval5 = t.get_indent_at_line(speed[1][0])
tval6 = speed[1][1]
except:
speed = "DNE"
tval5 = "DNE"
tval6 = "DNE"
t1 = TestObjective()
t1.add_success('bot_rock' in tval2 and tval1 == 4, "Great job!")
t1.add_failure(tval1 == "DNE" or tval2 == "DNE", "Did you add Set Bottom and assign it to bot_rock?")
t1.add_failure(tval1 != 4, "Make sure the Set Bottom command is indented four spaces to be inside the interval event.")
t1.add_failure('bot_rock' not in tval2 or 'sprite' in tval2, "Did you change the name in front of Set Bottom to bot_rock?")
t2 = TestObjective()
t2.add_success('bot_block' in tval4 and tval3 == 4, "Great job!")
t2.add_failure(tval3 == "DNE" or tval4 == "DNE", "Did you turn off gravity for the bottom rock?")
t2.add_failure(tval3 != 4, "Make sure the command is indented four spaces to be inside the interval event.")
t2.add_failure('bot_rock' not in tval4 or 'sprite' in tval4, "Did you change the name in front of Set Gravity Off to bot_rock?")
t3 = TestObjective()
t3.add_success(tval5 == 4 and tval6 == 0 , "Great job!")
t3.add_failure(tval5 == "DNE", "Did you add a Set Y Speed command?")
t3.add_failure(tval5 != 4, "Make sure your Set Y Speed command is indented four spaces inside the interval event!")
t3.add_failure('bot_rock.set' not in tval6, "Did you change the name in front of your Set Y Speed command to bot_rock?")
t3.add_failure('(5)' in tval6, "Did you change the number in your Set Y Speed command?")
# ds1 = codesters.Display(tval2)
tester = TestManager()
tester.add_test_list([t2, t3, t1])
tester.run_tests()
tester.display_first_feedback()
-
Run Code
-
Activity Submitted!
Submit Work
-
Next Activity
-
Stop Running Code
-
Show Chart
-
Show Console
-
Reset Code Editor
-
Codesters How To (opens in a new tab)