# data[].attributes.body
호텔 룸서비스 용 로봇 제작을 의뢰받았다. 호텔 객실에는 손님들이 사용한 수건(오브젝트)이 놓여 있다. 방은 왼쪽, 오른쪽 중 한쪽 방만 열려 있고 열려 있는 방에 들어가 수건이 있으면 다 걷어와야 한다.

미션1)

미션2)

미션3)

# data[].attributes.headline
학생-선생님 추격전(이원준, 이제하)

# data[].attributes.subject
학생-선생님 추격전(이원준, 이제하)

# data[].attributes.body
기숙사를 탈출해 밖에 돌아다니던 제하는 어두운 밤에 앞이 잘 안보여 무작위로 돌아다닌다. 선생님은 그것을 알고 똑같이 제하를 쫓아 돌아다니지만 앞이 잘 보이지 않는다.

미션 1) 방으로 돌아간다.

미션 2) 선생님을 마주치면 안된다.

미션3) 벽을 만나면 돌아선다.

import random

help(UsedRobot)

robot2 = UsedRobot(4, 15, 'south')

def turn_right():

repeat 3:

turn_left()

def r1():

news1 = random.randrange(1, 5)

if news1 == 1:

turn_left()

elif news1 == 3:

turn_left()

turn_left()

elif news1 == 4:

turn_right()

if wall_in_front():

r1()

else:

move()

return

def r2():

news1 = random.randrange(1, 5)

if news1 == 1:

robot2.turn_left()

elif news1 == 3:

robot2.turn_left()

robot2.turn_left()

elif news1 == 4:

repeat 3:

robot2.turn_left()

if robot2.wall_in_front():

r2()

else:

robot2.move()

return

def object_not_here():

if object_here():

return False

else:

return True

while object_not_here():

r1()

r2()

print("success")

*미션2에 대한 코드는 구현하지 못했습니다.

# data[].attributes.body
한 로봇은 운동장을 한바퀴 돈 후 자판기에 도착하고, 다른 로봇은 자신이 들어갈 교실을 찾아 들어간다.

미션 1) 운동장을 한바퀴 돈다.

미션 2) 자판기 기계를 찾는다.

미션 3) 자신이 들어갈 교실을 찾아 들어간다.

코드

R1=UsedRobot(20,4,'west')

j=0

def turn_right() :

repeat 3 :

turn_left()

while j<=5:

if front_is_clear():

move()

else:

turn_left()

j+=1

for i in range(2):

turn_left()

move()

while not at_goal():

if right_is_clear():

turn_right()

move()

elif front_is_clear():

move()

else:

turn_left()

if front_is_clear():

move()

else:

turn_right()

for i in range(2):

turn_left()

move

i=0

R1.move()

while i==0 :

repeat 4:

R1.turn_left()

R1.move()

if not R1.object_here() :

R1.turn_left()

R1.turn_left()

R1.move()

R1.turn_left()

R1.turn_left()

if R1.object_here() :

R1.take()

i+=1

if i==0 :

R1.move()

R1.move()

# data[].attributes.headline
체육대회를 하던 태경이와 도경이는 마지막

# data[].attributes.body
체육대회를 하던 태경이와 도경이는 마지막 종목인 판 뒤집기만을 남겨두고 있다. 두 팀은 동점으로, 승리는 이 판 뒤집기에 달려있다. 과연 체육대회의 우승을 차지할 팀은 어느 팀인가?!!

미션 1: 태경이는 네모 모양 판을 별 모양 판으로 바꾼다.

미션2: 도경이는 별 모양 판을 네모 모양 판으로 바꾼다.

미션3: 경기가 끝난 뒤 경기 결과를 확인할 수 있도록 한다.

def left():

turn_left()

if front_is_clear():

move()

def right():

repeat 3:

turn_left()

if front_is_clear():

move()

def back():

repeat 2:

turn_left()

if front_is_clear():

move()

def left2():

robot2.turn_left()

