Codemonkeyのコーディングアドベンチャーストーリーモード1-165レベルの学習ノートとリファレンスアンサー



Codemonkeys Coding Adventure Story Mode 1 165 Level Study Notes



image18.jpeg

//Level 0 challenge step 15

image18.jpeg



First 1 Challenge and0The same step 15

image19.jpeg

First 2 Challenge step 20

image20.jpeg



First 3 Challenge turn right step 12

image21.jpeg

First 4 Challenge turn left step 20

image22.jpeg

First 5 Challenge turn left step 15 turn right step 15

image23.jpeg



First 6 Challenge turn left step 5 turn right step 17 turn right step 5

image24.jpeg

First 7 Challenge You can also use the turn command plus the angle of rotation. For example 'Rotate 45 degrees counterclockwise' Written as turn 45 Or 'Rotate 90 degrees clockwise' Written as turn-90. turn 45 step 14

image25.jpeg

First 8 Challenge turn left step 15 turn left step 15 turn left step 15

image26.jpeg

First 9 Challenge step 10 step -20

image27.jpeg

First 10 Challenge turn 45.5 step 15 turn left step 10 step -20

image28.jpeg

First 11 Challenge Facing the turnTo command can make the monkey face other objects. turnTo banana step 20

image29.jpeg

First 12 Challenge You can also use the face turnTo function to make the monkey face objects other than banana and banana In addition, you can move the mouse to the object to see its English, and then click it to add it to your code. turnTo bridge step 10 turnTo banana step 10

image30.jpeg

First 13 Challenge turtle.step 20

image31.jpeg

First 14 Challenge step 5 turtle.step 10 step 5

image32.jpeg

First 15 Challenge turtle.step 10 monkey.step 15

image33.jpeg

First 16 Challenge turnTo turtle step 9 turtle.step 15 step -11

image34.jpeg

First 17 Challenge turtle.turn right step 10 turtle.step 20

image35.jpeg

First 18 Challenge turtle.turnTo banana turtle.step 10 monkey.step 10 turtle.step 10

image36.jpeg

First 19 Challenge turtle.step 15 turtle.turnTo bananas[3] turtle.step 28

image37.jpeg

First 20 Challenge turtle.turnTo monkey turtle.step 18 turtle.turnTo banana turtle.step 18

image38.jpeg

First 21 Challenge 3.times -> turn left step 15

image39.jpeg

First 22 Challenge 10.times -> step 6 turn 36 Or 10.times -> turn -36 step -6

image40.jpeg

First 23 Challenge 5.times -> step -10 turn -60 Or: 5.times -> turn 60 step 10 Or: 5.times -> step -10 turn 300

image41.jpeg

First 24 Challenge 3.times -> step 13 turn right

image42.jpeg

First 25 Challenge //Can you fix this loop error? 4.times -> turn left step 5 turn right step 5 //solution: s = 20 For I in [1..11] step s turn left if I % 3 == 0 s -= 5 //Another solution: s=20 I=1 11.times -> step s turn left if I % 3 == 0 s -= 5 I++ //Another solution: 2.times -> turn 45 step 30 step -30 turn -45 step -5 //Another solution: 2.times -> turn 45 step 28 turn 135 step 5

image43.jpeg

First 26 Challenge step 5 3.times -> turtle.step 10 turtle.turn right

image44.jpeg

First 27 Challenge 4.times -> step 10 step -10 turn right

image45.jpeg

First 28 Challenge 10.times -> step 3 turn 18 step 10

image46.jpeg

First 29 Challenge turtle.step 5 step 3 3.times -> turtle.step 10 turtle.turn left turn left step 5

image47.jpeg

First 30 Challenge It's almost over! Let me see how you use loops. step 10 3.times -> step 10 step -10 turtle.step 10 A summary of the cycle, initialized first, the monkey first comes to the turtle First2Solution: 3.times-> step 20 step -10 turtle.step 10 step -10 First3Kinds of solutions: step 20 3.times -> step -10 turtle.step 10 step 10 //Another way step 20 2.times -> step -7.5 turn right step 10 turn left step 7.5 //There is another step 20 turn 180 2.times -> step -10 turn left step 10 turn right step 10 //There is another step 20 2.times -> 2.times -> step 10 turn right step 10 turn 180 turtle.step 20

image48.jpeg

