Compare commits

..

2 Commits

4 changed files with 773 additions and 0 deletions

View File

@ -0,0 +1,248 @@
{
"walls": {
"1,1": [
"east"
],
"1,2": [
"east"
],
"1,3": [
"north"
],
"2,5": [
"north"
],
"1,5": [
"north"
],
"3,5": [
"north"
],
"4,5": [
"north"
],
"5,5": [
"north",
"east"
],
"2,3": [
"north",
"east"
],
"2,2": [
"east"
],
"3,2": [
"east"
],
"5,1": [
"east"
],
"5,3": [
"east",
"north"
],
"4,4": [
"east",
"north"
],
"4,2": [
"east"
],
"1,4": [
"east"
],
"5,2": [
"east",
"north"
],
"3,1": [
"north"
]
},
"small_tiles": false,
"rows": 6,
"cols": 6,
"tiles": {
"6,1": [
"mud"
],
"6,2": [
"mud"
],
"6,3": [
"mud"
],
"6,5": [
"mud"
],
"6,6": [
"mud"
],
"5,6": [
"mud"
],
"4,6": [
"mud"
],
"3,6": [
"mud"
],
"2,6": [
"mud"
],
"1,6": [
"mud"
],
"6,4": [
"grass"
],
"5,4": [
"#000000"
],
"5,5": [
"#000000"
],
"4,5": [
"#000000"
],
"3,5": [
"#000000"
],
"3,4": [
"#000000"
],
"4,4": [
"#000000"
],
"4,3": [
"#000000"
],
"3,3": [
"#000000"
],
"3,2": [
"#000000"
],
"4,2": [
"#000000"
],
"5,3": [
"#000000"
],
"5,2": [
"#000000"
],
"5,1": [
"#000000"
],
"4,1": [
"#000000"
],
"3,1": [
"#000000"
],
"2,1": [
"#000000"
],
"2,2": [
"#000000"
],
"2,3": [
"#000000"
],
"2,4": [
"#000000"
],
"2,5": [
"#000000"
],
"1,5": [
"#000000"
],
"1,4": [
"#000000"
],
"1,3": [
"#000000"
],
"1,2": [
"#000000"
],
"1,1": [
"#000000"
]
},
"goal": {
"possible_final_positions": [
[
6,
4
]
],
"position": {
"image": "racing_flag",
"x": 6,
"y": 4
}
},
"robots": [
{
"x": 3,
"y": 4,
"objects": {},
"model": "classic",
"_orientation": 3,
"_is_leaky": true,
"_prev_x": 3,
"_prev_y": 3,
"_prev_orientation": 2,
"_trace_history": [
{
"color": "seagreen",
"thickness": 2,
"prev_x": 140,
"x": 140,
"prev_y": 170,
"y": 210,
"grid_x": 3,
"grid_y": 3
},
{
"color": "seagreen",
"thickness": 2,
"prev_x": 140,
"x": 140,
"prev_y": 200,
"y": 210,
"grid_x": 3,
"grid_y": 3
}
],
"_trace_style": "default",
"_trace_color": "seagreen",
"__id": 80,
"initial_position": [
3,
3
]
}
],
"description": [
"",
"<h1>Lost in a maze</h1>",
"<p>Reeborg was exploring a dark maze and the battery in its flashlight ran out.</p>",
"<p>Write a program using an <code>if/elif/else</code> statement so Reeborg can find the exit. ",
"The secret is to have Reeborg follow along the right edge of the maze, ",
"turning right if it can, going straight ahead if it ",
"cant turn right, or turning left as a last resort.</p>",
"<h3>What you need to know</h3>",
"<ul><li>The functions <code>move()</code> and <code>turn_left()</code>.</li>",
"<li>Either the test <code>front_is_clear()</code> or <code>wall_in_front()</code>,",
"<code>right_is_clear()</code> or <code>wall_on_right()</code>, and <code>at_goal()</code>.</li>",
"<li>How to use a <code>while</code> loop and <code>if/elif/else</code> statements.</li>",
"<li>It might be useful to know how to use the negation of a test (<code>not</code> in Python).</li></ul>",
"DIFFICULTY4",
""
]
}

View File