if robot2.front_is_clear():

robot2.move()

def right2():

repeat 3:

robot2.turn_left()

if robot2.front_is_clear():

robot2.move()

def back2():

repeat 2:

robot2.turn_left()

if robot2.front_is_clear():

robot2.move()

def flip1():

if object_here("square"):

take()

put("star")

def flip2():

if robot2.object_here("star"):

robot2.take()

robot2.put("square")

robot2=UsedRobot(20,15,"west")

for k in range(25):

robot2.take("square")

import random

for i in range(25):

a=random.randint(0,4)

if a==0:

if front_is_clear():

move()

flip1()

elif a==1:

left()

flip1()

elif a==2:

right()

flip1()

elif a==3:

back()

flip1()

b=random.randint(0,4)

if b==0:

if robot2.front_is_clear():

robot2.move()

flip2()

elif a==1:

left2()

flip2()

elif a==2:

right2()

flip2()

elif a==3:

back2()

flip2()

# data[].attributes.body
과수원에 사과와 바나나가 열려있다. 한 로봇은 사과만, 다른 로봇은 바나나만 수확하도록 만드려고 한다.

미션 1)사과 따로, 바나나 따로 수확한다

미션 2)벽에 부딪히지 않도록 한다

미션 3)수확한 과일의 개수를 출력한다

help(UsedRobot)

robot2 = UsedRobot(1, 1, 'east')

a = 0

b = 0

def turn_right():

repeat 3:

turn_left()

while True:

if front_is_clear():

move()

else:

turn_left()

if wall_on_right() and is_facing_north():

move()

turn_left()

else:

turn_left()

turn_left()

move()

turn_right()

if object_here("apple"):

take("apple")

a = a + 1

if at_goal():

break

print('사과를' + str(a) + '개 수확했습니다')

while True:

if robot2.front_is_clear():

robot2.move()

else:

robot2.turn_left()

if robot2.wall_on_right() and robot2.is_facing_north():

robot2.move()

robot2.turn_left()

else:

robot2.turn_left()

robot2.turn_left()

robot2.move()

robot2.turn_left()

robot2.turn_left()

robot2.turn_left()

if robot2.object_here("banana"):

robot2.take("banana")

b = b + 1

if robot2.at_goal():

break

print('바나나를' + str(b) + '개 수확했습니다')

# data[].attributes.headline
양병후, 이용준 무궁화꽃이피었습니다!

# data[].attributes.subject
양병후, 이용준 무궁화꽃이피었습니다!

# data[].attributes.body
오징어게임에 참가한 리보그 4명

영희가 부르는 숫자보다 적게 움직여 목적지에 도달하라!

미션1 영희가 부르는 숫자보다 적은 수 만큼 이동하기

미션2 미로를 빠르게 통과하기

미션3 오른쪽 우선 방향으로 이동하기

코드

import random

def turn_right(robot) :

for _ in range(3) :

robot.turn_left()

def left_is_clear(robot) :

robot.turn_left()

if robot.front_is_clear() :

turn_right(robot)

return True

else :

turn_right(robot)

return False

def is_facing_west(robot) :

turn_right(robot)

if robot.is_facing_north() :

robot.turn_left()

return True

else :

robot.turn_left()

return False

def younghee(robot) :

global stop

stop = random.randint(8,10)

print(str(stop)+'번 이상 움직인 사람은 탈락')

robot.turn_left()

turn_right(robot)

def run(robot) :

global stop

d = random.randrange(10,11)

for _ in range(d) :

if is_facing_west(robot) :

robot.turn_left()

robot.turn_left()

else :

if robot.front_is_clear() :

robot.move()

elif robot.right_is_clear() :

turn_right(robot)

robot.move()

elif left_is_clear(robot) :

robot.turn_left()

robot.move()

else :

robot.turn_left()

robot.turn_left()

robot.move()

if d > stop :

print(robot, "억! 사망")

return "die"

else :

return "survive"