First 31 Challenge Variables are derived from mathematics and are abstract concepts in computer language that can store calculation results or represent values. x = 20 step x

image49.jpeg

First 32 Challenge x = 15 4.times -> turn right step x

image50.jpeg

First 33 Challenge You can use the variable variable instead of all numbers. n = 6 x = 10 d = 60 n.times -> step x turn d

image51.jpeg

First 34 Challenge t = 3 x = 20 d = 120 t.times -> step x turn d //For this kind of rotation, you can use this general solution to determine 3 numbers, namely: the number of times (the number of bananas), the number of steps (the direct distance of 2 bananas), the angle (360 divided by the number of bananas)

image52.jpeg

First 35 Challenge x=15 turtle.step x step x turn left step x

image53.jpeg

First 36 Challenge x = 15 4.times -> step x step -x turtle.step 8 //Can this kind of for loop also be used? ? However, there is a requirement that the sorting index of the banana starts from 0 on the right x = 15 for b in bananas step x step -x turtle.step 8

image54.jpeg

First 37 Challenge say 'xxxxxxxxx' step 15

image55.jpeg

First 38 Challenge x = 20 say x turnTo banana step x

image56.jpeg

First 39 Challenge Variables can also be used to replace numbers you don't know. x = distanceTo turtle say x step x //Introduce the function of distanceTo

image57.jpeg

First 40 Challenge //You can also use the turtle.distanceTo command to write code! x = turtle.distanceTo banana step 2

image58.jpeg

First 41 Challenge d = turtle.distanceTo monkey turtle.step d turtle.step –d turtle.turn right turtle.step d

image59.jpeg

First 42 Challenge turnTo banana step distanceTo banana

image60.jpeg

First 43 Challenge turnTo bridge step distanceTo bridge turnTo banana step distanceTo banana

image61.jpeg

First 44 Challenge Don't let the mouse steal the precious bananas! say 'Let's go!“ turnTo banana step distanceTo banana

image62.jpeg

First 45 Challenge say 'Hello world!“ turnTo bridge step distanceTo bridge turnTo banana step distanceTo banana

image63.jpeg

First 46 Challenge When we have more than one banana, we can use the [] command to name them separately. Array 'Array'Index turnTo bananas[0] step distanceTo bananas[0] turnTo bananas[1] step distanceTo bananas[1]

image64.jpeg

First 47 Challenge When writing code, you can start numbering from zero, so the first banana can be named'Zero Banana' bananas[0] and the second banana can be named'One Banana' bananas[1]. say 'Boo!“ step 10 turnTo bananas[0] step distanceTo bananas[0] turnTo bananas[1] step distanceTo bananas[1]

image65.jpeg

First 48 Challenge bananas is an array, which is an object (in this case, bananas)'Collection' turnTo bananas[0] step distanceTo bananas[0] turnTo bananas[1] step distanceTo bananas[1] turnTo bananas[2] step distanceTo bananas[2]

image66.jpeg

First 49 Challenge The bushes are also an array turnTo bushes[0] step distanceTo bushes[0] turnTo bushes[1] step distanceTo bushes[1] turnTo banana step distanceTo banana

image67.jpeg

First 50 Challenge Beavers will help our little monkey cross the river. beavers[0].step 10 beavers[1].step 10 step distanceTo banana

image68.jpeg

First 51 Challenge Please use your code instructions to move the beavers. beavers[1].step 13 beavers[2].step 13 step distanceTo banana

image69.jpeg

First 52 Challenge beavers[0].step 4 beavers[1].step 8 beavers[2].step 12 step distanceTo banana

image70.jpeg

First 53 Challenge beavers[0].step 5 beavers[1].step 5 step distanceTo bananas[0] turnTo bananas[1] step distanceTo bananas[1]

image71.jpeg

First 54 Challenge beavers[0].step 5 beavers[1].step 5 beavers[2].step 5 beavers[3].step 5 step distanceTo bananas[0] turnTo bananas[1] step distanceTo bananas[1]

image72.jpeg

First 55 Challenge beavers[0].step 4 beavers[1].step 4 step distanceTo bananas[0] beavers[0].step 11 beavers[1].step 11 turnTo bananas[1] step distanceTo bananas[1] turnTo bananas[2] step distanceTo bananas[2]

image73.jpeg

First 56 Challenge Start introductionforloop statement,forCan traverse an array for b in bananas turnTo b step distanceTo b