@ -0,0 +1,248 @@
{
"walls": {
"1,1": [
"east"
],
"1,2": [
"east"
],
"1,3": [
"north"
],
"2,5": [
"north"
],
"1,5": [
"north"
],
"3,5": [
"north"
],
"4,5": [
"north"
],
"5,5": [
"north",
"east"
],
"2,3": [
"north",
"east"
],
"2,2": [
"east"
],
"3,2": [
"east"
],
"5,1": [
"east"
],
"5,3": [
"east",
"north"
],
"4,4": [
"east",
"north"
],
"4,2": [
"east"
],
"1,4": [
"east"
],
"5,2": [
"east",
"north"
],
"3,1": [
"north"
]
},
"small_tiles": false,
"rows": 6,
"cols": 6,
"tiles": {
"6,1": [
"mud"
],
"6,2": [
"mud"
],
"6,3": [
"mud"
],
"6,5": [
"mud"
],
"6,6": [
"mud"
],
"5,6": [
"mud"
],
"4,6": [
"mud"
],
"3,6": [
"mud"
],
"2,6": [
"mud"
],
"1,6": [
"mud"
],
"6,4": [
"grass"
],
"5,4": [
"#000000"
],
"5,5": [
"#000000"
],
"4,5": [
"#000000"
],
"3,5": [
"#000000"
],
"3,4": [
"#000000"
],
"4,4": [
"#000000"
],
"4,3": [
"#000000"
],
"3,3": [
"#000000"
],
"3,2": [
"#000000"
],
"4,2": [
"#000000"
],
"5,3": [
"#000000"
],
"5,2": [
"#000000"
],
"5,1": [
"#000000"
],
"4,1": [
"#000000"
],
"3,1": [
"#000000"
],
"2,1": [
"#000000"
],
"2,2": [
"#000000"
],
"2,3": [
"#000000"
],
"2,4": [
"#000000"
],
"2,5": [
"#000000"
],
"1,5": [
"#000000"
],
"1,4": [
"#000000"
],
"1,3": [
"#000000"
],
"1,2": [
"#000000"
],
"1,1": [
"#000000"
]
},
"goal": {
"possible_final_positions": [
[
6,
4
]
],
"position": {
"image": "racing_flag",
"x": 6,
"y": 4
}
},
"robots": [
{
"x": 3,
"y": 4,
"objects": {},
"model": "classic",
"_orientation": 1,
"_is_leaky": true,
"_prev_x": 3,
"_prev_y": 3,
"_prev_orientation": 2,
"_trace_history": [
{
"color": "seagreen",
"thickness": 2,
"prev_x": 140,
"x": 140,
"prev_y": 170,
"y": 210,
"grid_x": 3,
"grid_y": 3
},
{
"color": "seagreen",
"thickness": 2,
"prev_x": 140,
"x": 140,
"prev_y": 200,
"y": 210,
"grid_x": 3,
"grid_y": 3
}
],
"_trace_style": "default",
"_trace_color": "seagreen",
"__id": 80,
"initial_position": [
3,
3
]
}
],
"description": [
"",
"<h1>Lost in a maze</h1>",
"<p>Reeborg was exploring a dark maze and the battery in its flashlight ran out.</p>",
"<p>Write a program using an <code>if/elif/else</code> statement so Reeborg can find the exit. ",
"The secret is to have Reeborg follow along the right edge of the maze, ",
"turning right if it can, going straight ahead if it ",
"cant turn right, or turning left as a last resort.</p>",
"<h3>What you need to know</h3>",
"<ul><li>The functions <code>move()</code> and <code>turn_left()</code>.</li>",
"<li>Either the test <code>front_is_clear()</code> or <code>wall_in_front()</code>,",
"<code>right_is_clear()</code> or <code>wall_on_right()</code>, and <code>at_goal()</code>.</li>",
"<li>How to use a <code>while</code> loop and <code>if/elif/else</code> statements.</li>",
"<li>It might be useful to know how to use the negation of a test (<code>not</code> in Python).</li></ul>",
"DIFFICULTY4",
""
]
}

View File

