Reeborg’s World를 활용한 파이썬 함수의 활용

Reeborg’s World 파이썬 코딩

장애물 뛰어넘기 - for() 함수 사용

1차 프로그램 결과

  • 1차 프로그램
def turn_right():
    turn_left()
    turn_left()
    turn_left()
def jump_huddle():
    move()
    turn_left()
    move()
    turn_right()
    move()
    turn_right()
    move()
    turn_left()

for i in range(6):
    jump_huddle()

2차 프로그램 결과

  • 2차 프로그램
def turn_move_right():
    move()
    for i in range(3):
        turn_left()
def jump_huddle():
    move()
    turn_left()
    turn_move_right()
    turn_move_right()
    move()
    turn_left()

for i in range(6):
    jump_huddle()

장애물 뛰어넘기 - while()함수 사용

결과

프로그램 결과

def turn_move_right():
    move()
    for i in range(3):
        turn_left()
def jump_huddle():
    move()
    turn_left()
    turn_move_right()
    turn_move_right()
    move()
    turn_left()

while at_goal() != True :
    jump_huddle()

# while not at_goa():
#    jump_huddle()

랜덤 장애물 뛰어넘기 - While()함수 사용

https://cdn-std.droplr.net/files/acc_602408/HRzGgh

프로그램 결과

def turn_move_right():
    move()
    for i in range(3):
        turn_left()
def jump_huddle():
    turn_left()
    turn_move_right()
    turn_move_right()
    move()
    turn_left()

while at_goal() != True :
    move()
    while wall_in_front() == True :
      jump_huddle()

#while not at_goal():
#    if wall_in_front():
#        jump_huddle():
#    else:
#        move()

다양한 높이의 장애물 뛰어넘기

결과물

프로그램 결과

def turn_right():
    for k in range(2):
        for i in range(3):
            turn_left()
        move()

while at_goal() != True :
    if wall_on_right():
        if wall_in_front():
            turn_left()
        else:
            move()
    else:
        turn_right()

미로탈출

결과사진

프로그램 결과(1차)

def turn_right():
    for i in range(3):
        turn_left()
    move()

while at_goal() != True :
    if wall_on_right():
        if wall_in_front():
            turn_left()
        else:
            move()
    else:
        turn_right()

프로그램 결과(2차 - 앞쪽과 오른쪽에 벽이 없을 때)

def turn_right():
    for i in range(3):
        turn_left()
    move()

while at_goal() != True :
    if wall_on_right():
        if wall_in_front():
            turn_left()
        elif front_is_clear():
            move()
        else:
            move()
    else:
        turn_right()