image74.jpeg

First 57 Challenge for b in bananas turnTo b step distanceTo b

image75.jpeg

First 58 Challenge for b in bananas turtle.turnTo b turtle.step distanceTo b

image76.jpeg

First 59 Challenge say 'Hi!' for b in bananas turnTo b step distanceTo b

image77.jpeg

First 60 Challenge step distanceTo bridge for b in bananas turnTo b step distanceTo b

image78.jpeg

First 61 Challenge x = 20 for t in turtles t.step x step distanceTo banana

image79.jpeg

First 62 Challenge for b in bananas turnTo raft step distanceTo raft turnTo b step distanceTo b

image80.jpeg

First 63 Challenge for b in islands turnTo b step distanceTo b

image81.jpeg

First 64 Challenge for t in turtles step distanceTo t t.step 20

image82.jpeg

First 65 Challenge for b in bananas x = distanceTo b step x step -x turtle.step 8

image83.jpeg

First 66 Challenge for c in crocodiles c.turnTo banana step distanceTo banana

image84.jpeg

First 67 Challenge for c in crocodiles c.turnTo banana turnTo banana step distanceTo banana

image85.jpeg

First 68 Challenge for c in crocodiles c.turnTo islands[0] for i in islands turnTo i step distanceTo i

image86.jpeg

First 69 Challenge for c in crocodiles c.turnTo raft for b in bananas turnTo b d = distanceTo b step d step -d

image87.jpeg

First 70 Challenge for b in bananas for c in crocodiles c.turnTo monkey turnTo b step distanceTo b

image88.jpeg

First 71 Challenge 'function'Farm step distanceTo match grab() step pile.distanceTo rat drop()

image89.jpeg

First 72 Challenge turnTo match step distanceTo match grab() turnTo pile step distanceTo pile drop()

image90.jpeg

First 73 Challenge # By the way, this is a line of comments. The concept of comments has been introduced here. # it is from '#' Started for m in matches turnTo m step distanceTo m grab() turnTo pile step distanceTo pile drop() # Only one match can be picked at a time

image91.jpeg

First 74 Challenge # Did you find any duplication in the code, the following will introduce functions to reduce the duplication turnTo bridge step distanceTo bridge turnTo match step distanceTo match grab() turnTo bridge step distanceTo bridge turnTo pile step distanceTo pile drop()

image92.jpeg

First 75 Challenge # The concept of function has been introduced here. Is this level very similar to the previous one? goto = (t) -> turnTo t step distanceTo t goto bridge goto match grab() goto bridge goto pile drop()

image93.jpeg

First 76 Challenge goto = (a) -> turnTo a step distanceTo a for match in matches goto match grab() goto pile drop() //================================================ goto = (a) -> turnTo a step distanceTo a goto matches[0] grab() goto pile drop() goto matches[1] grab() goto pile drop()

image94.jpeg

First 77 Challenge goto = (a) -> turnTo a step distanceTo a for m in matches goto m grab() goto pile drop()

image95.jpeg

First 78 Challenge goto = (c) -> turnTo c step distanceTo c goto bridge goto match grab() goto bridge goto(pile) drop()

image96.jpeg

First 79 Challenge goto = (p) -> #Please write the implementation of the function here turnTo p step distanceTo p for m in matches goto bridge goto m grab() goto bridge goto pile drop()

image97.jpeg

First 80 Challenge collect = (e) -> turnTo e step distanceTo e grab() turnTo pile step distanceTo pile drop() for m in matches collect m

image98.jpeg

First 81 Challenge There is not only one function here, but two functions! goto = (t) -> turnTo t step distanceTo t collect = (e) -> goto e grab() goto pile drop() for m in matches collect m

image99.jpeg

First 82 Challenge #Please define goto function here goto = (x)-> turnTo x step distanceTo x goto match grab() goto pile drop()

image100.jpeg

First 83 Challenge Next we try to use islands and rafts as parameters of the function goto = (t) -> turnTo t step distanceTo t gotoAll = (stuff) -> for s in stuff goto s gotoAll islands grab() gotoAll rafts drop()

image101.jpeg

First 84 Challenge goto = (t) -> turnTo t step distanceTo t getAndReturn = (r) -> goto r grab() goto turtle for m in matches getAndReturn m goto pile drop() goto turtle turtle.step 8