robotyounghee = UsedRobot(20,4,'east')

stop = 0

robot1 = UsedRobot(1,1,'east')

robot2 = UsedRobot(1,3,'east')

robot3 = UsedRobot(1,5,'east')

robot4 = UsedRobot(1,7,'east')

def game() :

global robotyounghee

global robot1

global robot2

global robot3

global robot4

robot1_life = 1

robot2_life = 1

robot3_life = 1

robot4_life = 1

while True :

younghee(robotyounghee)

if robot1_life == 1 :

if run(robot1) == "die" :

robot1_life = 0

if robot2_life == 1 :

if run(robot2) == "die" :

robot2_life = 0

if robot3_life == 1 :

if run(robot3) == "die" :

robot3_life = 0

if robot4_life == 1 :

if run(robot4) == "die" :

robot4_life = 0

break

game()

# data[].attributes.body
물류 센터가 너무 복잡하여 사람 대신 로봇 두 대를 구매하였다. 한 로봇은 물류 창고에서 짐을 옮겨 운반 위치에 놓고, 한 로봇은 이를 옮겨 정리한다.

미션1: 모든 물건을 운반 위치로 이동

미션2: 물건을 창고에 정리

미션3: 물건을 다 놓은 후 "운반 끝" 출력

코드:

a = UsedRobot(10, 15, 'east')

def turn_right():

repeat 3:

turn_left()

def turn_around():

turn_left()

turn_left()

def carry_goods():

global goods

if object_here():

take()

goods += 1

else:

pass

if right_is_clear():

turn_right()

move()

elif front_is_clear():

move()

else:

turn_left()

if front_is_clear():

move()

else:

turn_left()

move()

set_max_nb_steps(5000)

goods = 0

while goods < 12:

carry_goods()

repeat 2:

turn_right()

move()

move()

repeat 12:

put()

'''

def left_is_clear():

turn_left()

b = front_is_clear()

turn_right()

return b

def object_put():

while front_is_clear():

if right_is_clear():

global c

c ==12

turn_right()

move()

put()

c = c - 1

turn_around()

move()

turn_right()

move()

elif left_is_clear():

turn_left()

move()

put()

c = c - 1

turn_around()

move()

turn_left()

move()

else:

move()

def go_out():

repeat 14:

move()

turn_left()

repeat 12:

a.take()

repeat 3:

a.turn_left()

repeat 14:

a.move()

a.turn_left()

a.move()

a.move()

a.turn_left()

a.move()

a.object_put()

a.go_out()

repeat 3:

a.move()

a.turn_left()

a.move()

a.object_put()

a.go_out()

if c == 0:

print("운반 끝")

'''

# data[].attributes.headline
정규원, 장원준 / 가위바위보 달리기 게임

# data[].attributes.subject
정규원, 장원준 / 가위바위보 달리기 게임

# data[].attributes.body
가위바위보 달리기 게임이다. 두 로봇이 랜덤으로 가위 바위 보 셋 중 하나를 택하여 가위바위로를 진행한 후, 결과에 따라 앞으로 10칸(이기면), 앞으로 3칸(비기면), 정지(지면)한다. 가위바위로를 한 후 승무패 결과에 따라 꼬불꼬불한 길을 지나가며, 가운데 있는 목표지점에 먼저 도달한 로봇이 승리하는 게임이다.

미션1. 가위바위보를 해서 이긴다.

미션2. 벽을 만나면 위치에 따라 좌우로 방향을 전환한다.

미션3. 목표지점에 도달하면 승리한다.

코드를 모두 만들고 오류를 검수하는 과정에서 객체가 2개일 때, 한 개의 객체에만 움직이는 함수를 실행하는 것이 현재로써는 어렵다는 것을 알게 되어 시간 관계 상 동영상 대신 사진으로 대체한점 양해 부탁드립니다.

import random

def rsp():

robo1 = random.randint(0, 2) # 0: 가위, 1: 바위, 2: 보