@ -0,0 +1,248 @@
{
"walls": {
"1,1": [
"east"
],
"1,2": [
"east"
],
"1,3": [
"north"
],
"2,5": [
"north"
],
"1,5": [
"north"
],
"3,5": [
"north"
],
"4,5": [
"north"
],
"5,5": [
"north",
"east"
],
"2,3": [
"north",
"east"
],
"2,2": [
"east"
],
"3,2": [
"east"
],
"5,1": [
"east"
],
"5,3": [
"east",
"north"
],
"4,4": [
"east",
"north"
],
"4,2": [
"east"
],
"1,4": [
"east"
],
"5,2": [
"east",
"north"
],
"3,1": [
"north"
]
},
"small_tiles": false,
"rows": 6,
"cols": 6,
"tiles": {
"6,1": [
"mud"
],
"6,2": [
"mud"
],
"6,3": [
"mud"
],
"6,5": [
"mud"
],
"6,6": [
"mud"
],
"5,6": [
"mud"
],
"4,6": [
"mud"
],
"3,6": [
"mud"
],
"2,6": [
"mud"
],
"1,6": [
"mud"
],
"6,4": [
"grass"
],
"5,4": [
"#000000"
],
"5,5": [
"#000000"
],
"4,5": [
"#000000"
],
"3,5": [
"#000000"
],
"3,4": [
"#000000"
],
"4,4": [
"#000000"
],
"4,3": [
"#000000"
],
"3,3": [
"#000000"
],
"3,2": [
"#000000"
],
"4,2": [
"#000000"
],
"5,3": [
"#000000"
],
"5,2": [
"#000000"
],
"5,1": [
"#000000"
],
"4,1": [
"#000000"
],
"3,1": [
"#000000"
],
"2,1": [
"#000000"
],
"2,2": [
"#000000"
],
"2,3": [
"#000000"
],
"2,4": [
"#000000"
],
"2,5": [
"#000000"
],
"1,5": [
"#000000"
],
"1,4": [
"#000000"
],
"1,3": [
"#000000"
],
"1,2": [
"#000000"
],
"1,1": [
"#000000"
]
},
"goal": {
"possible_final_positions": [
[
6,
4
]
],
"position": {
"image": "racing_flag",
"x": 6,
"y": 4
}
},
"robots": [
{
"x": 3,
"y": 4,
"objects": {},
"model": "classic",
"_orientation": 2,
"_is_leaky": true,
"_prev_x": 3,
"_prev_y": 3,
"_prev_orientation": 2,
"_trace_history": [
{
"color": "seagreen",
"thickness": 2,
"prev_x": 140,
"x": 140,
"prev_y": 170,
"y": 210,
"grid_x": 3,
"grid_y": 3
},
{
"color": "seagreen",
"thickness": 2,
"prev_x": 140,
"x": 140,
"prev_y": 200,
"y": 210,
"grid_x": 3,
"grid_y": 3
}
],
"_trace_style": "default",
"_trace_color": "seagreen",
"__id": 80,
"initial_position": [
3,
3
]
}
],
"description": [
"",
"<h1>Lost in a maze</h1>",
"<p>Reeborg was exploring a dark maze and the battery in its flashlight ran out.</p>",
"<p>Write a program using an <code>if/elif/else</code> statement so Reeborg can find the exit. ",
"The secret is to have Reeborg follow along the right edge of the maze, ",
"turning right if it can, going straight ahead if it ",
"cant turn right, or turning left as a last resort.</p>",
"<h3>What you need to know</h3>",
"<ul><li>The functions <code>move()</code> and <code>turn_left()</code>.</li>",
"<li>Either the test <code>front_is_clear()</code> or <code>wall_in_front()</code>,",
"<code>right_is_clear()</code> or <code>wall_on_right()</code>, and <code>at_goal()</code>.</li>",
"<li>How to use a <code>while</code> loop and <code>if/elif/else</code> statements.</li>",
"<li>It might be useful to know how to use the negation of a test (<code>not</code> in Python).</li></ul>",
"DIFFICULTY4",
""
]
}

29
006/task.py Normal file
View File

@ -0,0 +1,29 @@
# Code to use at https://reeborg.ca/reeborg.html?lang=en&mode=python&menu=worlds%2Fmenus%2Freeborg_intro_en.json&name=Maze&url=worlds%2Ftutorial_en%2Fmaze1.json
# Reeborg was exploring a dark maze and the battery in its flashlight ran out.
# Write a program using an if/elif/else statement so Reeborg can find the exit. The secret is to have Reeborg follow along the right edge of the maze, turning right if it can, going straight ahead if it cant turn right, or turning left as a last resort.
# What you need to know
# The functions move() and turn_left().
# Either the test front_is_clear() or wall_in_front(), right_is_clear() or wall_on_right(), and at_goal().
# How to use a while loop and if/elif/else statements.
# It might be useful to know how to use the negation of a test (not in Python).
def turn_right():
turn_left()
turn_left()
turn_left()
while front_is_clear():
move()
turn_left()
while not at_goal():
if not wall_on_right():
turn_right()
move()
elif not wall_in_front():
move()
else:
turn_left()