image102.jpeg

First 85 Challenge We can also use numbers as parameters goto = (t) -> turnTo t step distanceTo t collect = (m) -> goto m grab() goto pile drop() #This function should let all #turtles forward d (d is a number) allTurtlesStep = (d) -> #Please complete here! for c in turtles c.step d allTurtlesStep 10 collect matches[0] allTurtlesStep -10 collect matches[1]

image103.jpeg

First 86 Challenge //'Until' Sandy //The next thing to introduce is until until this loop instruction! //This is the same as level 71. Here, until and near are used. until near match step 1 grab() until near pile step 1 drop()

image104.jpeg

First 87 Challenge //Close to near this command will return to you-positive yes or negative no result //This is the same as 71 and 86. Here, until and near are used. until near match step 1 grab() until near pile step 1 drop()

image105.jpeg

First 88 Challenge //If you don't use it well, until this loop instruction will continue indefinitely. //Introduced the infinite loop until near match step 1 grab() turnTo pile until near pile step 1 drop()

image106.jpeg

First 89 Challenge Next, you need to make good use of until until this loop instruction. until near match step 1 grab() turnTo pile step distanceTo pile drop()

image107.jpeg

First 90 Challenge turn left until near match step 1 grab() turnTo pile step distanceTo pile drop()

image108.jpeg

First 91 Challenge until near match step 1 grab() turnTo pile step distanceTo pile drop()

image109.jpeg

First 92 Challenge until turtle.near bridge turtle.step 1 grab() step distanceTo pile drop()

image110.jpeg

First 93 Challenge until near match turnTo match step 1 grab() turnTo pile step distanceTo pile drop()

image111.jpeg

First 94 Challenge Hope you haven’t forgotten about functions, which is functions! chase = (m) -> until near m turnTo m step 1 chase match grab() chase pile drop()

image112.jpeg

First 95 Challenge chase = (m) -> until near m turnTo m step 1 #This code is normal: for m in matches chase m grab() chase pile drop()

image113.jpeg

First 96 Challenge goto = (t) -> turnTo t step distanceTo t collect = (t) -> goto t grab() goto pile drop() #If the cat is still awake, don't walk over! until cat.sleeping() wait() collect match step 15

image114.jpeg

First 97 Challenge Use the wait command to wait for the cat to sleep... goto = (t) -> turnTo t step distanceTo t collect = (t) -> goto t grab() goto pile drop() for m in matches until cat.sleeping() wait() collect m

image115.jpeg

First 98 Challenge goto = (t) -> turnTo t step distanceTo t #Let this function collect t collect t #And don’t be eaten or dropped into the water safeCollect = (t) -> until cat.sleeping() wait() #Just there! goto bridge goto t grab() goto bridge goto pile drop() for m in matches safeCollect m

image116.jpeg

First 99 Challenge chase = (t) -> #Realize here! turnTo t step distanceTo t safeCollect = (m) -> until cat.sleeping() wait() #Complete here! until near m chase m grab() chase pile drop() safeCollect match

image117.jpeg

First 100 Challenge chase = (t) -> turnTo t step distanceTo t safeCollect = (m) -> until cat.sleeping() wait() until near m chase m grab() chase pile drop() for m in matches safeCollect m

image118.jpeg

First 101 Challenge goto bridge goto banana

image119.jpeg

First 102 Challenge goat.hit()goto banana

image120.jpeg

First 103 Challenge goat.hit(banana) goto banana

image121.jpeg

First 104 Challenge #goat.hit() goat.turn right goat.hit() step 20

image122.jpeg

First 105 Challenge goat.goto bananas[0] goat.hit() goat.goto bananas[2] goat.hit() for b in bananas goto b

image123.jpeg

First 106 Challenge Please try the instruction of frozen banana banana.frozen(). say banana.frozen() goat.hit() say banana.frozen() goto banana

image124.jpeg

First 107 Challenge Please use if if Directive to determine whether the condition is true! if banana.frozen() goat.hit() goto banana

image125.jpeg

First 108 Challenge Sometimes, you write in if The judgment condition in the instruction does not really happen. if banana.frozen() goat.goto banana goat.hit() goto banana

image126.jpeg

First 109 Challenge You can forUse in loop if if Conditional judgment for b in bananas if b.frozen() goat.goto b goat.hit b goto b

image127.jpeg