robo2 = random.randint(0, 2)

choices = ['가위', '바위', '보'] #숫자를 글자로

robot1rsp = choices[robo1]

robot2rsp = choices[robo2]

if (robo1 - robo2 + 3) % 3 == 1: #판정

result = '플레이어 1 승리'

return 1

elif (robo1 - robo2 + 3) % 3 == 2:

result = '플레이어 2 승리'

return 2

else:

result = '비김'

return 0

# 결과 출력

print(f'로봇 1: {robot1rsp}, 로봇 2: {robot2rsp} -> {result}')

help (UsedRobot)

robot1 = UsedRobot(1,1,'east')

robot2 = UsedRobot(20,15,'west')

def turn_right():

repeat 3:

turn_left()

def win(): #이겼을 때 움직임

count = 0

count1 = 0

repeat 10:

move()

count = count+1

if wall_in_front():

if count1%4==0 or count1%4==1:

turn_left()

else:

turn_right()

count1=count1+1

def draw(): #비겼을 때 움직임

global count

global count1

repeat 3:

move()

count = count+1

if wall_in_front():

if count1%4==0 or count1%4==1:

turn_left()

else:

turn_right()

count1=count1+1

while True: #게임실행

rsp()

if r1move == 0:

robot1.draw()

robot2.draw()

elif r1move == 1:

robot1.win()

else:

robot2.win()

if at_goal():

print('게임 종료')

break

# data[].attributes.headline
용사의 공주 구하기(신재원, 이충현)

# data[].attributes.subject
용사의 공주 구하기(신재원, 이충현)

# data[].attributes.body
어느 날, 마왕에 의해 공주가 납치되었다. 마을의 평화를 지키는 용사는 마왕을 무찌르고, 공주를 구해야 한다.

미션 1: 미로를 돌며 레벨을 올린다

미션 2: 악당과 싸워서 이긴다

미션 3: 공주를 구한다

import random

reeborg = UsedRobot()

set_max_nb_steps(2000)

level = 0

hp_me = 10

mana = 100

hp_opp = 15

skill = 0

def turn_right():

repeat 3:

turn_left()

def turn_around():

repeat 2:

turn_left()

def left_is_clear():

turn_left()

a = front_is_clear()

turn_right()

return a

def jump():

turn_right()

move()

turn_left()

move()

turn_left()

move()

turn_right()

def maze():

global level

global hp_me

while True:

if object_here():

take()

level += 1

hp_me += 1

if right_is_clear(): turn_right()

elif (wall_in_front() and left_is_clear()): turn_left()

elif wall_in_front(): turn_around()

move()

if level == 7:

break

def attack():

global hp_opp

global hp_me

global mana

global skill

print("상대의 체력은 : ", hp_opp)

print("나의 체력은 : ", hp_me)

print("나의 보유 마나는 : ", mana)

print("어떠한 공격을 선택하시겠습니까 :")

print("파이어볼(1), 칼날쇄도(2), 말살(3)")

skill = int(input())

if skill == 1:

print("파이어볼을 사용하셨습니다")

hp_opp -= 5

mana -= 20

elif skill == 2:

print("칼날쇄도를 사용하셨습니다")

hp_opp -= 3

mana -= 10

elif skill == 3:

print("말살을 사용하셨습니다")

hp_opp -= 8

mana -= 40

def attacked():

global hp_me

hp_me -= random.randrange(3, 6)

def fight():

repeat 3:

move()

turn_left()

repeat 4:

move()

while True:

if hp_me <= 0:

print("Game Over")

break

if hp_opp <= 0:

print("상대방을 처치하셨습니다")

break

attack()

attacked()

def way_to_princess():

repeat 6:

move()

turn_left()

while True:

if at_goal():

print("당신은 공주를 구하셨습니다!!!")

print("fine")

break

if front_is_clear():

move()

else:

jump()

Enemy = UsedRobot(19, 8, 'South')

print("당신은 마왕을 물리치고 공주를 구해야 합니다")

