# sprite = codesters.Rectangle(x, y, width, height, "color")
start = codesters.Rectangle(0, -250, 500, 50, "red")
# sprite = codesters.Rectangle(x, y, width, height, "color")
finish = codesters.Rectangle(0, 250, 500, 50, "green")
my_list = [-150, -50, 50, 150]
for value in my_list:
pass # delete after adding indented code
# add code here
# sprite = codesters.Rectangle(x, y, width, height, "color")
sprite = codesters.Rectangle(0, value, 500, 50, "gray")
# sprite = codesters.Sprite("image", x, y)
sprite = codesters.Sprite("turtle1", 0, -240)
sprite.set_size(.2)
sprite.turn_left(90)
def interval():
my_var = random.choice(my_list)
if my_var == -150 or my_var == 50:
pass # delete after adding indented code
# add your code here
sprite = codesters.Sprite("car1", -400, my_var)
sprite.turn_right(90)
sprite.set_size(0.5)
sprite.set_x_speed(2)
if my_var == -50 or my_var == 150:
pass # delete after adding indented code
# add your code here
sprite = codesters.Sprite("car2", 400, my_var)
sprite.turn_left(90)
sprite.set_size(0.5)
sprite.set_x_speed(-2)
stage.event_interval(interval, 0.5)
stage.disable_all_walls()
def up_key():
sprite.move_up(20)
# add other actions...
stage.event_key("up", up_key)
def down_key():
sprite.move_down(20)
# add other actions...
stage.event_key("down", down_key)
def left_key():
sprite.move_left(20)
# add other actions...
stage.event_key("left", left_key)
def right_key():
sprite.move_right(20)
# add other actions...
stage.event_key("right", right_key)
# sprite = codesters.Text("text")
result = codesters.Text("")
def collision(sprite, hit_sprite):
image = hit_sprite.get_image_name()
color = hit_sprite.get_color()
if color == "green":
pass # delete after adding indented code
# add your code here
result.set_text("YOU WIN!")
result.set_color("green")
if image == "car1" or image == "car2":
pass # delete after adding indented code
# add your code here
sprite.event_collision(collision)
t = codesters.Teacher()
set_texts = t.find_function("set_text")
set_colors = t.find_function("set_color")
go_tos = t.find_function("go_to")
try:
tval1 = set_texts[1][1].lower().replace(' ','')
tval1_indent = t.get_indent_at_line(set_texts[1][0])
except:
tval1 = "DNE"
tval1_indent = "DNE"
try:
tval2 = set_colors[1][1].lower().replace(' ','')
tval2_indent = t.get_indent_at_line(set_colors[1][0])
except:
tval2 = "DNE"
tval2_indent = "DNE"
try:
tval3 = go_tos[0][1].lower().replace(' ','')
tval3_indent = t.get_indent_at_line(go_tos[0][0])
except:
tval3 = "DNE"
tval3_indent = "DNE"
t1 = TestObjective()
t1.add_success('result.set_text("youlose!")' in tval1 and tval1_indent == 8, "Great job!")
t1.add_failure(tval1 == "DNE", "Did you add Set Text inside the if statement?")
t1.add_failure(tval1 != "DNE" and 'result.set_text' not in tval1, "Did you change sprite to result in .set_text()?")
t1.add_failure(tval1 != "DNE" and 'set_text("youlose!")' not in tval1, "Did you change the message in .set_text()?")
t1.add_failure('result.set_text("youlose!")' in tval1 and tval1_indent != 8, "Make sure Set Text is indented twice!")
t2 = TestObjective()
t2.add_success('result.set_color("red")' in tval2 and tval2_indent == 8, "Great job!")
t2.add_failure(tval2 == "DNE", "Did you add Set Color inside the if statement?")
t2.add_failure(tval2 != "DNE" and 'result.set_color' not in tval2, "Did you change sprite to result in .set_color()?")
t2.add_failure('result.set_color("red")' in tval2 and tval2_indent != 8, "Make sure Set Color is indented twice!")
t3 = TestObjective()
t3.add_success('sprite.go_to(0,-250)' in tval3 and tval3_indent == 8, "Great job!")
t3.add_failure(tval3 == "DNE", "Did you add Go To inside the new if statement?")
t3.add_failure(tval3 != "DNE" and 'sprite.go_to(0,-250)' not in tval3, "Did you change the .go_to() coordinates to (0, -250)?")
t3.add_failure('sprite.go_to(0,-250)' in tval3 and tval3_indent != 8, "Make sure .go_to() is indented twice!")
tester = TestManager()
tester.add_test_list([t1, t2, t3])
tester.run_tests()
tester.display_first_feedback()