First 110 Challenge #Use in loop if for b in bananas if b.frozen() goat.goto(b) goat.hit(b) monkey.goto b

image128.jpeg

First 111 Challenge for b in bananas if b.frozen() goat.hit(b) monkey.goto b turtle.step 5

image129.jpeg

First 112 Challenge goat.goto banana

image130.jpeg

First 113 Challenge goat.step 15 monkey.step 15

image131.jpeg

First 114 Challenge if banana.green() goat.goto banana

image132.jpeg

First 115 Challenge if banana.green() say 'It's green!' else monkey.goto(banana)

image133.jpeg

First 116 Challenge for b in bananas if b.green() goat.goto b else monkey.goto b

image134.jpeg

First 117 Challenge Regardless of the banana color, all frozen bananas should use the hit() command to remove the ice, but only goats will eat green bananas. for b in bananas goat.goto b goat.hit() if b.green() goat.goto b else monkey.goto b

image135.jpeg

First 118 Challenge for b in bananas if b.green() goat.goto b else monkey.goto b

image136.jpeg

First 119 Challenge breakBanana = (f) -> if f.frozen() goat.goto f goat.hit f if f.green() goat.goto f else monkey.goto f for b in bananas breakBanana b

image137.jpeg

First 120 Challenge until tiger.sleeping() wait() goto banana

image138.jpeg

First 121 Challenge until bear.sleeping() wait() goto banana

image139.jpeg

First 122 Challenge for b in bananas until bear.sleeping() wait() //#wait for what? goto b

image140.jpeg

First 123 Challenge until bear.sleeping() and tiger.sleeping() wait() goto banana

image141.jpeg

First 124 Challenge until bear.sleeping() and tiger.sleeping() wait() goto banana

image142.jpeg

First 125 Challenge until bear.sleeping() and tiger.sleeping() //#and... wait() for b in bananas goto b

image143.jpeg

First 126 Challenge for b in bananas until bear.sleeping() and tiger.sleeping() //#and... wait() if b.green() goat.goto b monkey.goto b

image144.jpeg

First 127 Challenge waitForSafety = () -> until bear.sleeping() and tiger.sleeping() wait() for b in bananas waitForSafety() goto b

image145.jpeg

First 128 Challenge for b in bananas until bear.sleeping() and tiger.sleeping() wait() if b.frozen() goat.goto b goat.hit() until bear.sleeping() and tiger.sleeping() wait() monkey.goto b

image146.jpeg

First 129 Challenge until tiger.sleeping() or tiger.playing() wait() goto banana

image147.jpeg

First 130 Challenge Or the or instruction can make the monkey wait until one of the many judgments is satisfied, and then start the next action. until tiger.sleeping() or tiger.playing() wait() goto banana

image148.jpeg

First 131 Challenge //You can use or or in all judgments until tiger.sleeping() or tiger.playing() wait() step 10 //#Wait here wait

image149.jpeg

First 132 Challenge until bear.playing() or bear.sleeping() wait() goat.goto banana

image150.jpeg

First 133 Challenge for b in bananas until tiger.playing() or tiger.sleeping() wait() if b.green() goat.goto b else monkey.goto b

image151.jpeg

First 134 Challenge for b in bears until b.sleeping() or b.playing() wait() step 10

image152.jpeg

First 135 Challenge waitFor = (t) -> until t.sleeping() or t.playing() wait() for t in tigers for stepper in [monkey, goat] waitFor t stepper.step 10

image153.jpeg

First 136 Challenge //Does this start to be logical? //not this negation command will turn the result of yes from yes to the result of no. In addition, it will also change the no result that was originally denied to yes. if not banana.green() //# You can only modify the code here: goto banana

image154.jpeg

First 137 Challenge Please try using rotten rotten() to identify rotten bananas and don't get close to them! rotten [ˈrɒtn] beauty [ˈrɑ:tn] adj. rotten stench for b in bananas turnTo b if b.rotten() say 'Yuck!' else goto b

image155.jpeg

First 138 Challenge goto bush goto bananas[0]

image156.jpeg

First 139 Challenge if not banana.rotten() goto banana

image157.jpeg

First 140 Challenge for b in bananas #Fix the conditions here: if not b.rotten() goto b

image158.jpeg

First 141 Challenge for b in bananas if not b.rotten() goto b goto bush

image159.jpeg

First 142 Challenge say health() goto banana