print("별을 모아 레벨을 올리고 악당을 물리친 뒤,")

print("공주를 구해 모두의 평화를 지키십시오.")

maze()

fight()

repeat 2:

Enemy.turn_left()

for _ in range(6):

Enemy.move()

way_to_princess()

# data[].attributes.body
두 로봇이 대결을 한다. 별을 더 많이 먹어 승리하자.

미션 1. 별을 많이 먹는다.

미션 2. 끝에 도달한다.

미션 3. 점수를 표시한다.

help(UsedRobot)

robot2 = UsedRobot(1, 7, 'east')

import random

count = 0

count2 = 0

def turn_right():

repeat 3:

turn_left()

def turn_around():

repeat 2:

turn_left()

def aturn_right():

repeat 3:

robot2.turn_left()

def aturn_around():

repeat 2:

robot2.turn_left()

move()

robot2.move()

while (front_is_clear()):

dir = random.randrange(1, 6)

if dir == 1:

turn_left()

move()

if object_here():

take()

count = count + 1

turn_around()

move()

turn_left()

elif dir == 2:

turn_right()

move()

if object_here():

take()

count = count + 1

turn_around()

move()

turn_right()

else:

move()

if object_here():

take()

count = count + 1

print(count)

while (robot2.front_is_clear()):

dir2 = random.randrange(1, 10)

if dir2 == 1:

robot2.turn_left()

robot2.move()

if robot2.object_here():

robot2.take()

count2 = count2 + 1

aturn_around()

robot2.move()

robot2.turn_left()

elif dir2 == 2:

aturn_right()

robot2.move()

if robot2.object_here():

robot2.take()

count2 = count2 + 1

aturn_around()

robot2.move()

aturn_right()

else:

robot2.move()

if robot2.object_here():

robot2.take()

count2 = count2 + 1

print(count2)

# data[].attributes.body
robot2 = UsedRobot(20, 0, 'west')

while not at_goal():

if object_here():

take()

if right_is_clear():

repeat 3:

turn_left()

move()

else:

if wall_in_front():

turn_left()

else:

move()

if robot2.object_here():

robot2.take()

if robot2.right_is_clear():

repeat 3:

robot2.turn_left()

robot2.move()

else:

if robot2.wall_in_front():

robot2.turn_left()

else:

robot2.move()

while not robot2.at_goal():

if robot2.object_here():

robot2.take()

if robot2.right_is_clear():

repeat 3:

robot2.turn_left()

robot2.move()

else:

if robot2.wall_in_front():

robot2.turn_left()

else:

robot2.move()

# data[].attributes.headline
기숙사에 인과영 학생들이 각자의 방에 있

# data[].attributes.body
기숙사에 인과영 학생들이 각자의 방에 있습니다. 사감선생님(로봇)께서 아이들이 창문을 잘 닫았는지, 각 방에 몇 명씩 있는지 확인하고자 합니다.

미션1) 창문이 닫혔는지 확인합니다.

미션2)창문이 닫혀있다면 방에 사과를 줍니다.

미션3)각 방의 인원수를 확인하고 출력합니다.

help(UsedRobot)

robot2 = UsedRobot(20, 8, 'east')

def turn_right():

repeat 3:

turn_left()

def turn_around():

repeat 2:

turn_left()

def check_window():

move()

move()

if wall_in_front():

put()

turn_around()

move()

move()

repeat 5:

move()

turn_left()

repeat 3:

move()

repeat 2:

check_window()

turn_left()

repeat 4:

move()

turn_left()

check_window()

repeat 6:

move()

repeat 2:

check_window()

turn_left()

repeat 4:

move()

turn_left()

check_window()

turn_left()

move()

move()

turn_right()

move()

move()

def Turn_right():

repeat 3:

robot2.turn_left()

def Turn_around():

repeat 2:

robot2.turn_left()

def left_is_clear():

robot2.turn_left()

a = robot2.front_is_clear()