image160.jpeg

First 143 Challenge goto bananas[0] goto bananas[1]

image161.jpeg

First 144 Challenge if health() == 40 //# Yes, 40 equals 40, get yes goto banana if health() == 100 //# No, 40 is not 100, get no goto banana

image162.jpeg

First 145 Challenge Please stay in the healthZone in the rest area to restore physical strength. goto healthZone //# Modify here, it will never reach the value of 1000 until health() == 100 wait() goto banana

image163.jpeg

First 146 Challenge for b in bananas goto healthZone //#Wait here until the monkey's health value is 100 until health() == 100 wait() goto b

image164.jpeg

First 147 Challenge goto healthZone until health() ==100 wait() goto banana

image165.jpeg

First 148 Challenge Use the less than if
health() <90 #Yes,80Less than90And get yes goto banana else goto banana

image166.jpeg

First 149 Challenge for b in bananas goto b //# Tip: If the health value is lower than 70, you need to add physical strength if health() <=70 goto healthZone until health()==100 wait()

image167.jpeg

First 150 Challenge gotoNearestHealth = () -> d0 = distanceTo healthZones[0] d1 = distanceTo healthZones[1] if d0 0] else goto healthZones[1] for b in bananas goto b if health() <60 gotoNearestHealth() #Wait here until the monkey is healthy! until health() ==100 wait()

image168.jpeg

First 151 Challenge Use back return Instructions, we can put a function function The results of the operation are sent back. example = () -> return not banana.rotten() if example() #example() Function returns no goto banana else turn 360

image169.jpeg

First 152 Challenge Usual function function Of back return The result depends on how we define this function. yummy = (x) -> return not x.rotten() for b in bananas if yummy b goto b

image170.jpeg

First 153 Challenge healthy = () -> return health() == 100 goto healthZone until healthy() wait() goto banana

image171.jpeg

First 154 Challenge healthy = () -> return health() == 100 injured = () -> return health() <70 //# use healthy() function and injured() function here for b in bananas goto b if injured() goto healthZone until healthy() wait()

image172.jpeg

First 155 Challenge healthy = () -> return health() > 99 //# This should be normal if you have fixed the healthy() function goto healthZone until healthy() wait() goto bush goto banana

image173.jpeg

First 156 Challenge safeFrom = (a) -> return a.sleeping() or a.playing() //# or or? //# Another way to call a function with parameters is to use parentheses'()' until safeFrom(tiger) wait() goto banana

image174.jpeg

First 157 Challenge safeFrom = (a) -> return a.sleeping() or a.playing() //#Fix it here until safeFrom(tiger) and safeFrom(bear) wait() goto banana

image175.jpeg

First 158 Challenge Please write a function function , So that it returns return Sure yes Or yes no the result of. negative = () -> return no //# change to no Right positive = () -> return yes //# This code is normal if negative() goto bananas[0] if positive() goto bananas[1]

image176.jpeg

First 159 Challenge In a function function Inside, all written in back return Nothing after the instruction will be executed. foo = () -> return yes if foo() goto banana else say 'nope'

image177.jpeg

First 160 Challenge until not crow.watching() say 'Boo!' goto banana

image178.jpeg

First 161 Challenge //Please use the speak say command until it is safe. safe = () -> return not crow.watching() //#Use the say function to scare away the crow until safe() say 'x' goto banana

image179.jpeg

First 162 Challenge safe = () -> if crows[0].watching() return no if crows[1].watching() return no #If you arrive here means neither crow is monitoring return yes #Use safe() function here goto banana Or safe = () -> if crows[0].watching() or crows[1].watching() //No. 0 or No. 1 crow is monitoring, it is unsafe return no return yes

image180.jpeg

First 163 Challenge safe = () -> #Yes only when crow is monitoring return not( crows[1].watching() or crows[0].watching()) until safe() say 'Go away!' for b in bananas goto b

image181.jpeg

First 164 Challenge safe = () -> return (not crows[0].watching() and not crows[1].watching() and not crows[2].watching()) Or return not (crows[0].watching() or crows[1].watching() or crows[2].watching()) until safe() say 'Go away!' goto banana

image182.jpeg

First 165 Challenge safe = () -> for c in crows if c.watching() return no //# Is this safe? //# If you arrive here means no crow is monitoring return yes until safe() say 'Go away!' goto banana