robot2.turn_right()

return a

def left_is_clear():

robot2.turn_left()

a = robot2.front_is_clear()

robot2.turn_right()

return a

people=0

def Search():

people=0

if robot2.right_is_clear():

Turn_right()

robot2.move()

while robot2.object_here():

robot2.take()

people+=1

if not robot2.object_here():

print(people,'명',sep="")

break

Turn_around()

robot2.move()

Turn_right()

elif robot2.front_is_clear():

robot2.move()

else:

robot2.turn_around()

Turn_around()

repeat 4:

robot2.move()

Turn_right()

repeat 3:

robot2.move()

robot2.turn_left()

robot2.move()

robot2.move()

Search()

repeat 2:

repeat 4:

robot2.move()

Search()

robot2.move()

robot2.move()

robot2.turn_left()

repeat 6:

robot2.move()

robot2.turn_left()

robot2.move()

robot2.move()

Search()

repeat 2:

repeat 4:

robot2.move()

Search()

robot2.move()

robot2.move()

robot2.turn_left()

robot2.move()

robot2.move()

# data[].attributes.body
배달 기사가 꽃 배달을 하는 미션이다. 배달 기사는 앞에 벽이 없다면 앞으로 움직이고, 벽이 있다면 왼쪽으로 회전해 계속 이동을 반복하는 방식으로 움직인다. 배달이 완료되면 꽃 배달을 주문한 사람이 문 앞으로 나가 꽃을 수거한다.

미션 1) 배달 기사의 꽃 수거

미션 2) 배달하기

미션 3) 꽃 수거하기

help(UsedRobot)

robot2 = UsedRobot(18, 8, 'east')

def turn_right():

repeat 3:

turn_left()

def rider_move():

move()

move()

turn_left()

move()

move()

repeat 3:

take()

set_trace_style("thick")

while True:

if at_goal():

put()

break

if front_is_clear():

move()

else:

turn_left()

def reciever_move():

robot2.move()

robot2.take()

rider_move()

reciever_move()

# data[].attributes.body
두 로봇이 호텔에서 서빙을 한다. 한 로봇이 호텔 외부에서 음식을 구하여 다른 로봇에 가져다주면 그 로봇이 문이 열린 객실에 음식을 가져다 두고 문을 닫는다. 만약 가져다 줄 음식이 없으면 로봇은 회전하며 춤을 춘다.

미션 1) 외부에서 음식을 줍는다

미션 2) 받은 음식을 객실에 가져다준다

미션 3) 받을 음식이 없으면 춤을 춘다

아직 미완성이지만 아래 두 코드를 잘 합치면 정상적으로 코드가 작동할 것이다ㅜ

1. robot = UsedRobot(1, 15, 'south')

def turn_left_s():

robot.turn_left()

def turn_right_s():

repeat 3:

robot.turn_left()

lastx = 1

lasty = 15

x = 1

y = 15

obj = 0

#dire = "south"

#y움직이고 x움직이자

def go46():

global x

global y

global lastx

global lasty

facing_north = robot.is_facing_north()

if(x>3):

if(robot.is_facing_north()):

turn_left_s()

else:

turn_right_s()

while(x != 4):

robot.move()

x-=1

turn_right_s()

while(y < 6):

robot.move()

y+=1

robot.put()

turn_left_s()

turn_left_s()

x = 4;y=6

while(y != lasty):

robot.move()

y-=1

turn_right()

while(x != lastx):

robot.move()

x+=1

if(facing_north):

turn_left_s()

else:

turn_right_s()

elif(x<=3):

if not(robot.is_facing_north()):

turn_left_s()

else:

turn_right_s()

while(x != 3):

robot.move()

x+=1

if(y>5):

turn_right_s()

while(y != 5):

robot.move()

y-=1

turn_left_s()

elif(y<5):

turn_left_s()

while(y != 5):

robot.move()

y+=1

turn_right_s()

robot.move()

turn_left_s()

robot.move()

robot.put()

turn_left_s()

turn_left_s()

robot.move()

turn_right_s()

robot.move()

x = 3;y = 5

if(lasty>5):

turn_right_s()

while(y != lasty):

robot.move()

y+=1

turn_left_s()

while(x != lastx):

robot.move()

x-=1

if(facing_north):

turn_right_s()

else:

turn_left_s()

elif(lasty<=5):

turn_left_s()

while(y != lasty):

robot.move()

y-=1

turn_right_s()

while(x != lastx):

robot.move()

x-=1

if(facing_north):

turn_right_s()

else:

turn_left_s()

while(obj<8):

if(robot.front_is_clear() and not(x==4 and y == 3)):

robot.move()

if(robot.is_facing_north()):

y+=1

else:

y-=1

else:

if not(robot.is_facing_north()):

turn_left_s()

robot.move()

turn_left_s()

else:

turn_right_s()

robot.move()

turn_right_s()

x+=1

if(robot.object_here()):

robot.take()

obj+=1

lastx = x;lasty = y

go46()

2. def turn_around():

turn_left()

turn_left()

def turn_right():

repeat 3:

turn_left()

def dance():

repeat 8:

turn_right()

dance()

dance()

dance()

take()

move()

repeat 100:

if right_is_clear():

turn_right()

move()

put()

turn_around()

move()

turn_around()

build_wall()

turn_right()

while front_is_clear():

move()

while( not object_here()):

pass

else :

take()

turn_around()

move()

elif front_is_clear():

move()

else:

turn_left()

move()

# data[].attributes.body
두 로봇의 미로찾기 게임입니다. 너무 많이 실행해야해서 중간에 멈췄습니다. 한쪽은 우수법 다른 한쪽은 다른방법 통해 미로를 풀었습니다

import random

robot2 = UsedRobot(20, 1, 'west')

def turn_right():

repeat 3:

turn_left()

def turn_around():

repeat 2:

turn_left()

def left_is_clear():

turn_left()

a =front_is_clear()

turn_right()

return a

def search():

if not right_is_clear():

if front_is_clear():

move()

elif left_is_clear():

turn_left()

move()

else:

turn_around()

move()

else:

turn_right()

move()

repeat 2:

repeat 100:

search()

if object_here():

take()

if at_goal():

break

x=0

while not carries_object():

put()

x+=1

print('robot2:',x)

def qwerty():

if front_is_clear():

move()

elif left_is_clear():

turn_left()

move()

elif right_is_clear():

turn_right()

move()

else:

turn_around()

move()

repeat 100:

qwerty()

if object_here():

take()

elif at_goal():

break

y=0

while not carries_object():

put()

y+=1

print('robot1:',y)

# data[].attributes.body
무궁화 꽃이 피었습니다 게임에 초대받았습니다. 그러나 평범한 무궁화 꽃이 피었습니다가 아닌 복잡한 맵에서 게임을 합니다. 중앙에 있는 로봇이 볼 때 움직이지 않으면서 안전 구역에 도달해야 합니다.

미션1) 로봇 1이 안전 구역으로 이동한다.

미션2) 로봇 2가 볼 때 움직이면 안된다.

미션3) 벽을 만나면 다른 방향으로 간다.

code:def turn_right():

repeat 3:

turn_left()

def go_home():

for _ in range(5):

stop()

if at_goal():

break

for _ in range(5):

if front_is_clear():

move()

elif wall_on_right():

turn_left()

move()

else:

turn_right()

if wall_in_front():

turn_right()

else:

move()

if at_goal():

break

def stop():

for _ in range(1):

if robot2.is_facing_north():

continue

else:

break

set_max_nb_steps(2000)

import random

help(UsedRobot)

robot2=UsedRobot(10,15,'north')

for _ in range(100):

robot2.turn_left()

robot2.turn_left()

pause(5000)

robot2.turn_left()

robot2.turn_left()

go_home()

if at_goal():

break