Программируй в Minecraft. Строй выше, выращивай быстрее, копай глубже и автоматизируй всю скучную работу! [Эл Свейгарт] (pdf) читать онлайн
Книга в формате pdf! Изображения и текст могут не отображаться!
[Настройки текста] [Cбросить фильтры]
CODING WITH
MINECRAFT
BUILD TALLER, FARM FASTER, MINE DEEPER,
AND AUTOMATE THE BORING STUFF
ЭЛ СВЕЙГАРТ
ПРОГРАММИРУЙ
В MINECRAFT
СТРОЙ ВЫШЕ, ВЫРАЩИВАЙ БЫСТРЕЕ, КОПАЙ ГЛУБЖЕ
И АВТОМАТИЗИРУЙ ВСЮ СКУЧНУЮ РАБОТУ!
ƣƔƚ 004.4-93
ƑƑƚ 32.973.26-018
ơ24
Al Sweigart
CODING WITH MINECRAFT: BUILD TALLER, FARM FASTER, MINE DEEPER,
AND AUTOMATE THE BORING STUFF
© 2018 by Al Sweigart. Title of English-language original: Coding with Minecraft: Build Taller, Farm
Faster, Mine Deeper, and Automate the Boring Stuff, ISBN 978-1-59327-853-3, published by No Starch
Press. Russian-language edition copyright © 2018 by EKSMO Publishing House. All rights reserved
ơ24
ƦƷƺƾƸƵDžLJ, Ʋǀ.
ƟǀƾƳǀưƼƼƸǀǃƹ Ʋ Minecraft. ơǂǀƾƹ ƲNjLjƵ, ƲNjǀưljƸƲưƹ ƱNjǁǂǀƵƵ, ƺƾƿưƹ ƳƻǃƱƶƵ Ƹ ưƲǂƾƼưǂƸƷƸǀǃƹ Ʋǁǎ ǁƺǃLJƽǃǎ ǀưƱƾǂǃ! / ƭƻ ơƲƵƹƳưǀǂ ;
[ƿƵǀ. ǁ ưƽƳƻ. ƠưƹǂƼưƽ Ɯ.Ɛ.]. — ƜƾǁƺƲư : ƭƺǁƼƾ, 2019. — 344 ǁ. —
(ƟǀƾƳǀưƼƼƸǀƾƲưƽƸƵ ƴƻǏ ƴƵǂƵƹ).
ƝƾƲưǏ ƺƽƸƳư ƴƻǏ ƲǁƵDž ƻǎƱƸǂƵƻƵƹ ƸƳǀNj Minecraft ƾǂ ưƲǂƾǀư ƼƸǀƾƲNjDž ƱƵǁǂǁƵƻƻƵǀƾƲ-ǁưƼƾǃLJƸǂƵƻƵƹ ƿƾ ƿǀƾƳǀưƼƼƸǀƾƲưƽƸǎ ƭƻư ơƲƵƹƳưǀǂư. ƑƻưƳƾƴưǀǏ ǁƲƾƵƼǃ ƼƽƾƳƾƻƵǂƽƵƼǃ ƾƿNjǂǃ, ơƲƵƹƳưǀǂ ǃƼƵƵǂ Ʋ ǃƲƻƵƺưǂƵƻnjƽƾƹ ƸƳǀƾƲƾƹ DŽƾǀƼƵ ƿƾƴưǂnj ƴưƶƵ ǁưƼǃǎ
ƽƵƿǀƾǁǂǃǎ ƸƽDŽƾǀƼưdžƸǎ Ƹ ƷưƸƽǂƵǀƵǁƾƲưǂnj ƴưƶƵ ǂƵDž ƼưƻƵƽnjƺƸDž LJƸǂưǂƵƻƵƹ, ƺƾǂƾǀNjDž
LJǂƵƽƸƵ ƽƵ ƸƽǂƵǀƵǁǃƵǂ. ơưƼưǏ ƿƾƿǃƻǏǀƽưǏ ǃ ƴƵǂƵƹ Ʋƾ ƲǁƵƼ ƼƸǀƵ ƸƳǀư ǁǂưƽƵǂ ƵljƵ ƸƽǂƵǀƵǁƽƵƵ, ƺƾƳƴư ƲưLj ǀƵƱƵƽƾƺ ƽưǃLJƸǂǁǏ ƸǁƿƾƻnjƷƾƲưǂnj Ƹ ǁƲƾƸƼƸ ǀǃƺưƼƸ ƿǀƾƳǀưƼƼƸǀƾƲưǂnj
ưƲǂƾƼưǂƸLJƵǁƺƸDž ƿƾƼƾljƽƸƺƾƲ-LJƵǀƵƿưLjƵƺ, ƴƵƻưǎljƸDž Ʋ Minecraft Ʒư ƸƳǀƾƺư Ʋǁǎ ǁưƼǃǎ
ǁƺǃLJƽǃǎ ǀưƱƾǂǃ. ơ Ǎǂƾƹ ƺƽƸƳƾƹ LJƸǂưǂƵƻƸ ǁƼƾƳǃǂ ƽƵ ǂƾƻnjƺƾ ǁǂưǂnj ƿǀƾƴƲƸƽǃǂNjƼƸ ƳƵƹƼƵǀưƼƸ, ƽƾ Ƹ ƿƾƷƽưƺƾƼǏǂǁǏ ǁ ƾǁƽƾƲưƼƸ ƿǀƾƳǀưƼƼƸǀƾƲưƽƸǏ Ƹ ƿƾƻǃLJưǂ džƵƽƽNjƵ ƽưƲNjƺƸ, ƺƾǂƾǀNjƵ Ʋ ƴưƻnjƽƵƹLjƵƼ ǁƼƾƳǃǂ ǀưƷƲƸǂnj.
ƨƙƟ 004.4-93
ƖƖƟ 32.973.26-018
Все права защищены. Книга или любая ее часть не может быть скопирована, воспроизведена в электронной или механической
форме, в виде фотокопии, записи в память ЭВМ, репродукции или каким-либо иным способом, а также использована в любой информационной системе без получения разрешения от издателя. Копирование, воспроизведение и иное использование книги или
ее части без согласия издателя является незаконным и влечет уголовную, административную и гражданскую ответственность.
Издание для досуга
Для среднего школьного возраста
ПРОГРАММИРОВАНИЕ ДЛЯ ДЕТЕЙ
Эл Свейгарт
ПРОГРАММИРУЙ В MINECRAFT
Строй выше, выращивай быстрее, копай глубже и автоматизируй
всю скучную работу!
Главный редактор Р. Фасхутдинов. Ответственный редактор Е. Истомина
Художественный редактор А. Гусев. Младший редактор Е. Минина
ООО «Издательство «Эксмо»
123308, Москва, ул. Зорге, д. 1. Тел.: 8 (495) 411-68-86. Home page: www.eksmo.ru E-mail: info@eksmo.ru
Bндіруші: «ЭКСМО» АIБ Баспасы, 123308, МKскеу, Ресей, Зорге кLшесі, 1 Mй. Тел.: 8 (495) 411-68-86.
Home page: www.eksmo.ru E-mail: info@eksmo.ru.
Тауар белгісі: «Эксмо»
Интернет-магазин : www.book24.ru
Интернет-д*кен : www.book24.kz
Импортёр в Республику Казахстан ТОО «РДЦ-Алматы».
IазаRстан РеспубликасындаSы импорттаушы «РДЦ-Алматы» ЖШС.
Дистрибьютор и представитель по приему претензий на продукцию, в Республике Казахстан: ТОО «РДЦ-Алматы»
IазаRстан Республикасында дистрибьютор жKне Lнім бойынша арыз-талаптарды
RабылдаушыныX Lкілі «РДЦ-Алматы» ЖШС, Алматы R., Домбровский кLш., 3«а», литер Б, офис 1.
Тел.: 8 (727) 251-59-90/91/92; E-mail: RDC-Almaty@eksmo.kz
BнімніX жарамдылыR мерзімі шектелмеген.
Сертификация туралы аRпарат сайтта: www.eksmo.ru/certification
Сведения о подтверждении соответствия издания согласно законодательству РФ о техническом регулировании
можно получить на сайте Издательства «Эксмо» www.eksmo.ru/certification
Bндірген мемлекет: Ресей. Сертификация RарастырылмаSан
EKSMO.RU
новинки издательства
Подписано в печать 31.08.2018. Формат 70x1001/16.
Печать офсетная. Усл. печ. л. 27,87.
Тираж
экз. Заказ
ISBN 978-5-04-096471-0
© ƥƵƾLJǁƵǂ ơ.ƕ., DŽƺDžƺƷǃƹ ǂƵ DžLjdždžƿƽƾ ǔƼǐƿ, 2018
© ƣljǃDžǁǀƺǂƽƺ. ƣƣƣ «ƝƼƹƵLJƺǀǑdžLJƷǃ «Ʋƿdžǁǃ», 2018
ĝĚĐđĜĒČęĔđ
ǼȏȎȐȠȜȞȓ........................................................................................................ 13
ĎĎđĐđęĔđ ..................................................................................................14
ȅȠȜȠȎȘȜȓȚȜȒȩȒșȭ0LQHFUDIW" ................................................................... 15
ȅȠȜȠȎȘȜȓ&RPSXWHU&UDIW" ............................................................................ 15
ǸȎȘȝȜșȪȕȜȐȎȠȪȟȭȫȠȜȗȘțȖȑȜȗ"................................................................... 16
ǿȠȞȡȘȠȡȞȎȘțȖȑȖ ........................................................................................... 17
ǽȜșȡȥȓțȖȓȝȜȚȜȧȖ ....................................................................................... 19
ǰȓȏȞȓȟȡȞȟȩ ................................................................................................... 20
ȅȠȜȚȩȡȕțȎșȖ............................................................................................... 21
ďėČĎČęČģČėĚĜČčĚĞħĝ+758=>ɉɪɨɝɪɚɦɦɚɬɚɧɰɭɥɟɤɗɥɚɋɜɟɣɝɚɪɬɚ
2. Make the turtle dance!]]
3.
4. print('Time to dance!')
5.
ɑɟɪɟɩɚɲɤɚɧɚɱɢɧɚɟɬɬɚɧɰɟɜɚɬɶ
7. turtle.forward()
8. turtle.back()
9. turtle.turnRight()
10. turtle.forward()
11. turtle.back()
12. turtle.back()
74
DZǹǮǰǮ
13. turtle.turnLeft()
14. turtle.turnLeft()
15. turtle.back()
16. turtle.turnRight()
17.
ɑɟɪɟɩɚɲɤɚɤɪɭɬɢɬɫɹ
19. for i = 1, 4 do
20.
turtle.turnRight()
21. end
22.
23. turtle.up()
24. turtle.down()
25. print('Done.')
ǿȜȣȞȎțȖȝȞȜȑȞȎȚȚȡȝȜȟșȓȐȐȜȒȎȐȟȓȣȖțȟȠȞȡȘȤȖȗǻȎ
ȔȎȐȘșȎȐȖȦȡCtrlȜȠȘȞȜȗȚȓțȬǰȩȏȓȞȖȝȡțȘȠ[Save]Ȗ
țȎȔȚȖȘșȎȐȖȦȡEnterǵȎȠȓȚȐȩȗȒȖȖȕȞȓȒȎȘȠȜȞȎțȎ
ȔȎȐȘșȎȐȖȦȡCtrlȐȩȏȞȎȐȝȡțȘȠ[Exit]ȖțȎȔȎȐȘșȎȐȖ
ȦȡEnter.
ēČěğĝĖěĜĚďĜČĘĘħ5A,)6+ǽȜȟșȓȐȩȣȜȒȎȖȕȞȓȒȎȘȠȜȞȎȕȎȝȡȟȠȖȝȞȜȑȞȎȚȚȡmydanceȐ
ȜȏȜșȜȥȘȓȘȜȚȎțȒțȜȗȟȠȞȜȘȖ
> mydance
Time to dance!
Done.
ǻȎȫȘȞȎțȓȝȜȭȐȖȠȟȭȠȓȘȟȠTime to dance!ǸȜȑȒȎȞȜȏȜȠ
țȎȥțȓȠȠȎțȤȓȐȎȠȪțȎȫȘȞȎțȓȝȜȭȐȖȠȟȭȠȓȘȟȠDoneȅȠȜȏȩȞȎȟ
ȟȚȜȠȞȓȠȪȚȎșȓțȪȘȖȗȠȎțȓȤȥȓȞȓȝȎȦȘȖțȎȔȚȖȘșȎȐȖȦȡEsc
ȟȞȎȕȡȝȜȟșȓȕȎȝȡȟȘȎȝȞȜȑȞȎȚȚȩȒȜȠȜȑȜȘȎȘȝȜȭȐȖȠȟȭȠȓȘȟȠ
DoneǰȟȓȝȎȘȜȠȜȞȩȓȟȜȐȓȞȦȎȓȠȥȓȞȓȝȎȦȘȎ²ȫȠȜȖȚȓțțȜ
ȠȓȒȐȖȔȓțȖȭȘȜȠȜȞȩȓȠȩȕȎȝȞȜȑȞȎȚȚȖȞȜȐȎșǾȖȟȒȓ
ȚȜțȟȠȞȖȞȡȓȠȘȎȘȥȓȞȓȝȎȦȘȎȒȐȖȔȓȠȟȭȟșȡȦȎȭȟȪȢȡțȘȤȖȗ
turtle.forward()Ȗturtle.back()ȘȜȠȜȞȩȓȐȩȕȩȐȎȬȠȟȭȐ
ȟȠȞȜȘȎȣȖ
ǶǽȁǿȀȍȀǿȍȅdzǾdzǽǮȆǸǶǰǽǹȍǿ
75
ˀ̛̭͘4.2.ʿ̶̵̸̡̛̖̬̼̖̯̦̖̣̦̼̪̖̬̖̪̹̏̔̏̌̌̏̌̽̌̌
DzȎȐȎȗȞȎȟȟȚȜȠȞȖȚȘȎȔȒȡȬȖțȟȠȞȡȘȤȖȬȐȘȜȒȓȝȞȜȑȞȎȚ
Țȩmydance.
ĔĝěĚėĨēĚĎČęĔđĖĚĘĘđęĞČĜĔđĎ
ĎĖĚĐđ
ǽȓȞȐȩȓȒȐȓȟȠȞȜȘȖȐȝȞȜȑȞȎȚȚȓȟȜȒȓȞȔȎȠȘȜȚȚȓțȠȎȞȖȖ.
ǶțȠȓȞȝȞȓȠȎȠȜȞ/XDȖȑțȜȞȖȞȡȓȠȘȜȚȚȓțȠȎȞȖȖȝȜȠȜȚȡȥȠȜ
ȫȠȜȝȜȟȡȠȖȕȎȚȓȠȘȖȝȞȜȑȞȎȚȚȖȟȠȎǰȒȎțțȜȚȘȜȚȚȓțȠȎ
ȞȖȖȜȝȖȟȩȐȎȓȠȟȭȥȠȜȒȓșȎȓȠȝȞȜȑȞȎȚȚȎȖȘȠȜȓȓȎȐȠȜȞ
ǽȞȖȚȓȥȎțȖȓ ǼȏȞȎȠȖȐțȖȚȎțȖȓȥȠȜȐșȖȟȠȖțȑȎȣȝȞȖȐȓȒȓțțȩȣȐȘțȖȑȓȘȜȚȚȓțȠȎȞȖȖțȎȏȞȎțȩțȎȞȡȟȟȘȜȚȭȕȩȘȓ
ȥȠȜȏȩȠȓȏȓȏȩșȜȝȜțȭȠțȜȕȎȥȠȜȜȠȐȓȥȎȓȠȠȎȖșȖȖțȎȭ
ȥȎȟȠȪȘȜȒȎǽȞȖȞȎȏȜȠȓȟLuaȖȟȝȜșȪȕȜȐȎȠȪȞȡȟȟȘȖȗȭȕȩȘȡ
ȠȓȏȭțȓȝȜșȡȥȖȠȟȭ
mydance
>>ɉɪɨɝɪɚɦɦɚɬɚɧɰɭɥɟɤɗɥɚɋɜɟɣɝɚɪɬɚ
2. Make the turtle dance!]]
3.
4. print('Time to dance!')
5.
ɑɟɪɟɩɚɲɤɚɧɚɱɢɧɚɟɬɬɚɧɰɟɜɚɬɶ
ǸȜȚȚȓțȠȎȞȖȗȘȜȠȜȞȩȗțȎȥȖțȎȓȠȟȭȐȟȠȞȜȘȓȝȞȜȒȜș
ȔȎȓȠȟȭȐȟȠȞȜȘȓȋȠȜȚțȜȑȜȟȠȞȜȥțȩȗȘȜȚȚȓțȠȎȞȖȗȝȜ
ȟȘȜșȪȘȡȞȎȟȝȜșȎȑȎȓȠȟȭȏȜșȓȓȥȓȚțȎȜȒțȜȗȟȠȞȜȘȓǺțȜ
76
DZǹǮǰǮ
ȑȜȟȠȞȜȥțȩȓȘȜȚȚȓțȠȎȞȖȖțȎȥȖțȎȬȠȟȭȟȟȖȚȐȜșȜȐ--[[
ȖȕȎȐȓȞȦȎȬȠȟȭȟȖȚȐȜșȎȚȖ]].
ǿȠȞȜȘȎȟȜȒȓȞȔȖȠȐȩȕȜȐȢȡțȘȤȖȖprint()ȘȜȠȜȞȎȭȐȩ
ȐȜȒȖȠțȎȫȘȞȎțȠȓȘȟȠTime to dance!ǶȚȓțțȜȫȠȜȠȠȓȘȟȠ
ȝȜȭȐșȭȓȠȟȭȝȞȖȕȎȝȡȟȘȓȝȞȜȑȞȎȚȚȩǿȢȡțȘȤȖȓȗprint()
ȠȩȡȔȓȐȟȠȞȓȥȎșȟȭȐȑșȎȐȓ
ǿȠȞȜȘȎ²ȫȠȜȠȜȔȓȘȜȚȚȓțȠȎȞȖȗȠȜșȪȘȜȜȒțȜȟȠȞȜȥțȩȗ
ǼȒțȜȟȠȞȜȥțȩȗȘȜȚȚȓțȠȎȞȖȗțȎȥȖțȎȓȠȟȭȟȟȖȚȐȜșȜȐ-ȖȕȎȘȎțȥȖȐȎȓȠȟȭȐȘȜțȤȓȟȠȞȜȘȖȠȜȓȟȠȪȜțȕȎțȖȚȎȓȠȠȜșȪ
ȘȜȜȒțȡȟȠȞȜȘȡǶțȠȓȞȝȞȓȠȎȠȜȞ/XDȖȑțȜȞȖȞȡȓȠȫȠȡȟȠȞȜȘȡ
ȝȜȠȜȚȡȥȠȜȫȠȜȝȞȜȟȠȜȠȓȘȟȠȘȜȠȜȞȩȗȝȜȭȟțȭȓȠȥȠȜȏȡȒȓȠ
ȝȞȜȖȟȣȜȒȖȠȪȒȎșȓȓȋȠȜȝȞȖȚȓȥȎțȖȓȒșȭșȬȒȓȗȘȜȠȜȞȩȓ
ȏȡȒȡȠȥȖȠȎȠȪȘȜȒȝȞȜȑȞȎȚȚȩ
ĞČęĢđĎČėĨęħđěČģđĜđěČĤĖĔ
ǽȜȟșȓȟȠȞȜȘȖȟșȓȒȡȓȠțȓȟȘȜșȪȘȜȟȠȞȜȘȘȜȒȎȟȢȡțȘȤȖȭ
ȚȖȐȩȕȩȐȎȭȘȜȠȜȞȩȓȝȞȜȑȞȎȚȚȎmydanceȕȎȟȠȎȐșȭȓȠȥȓȞȓ
ȝȎȦȘȡȒȐȖȑȎȠȪȟȭ
mydance
ɑɟɪɟɩɚɲɤɚɧɚɱɢɧɚɟɬɬɚɧɰɟɜɚɬɶ
7. turtle.forward()
8. turtle.back()
9. turtle.turnRight()
10. turtle.forward()
11. turtle.back()
12. turtle.back()
13. turtle.turnLeft()
14. turtle.turnLeft()
15. turtle.back()
16. turtle.turnRight()
ǰȑșȎȐȓȠȩȡȔȓȝȜȕțȎȘȜȚȖșȟȭȟȢȡțȘȤȖȭȚȖturtle.
turnLeft()Ȗturtle.turnRight()ǻȜȓȟȠȪȓȧȓȥȓȠȩȞȓ
ȢȡțȘȤȖȖȒșȭȝȓȞȓȚȓȧȓțȖȭȥȓȞȓȝȎȦȘȖȘȜȠȜȞȩȓȠȩȝȜȘȎ
țȓȕțȎȓȦȪturtle.up()turtle.down()turtle.forward()
Ȗturtle.back().
ǶǽȁǿȀȍȀǿȍȅdzǾdzǽǮȆǸǶǰǽǹȍǿ
77
ĩĖĝěđĜĔĘđęĞĔĜğđĘ
ĝěđĜđĘđĥđęĔīĘĔģđĜđěČĤĖĔ
DzȎȐȎȗȝȜȫȘȟȝȓȞȖȚȓțȠȖȞȡȓȚȟȫȠȖȚȖȢȡțȘȤȖȭȚȖȝȞȓȒțȎ
ȕțȎȥȓțțȩȚȖȒșȭȒȐȖȔȓțȖȭȁȏȓȒȖȟȪȥȠȜȠȩțȎȣȜȒȖȦȪȟȭȐ
ȜȏȜșȜȥȘȓ/XD ȐȚȓȟȠȜȝȞȖȑșȎȦȓțȖȭ>ȒȜșȔțȜȏȩȠȪȡȘȎȕȎțȜ
lua> ȖȐȩȝȜșțȖȟșȓȒȡȬȧȖȓȖțȟȠȞȡȘȤȖȖ
lua>
true
lua>
true
lua>
true
lua>
true
turtle.up()
turtle.down()
turtle.forward()
turtle.back()
ǻȓȕȎȏȩȐȎȗȝȓȞȓȒȡȘȎȕȎțȖȓȚțȎȝȞȎȐșȓțȖȭȒȜȏȎȐșȭȠȪ
ȟșȜȐȜturtle.ȖȡȏȓȒȖȟȪȥȠȜȡȥȓȞȓȝȎȦȘȖȓȟȠȪȠȜȝșȖȐȜ
ȂȡțȘȤȖȖturtle.up()Ȗturtle.down()ȝȓȞȓȚȓȧȎȬȠȥȓ
ȞȓȝȎȦȘȡȐȐȓȞȣȐȐȜȕȒȡȣȖȐȜȕȐȞȎȧȎȬȠȐțȖȕțȎȕȓȚșȬ
ȂȡțȘȤȖȖturtle.forward()Ȗturtle.back()ȝȓȞȓȚȓȧȎȬȠ
ȥȓȞȓȝȎȦȘȡȐȝȓȞȓȒȠȜȓȟȠȪȐțȎȝȞȎȐșȓțȖȖȐȘȜȠȜȞȜȚȜțȎ
©ȟȚȜȠȞȖȠªȖțȎȕȎȒȠȜȓȟȠȪȐȝȞȜȠȖȐȜȝȜșȜȔțȜȚțȎȝȞȎȐșȓ
țȖȖȋȠȖȒȐȖȔȓțȖȭȝȜȘȎȕȎțȩțȎȞȖȟ
ˀ̛̭͘4.3.ˑ̴̶̸̡̡̡̛̛̛̛̛̛̭̪̖̬̥̖̦̯̼̭̱̦̥̙̖̦̖̬̖̪̹́̔̏́̌
dzȟșȖȥȓȞȓȝȎȦȘȎȝȓȞȓȚȓȧȎȓȠȟȭȐțȎȝȞȎȐșȓțȖȖȘȜȠȜȞȜȓ
ȠȞȓȏȡȓȠȢȡțȘȤȖȭȒȐȖȔȓțȖȭȠȜȫȠȎȢȡțȘȤȖȭȐȜȕȐȞȎȧȎȓȠ
ȕțȎȥȓțȖȓtrue. (true ǶȟȠȖțȎ Ȗfalse ǹȜȔȪ ²ȫȠȜșȜȑȖ
ȥȓȟȘȖȓ ȖșȖȏȡșȓȐȩ ȕțȎȥȓțȖȭȘȜȠȜȞȩȓȚȩȝȜȒȞȜȏțȜȞȎȟ
ȟȚȜȠȞȖȚȐȑșȎȐȓ
78
DZǹǮǰǮ
ǽȜȟȠȎȐȪȥȓȞȓȝȎȦȘȡțȎȕȓȚșȬȎȐȜȏȜșȜȥȘȓ/XDȐȩȕȜȐȖ
ȢȡțȘȤȖȬturtle.down()țȎȝȞȖȚȓȞȠȎȘ
lua> turtle.down()
false
Movement obstructed
ǽȜȟȘȜșȪȘȡțȎȝȡȠȖȥȓȞȓȝȎȦȘȖțȎȣȜȒȖȠȟȭȏșȜȘȜțȎțȓ
ȟȚȜȔȓȠȝȓȞȓȚȓȟȠȖȠȪȟȭȐȠȞȓȏȡȓȚȜȚțȎȝȞȎȐșȓțȖȖȠȜȑȒȎȐȩ
ȕȜȐȢȡțȘȤȖȖturtle.down()ȐȓȞțȓȠȕțȎȥȓțȖȓfalseȖȐȩ
ȐȓȒȓȠțȎȫȘȞȎțȟȠȞȜȘȡȟȟȜȜȏȧȓțȖȓȚȜȏȜȦȖȏȘȓdzȟșȖȡȥȓȞȓ
ȝȎȦȘȖțȓȠȠȜȝșȖȐȎ ȜțȎ©ȝȞȜȑȜșȜȒȎșȎȟȪª ȝȓȞȓȒȐȖȔȓțȖȭ
ȠȎȘȔȓțȓȝȞȜȖȕȜȗȒȓȠțȜȜȠȜȏȞȎȕȖȠȟȭȒȞȡȑȜȓȟȜȜȏȧȓțȖȓ
lua> turtle.forward()
false
Out of fuel
ȀȎȘȖȚȜȏȞȎȕȜȚȢȡțȘȤȖȖȒȐȖȔȓțȖȭȖțȢȜȞȚȖȞȡȬȠȜ
ȝȞȖȥȖțȓȝȜȘȜȠȜȞȜȗȒȐȖȔȓțȖȓțȓȐȜȕȚȜȔțȜǿȜȕȒȎȐȎȭȝȞȜ
ȑȞȎȚȚȩȜȝȖȟȎțțȩȓȐȫȠȜȗȘțȖȑȓȠȩȏȡȒȓȦȪȥȎȟȠȜȐȩȕȩ
ȐȎȠȪȢȡțȘȤȖȖȒȐȖȔȓțȖȭȒșȭȝȓȞȓȚȓȧȓțȖȭȥȓȞȓȝȎȦȓȘ
ĢĔĖėħ"ĩĠĠđĖĞēČđĎĤđĕěėČĝĞĔęĖĔ
DzȜȟȖȣȝȜȞȖȟȝȜșțȓțȖȓȝȞȜȑȞȎȚȚȩmydanceȜȟȡȧȓȟȠȐșȭ
șȜȟȪȟȝȜȟȜȏȜȚȘȜȠȜȞȩȗțȎȕȩȐȎȓȠȟȭȝȜȠȜȘȜȚȖȟȝȜșțȓțȖȭ:
ȖȟȝȜșțȓțȖȓȝȞȜȑȞȎȚȚȩțȎȥȖțȎșȜȟȪȟȝȓȞȐȜȗȟȠȞȜȘȖȖȟȣȜȒ
țȜȑȜȘȜȒȎȖȝȜȟșȓȒȜȐȎȠȓșȪțȜȝȓȞȓȚȓȧȎșȜȟȪȐțȖȕȐȩȝȜș
țȭȭȘȎȔȒȡȬȟȠȞȜȘȡǼȒțȎȘȜțȓȟȘȜșȪȘȜȖțȟȠȞȡȘȤȖȗȚȜȔțȜ
ȜȏȨȓȒȖțȖȠȪȐȑȞȡȝȝȡȥȠȜȏȩȝȜȐȠȜȞȖȠȪȖȟȝȜșțȓțȖȓȫȠȜȗ
ȑȞȡȝȝȩȖțȟȠȞȡȘȤȖȗțȓȟȘȜșȪȘȜȞȎȕ²ȤȖȘșȖȥȓȟȘȖDzșȭȫȠȜ
ȑȜȟȡȧȓȟȠȐȡȬȠȟȝȓȤȖȎșȪțȩȓȖțȟȠȞȡȘȤȖȖȀȎȘȖȓȖțȟȠȞȡȘ
ȤȖȖȖȕȚȓțȭȬȧȖȓȝȜȞȭȒȜȘȖȟȝȜșțȓțȖȭȝȞȜȑȞȎȚȚȩ²ȝȜȟșȓ
ȒȜȐȎȠȓșȪțȜȑȜȖȟȝȜșțȓțȖȭȟȠȞȜȘȖȕȎȟȠȞȜȘȜȗ²țȎȕȩȐȎȬȠȟȭ
ȖțȟȠȞȡȘȤȖȭȚȖȡȝȞȎȐșȓțȖȭȝȜȠȜȘȜȚ.
ȅȠȜȏȩȝȜțȎȏșȬȒȎȠȪȕȎȞȎȏȜȠȜȗȜȒțȜȗȖȕȠȎȘȖȣȖțȟȠȞȡȘ
ȤȖȗțȎȕȩȐȎȓȚȜȗȤȖȘșȜȚforȐȜȏȜșȜȥȘȓ/XDȐȓȒȖȟșȓȒȡȬ
ȧȡȬȟȠȞȜȘȡȘȜȒȎ
ǶǽȁǿȀȍȀǿȍȅdzǾdzǽǮȆǸǶǰǽǹȍǿ
79
lua> for i = 1, 4 do print(i) end
1
2
3
4
ǰȐȓȒȓțțȎȭȠȜȏȜȗȖțȟȠȞȡȘȤȖȭȖȓȟȠȪȖțȟȠȞȡȘȤȖȭȤȖȘșȎ
forȀȎȘȜȗȤȖȘșȚȜȔȓȠțȓȟȘȜșȪȘȜȞȎȕȝȜȐȠȜȞȖȠȪȖȟȝȜșțȓțȖȓ
ȡȘȎȕȎțțȜȗȑȞȡȝȝȩȘȜȚȎțȒǽȜȟșȓȒȜȐȎȠȓșȪțȜȟȠȪȘȜȚȎțȒ
ȝȜȒșȓȔȎȧȎȭȖȟȝȜșțȓțȖȬȞȎȟȝȜșȎȑȎȓȠȟȭȚȓȔȒȡȘșȬȥȓȐȩ
ȚȖȟșȜȐȎȚȖdoȖendȖțȎȕȩȐȎȓȠȟȭȏșȜȘȜȚȎȘȎȔȒȜȓȖȟ
ȝȜșțȓțȖȓȏșȜȘȎțȎȕȩȐȎȓȠȟȭȖȠȓȞȎȤȖȓȗǰțȎȦȓȚȝȞȖȚȓȞȓ
ȏșȜȘȟȜȟȠȜȖȠȐȟȓȑȜȖȕȜȒțȜȗȢȡțȘȤȖȖprint(i) ǽȞȜȑȞȎȚ
ȚȖȟȠȩȐȤȖȘșȎȣȥȎȟȠȜȖȟȝȜșȪȕȡȬȠȖȚȓțțȜȝȓȞȓȚȓțțȡȬi.
dzȓȖȚȭȝȞȜȖȟȣȜȒȖȠȟȘȜȞȓȓȐȟȓȑȜȜȠȟșȜȐȎ©LWHUDWLRQªȥȠȜȜȕ
țȎȥȎȓȠ©ȖȠȓȞȎȤȖȭª ǯșȜȘȚȜȔȓȠȟȜȟȠȜȭȠȪțȓȖȕȜȒțȜȗȎȖȕ
țȓȟȘȜșȪȘȖȣȟȠȞȜȘȘȜȒȎțȜȐțȎȦȓȚȝȞȖȚȓȞȓȫȠȜȠȏșȜȘȝȞȜȟȠ
ȖȟȜȒȓȞȔȖȠȐȩȕȜȐȠȜșȪȘȜȜȒțȜȗȢȡțȘȤȖȖȄȖȘșȟȜȐȓȞȦȎȓȠ
țȎȒȢȡțȘȤȖȓȗprint(i)ȖȠȓȞȎȤȖȖȜȠ1ȒȜ4ȠȜȓȟȠȪȝȞȜȟȠȜ
ȐȩȕȩȐȎȓȠȫȠȡȢȡțȘȤȖȬȥȓȠȩȞȓȞȎȕȎȝȜȒȞȭȒ
ǰȖȠȜȑȓȤȖȘși = 1, 4 do print(i) endȝȜȟșȓȒȜȐȎ
ȠȓșȪțȜȐȩȐȜȒȖȠțȎȫȘȞȎțȥȖȟșȎȜȠ1ȒȜ4ǰțȎȥȎșȓȖȟȝȜșțȓ
țȖȭȤȖȘșȎȖțȠȓȞȝȞȓȠȎȠȜȞ/XDȝȞȖȟȐȎȖȐȎȓȠȝȓȞȓȚȓțțȜȗi
ȕțȎȥȓțȖȓ1ȝȞȓȐȞȎȧȎȭȐȩȕȜȐȐȘȜȒprint(1)ȖȜȠȜȏȞȎȔȎȓȠ
țȎȫȘȞȎțȓ1ȋȠȜȝȓȞȐȎȭȖȠȓȞȎȤȖȭȤȖȘșȎforDzȎșȓȓȟșȓȒȡ
ȓȠȖțȟȠȞȡȘȤȖȭȘȜțȤȎȏșȜȘȎ²end²ȖȖȟȝȜșțȓțȖȓȟțȜȐȎȐȜȕ
ȐȞȎȧȎȓȠȟȭȘțȎȥȎșȡȏșȜȘȎǻȎȐȠȜȞȜȗȖȠȓȞȎȤȖȖȕțȎȥȓțȖȓ
ȝȓȞȓȚȓțțȜȗiȡȐȓșȖȥȖȐȎȓȠȟȭțȎ1ȖțȎȫȘȞȎțȓȜȠȜȏȞȎȔȎȓȠ
ȟȭȥȖȟșȜ2ǶȟȝȜșțȓțȖȓȘȜȒȎȝȞȜȒȜșȔȎȓȠȟȭȒȜȠȓȣȝȜȞȝȜȘȎ
ȝȓȞȓȚȓțțȎȭițȓȟȠȎțȓȠȞȎȐțȎ4ȠȜȓȟȠȪȥȖȟșȡȝȜȟșȓȕȎȝȭ
ȠȜȗȋȠȜȏȡȒȓȠȥȓȠȐȓȞȠȎȭȖȝȜȟșȓȒțȭȭȖȠȓȞȎȤȖȭȤȖȘșȎfor.
ǰȠȎȘȜȚȤȖȘșȓȚȜȔțȜȖȟȝȜșȪȕȜȐȎȠȪșȬȏȩȓȥȖȟșȎǻȎ
ȝȞȖȚȓȞȥȠȜȏȩȜȞȑȎțȖȕȜȐȎȠȪȤȖȘșȜȠ10ȒȜ13ȐȜȏȜșȜȥȘȓ
/XDȐȐȓȒȖȟșȓȒȡȬȧȖȗȘȜȒ
lua> for i = 10, 13 do print(i) end
10
11
12
13
80
DZǹǮǰǮ
dzȟșȖȡȘȎȕȎȠȪȠȞȓȠȪȓȥȖȟșȜȘȜȠȜȞȜȓțȎȕȩȐȎȓȠȟȭȦȎȑȜȚ
ȤȖȘșȎȠȜȝȓȞȓȚȓțțȎȭȤȖȘșȎițȎȘȎȔȒȜȗȖȠȓȞȎȤȖȖȏȡȒȓȠ
ȡȐȓșȖȥȖȐȎȠȪȟȭțȓțȎ1ȎțȎȡȘȎȕȎțțȩȗȦȎȑǻȎȝȞȖȚȓȞȝȜ
ȝȞȜȏȡȗȐȜȏȜșȜȥȘȓ/XDȐȩȝȜșțȖȠȪȟșȓȒȡȬȧȡȬȖțȟȠȞȡȘȤȖȬ
lua> for i = 10, 20, 2 do print(i) end
10
12
14
16
18
20
ǰȫȠȜȗȟȠȞȜȘȓȘȜȒȎȦȎȑȞȎȐȓț2ȝȜȫȠȜȚȡȖțȠȓȞȝȞȓȠȎȠȜȞ
/XDȏȡȒȓȠȐȩȐȜȒȖȠȪȐȟȓȥȓȠțȩȓȥȖȟșȎȐȒȖȎȝȎȕȜțȓȜȠ10ȒȜ
20.
ǰȘȎȥȓȟȠȐȓȦȎȑȎȚȜȔțȜȖȟȝȜșȪȕȜȐȎȠȪȖȜȠȞȖȤȎȠȓșȪțȩȓ
ȥȖȟșȎȠȜȑȒȎȝȓȞȓȚȓțțȎȭȤȖȘșȎȏȡȒȓȠțȓȡȐȓșȖȥȖȐȎȠȪȟȭȎ
ȡȚȓțȪȦȎȠȪȟȭȠȜȓȟȠȪȜȠȟȥȓȠȏȡȒȓȠȝȞȜȖȕȐȜȒȖȠȪȟȭȐȜȏȞȎȠ
țȡȬȟȠȜȞȜțȡȜȠȝȓȞȐȜțȎȥȎșȪțȜȑȜȕțȎȥȓțȖȭǿșȓȒȡȬȧȖȗ
ȘȜȒȒȓȚȜțȟȠȞȖȞȡȓȠȒȓȗȟȠȐȖȓȦȎȑȎ-1:
lua> for i = 4, 1, -1 do print(i) end
4
3
2
1
ȋȠȜȠȘȜȒȝȞȜȖȕȐȜȒȖȠȜȏȞȎȠțȩȗȜȠȟȥȓȠȐȒȖȎȝȎȕȜțȓȜȠ4
ȒȜ1ǽȜȝȞȜȏȡȗȖȕȚȓțȖȠȪȦȎȑțȎ-2ȖȝȜȟȚȜȠȞȖȥȠȜȝȞȜ
ȖȕȜȗȒȓȠȄȖȘșȩ²ȫȠȜȝȞȜȟȠȜȗȟȝȜȟȜȏȐȩȝȜșțȖȠȪțȓȟȘȜșȪȘȜ
ȞȎȕȑȞȡȝȝȡȘȜȚȎțȒȏȓȕțȓȜȏȣȜȒȖȚȜȟȠȖȚțȜȑȜȘȞȎȠțȜțȎȏȖ
ȞȎȠȪȜȒțȖȖȠȓȔȓȘȜȚȎțȒȩǰȑșȎȐȓȠȩȡȕțȎȓȦȪȖȜȒȞȡ
ȑȖȣȖțȟȠȞȡȘȤȖȭȣȡȝȞȎȐșȓțȖȭȝȜȠȜȘȜȚ
ĎĜČĥđęĔđģđĜđěČĤĖĔ
ǰȓȞțȓȚȟȭȘȝȞȜȑȞȎȚȚȓmydanceǿȠȞȜȘȖȟȝȜȟȜȒȓȞȔȎȠ
ȤȖȘșforȡȘȎȕȩȐȎȬȧȖȗȥȓȞȓȝȎȦȘȓȟȜȐȓȞȦȖȠȪȝȜȐȜȞȜȠȐȜ
ȘȞȡȑȟȐȜȓȗȜȟȖ
ǶǽȁǿȀȍȀǿȍȅdzǾdzǽǮȆǸǶǰǽǹȍǿ
81
mydance
ɑɟɪɟɩɚɲɤɚɤɪɭɬɢɬɫɹ
19. for i = 1, 4 do
20.
turtle.turnRight()
21. end
ǽȞȖțȎȝȖȟȎțȖȖȤȖȘșȜȐforȐȘȎȔȒȜȗȟȠȞȜȘȓȘȜȒȎȖȕ
ȘȜȠȜȞȜȑȜȟȜȟȠȜȖȠȏșȜȘȤȖȘșȎȜȏȩȥțȜȖȟȝȜșȪȕȡȓȠȟȭȜȠȟȠȡȝ
ȠȜȓȟȠȪȒȜȝȜșțȖȠȓșȪțȩȓȝȞȜȏȓșȩȐțȎȥȎșȓȟȠȞȜȘȖ ȀȎȘȖȓ
ȜȠȟȠȡȝȩȜȏșȓȑȥȎȬȠȝȜțȖȚȎțȖȓȘȎȘȖȓȖȚȓțțȜȟȠȞȜȘȖțȎ
ȣȜȒȭȠȟȭȐțȡȠȞȖȏșȜȘȜȐȜȟȜȏȓțțȜȓȟșȖȐțȡȠȞȖȜȒțȜȑȜȏșȜȘȎ
ȟȜȕȒȎȬȠȟȭȒȞȡȑȖȓ ȐȑșȎȐȓȚȩȟȒȓșȎȓȚȫȠȜ ȅȠȜȏȩȐȖȒȓȠȪ
ȑȒȓȤȖȘșțȎȥȖțȎȓȠȟȭȖȑȒȓȕȎȘȎțȥȖȐȎȓȠȟȭȘșȬȥȓȐȜȓȟșȜȐȜ
endȞȎȕȚȓȧȎȬȠțȎȠȜȚȔȓȡȞȜȐțȓȜȠȟȠȡȝȎȥȠȜȖȘșȬȥȓȐȜȓ
ȟșȜȐȜfor.
ǰȝȞȖȐȓȒȓțțȜȚȝȞȖȚȓȞȓȟȠȞȜȘȎȘȜȒȘȜȠȜȞȜȗȝȜȐȜȞȎ
ȥȖȐȎȓȠȥȓȞȓȝȎȦȘȡțȎȝȞȎȐȜȐȩȝȜșțȭȓȠȟȭȥȓȠȩȞȓȞȎȕȎȀȎ
ȘȖȚȜȏȞȎȕȜȚȥȓȞȓȝȎȦȘȎȞȎȕȐȜȞȎȥȖȐȎȓȠȟȭțȎȑȞȎȒȡȟȜȐ
ǻȜȓȟșȖȐȟȠȞȜȘȓȡȘȎȕȎȠȪȕțȎȥȓțȖȭi = 1, 8ȥȓȞȓȝȎȦȘȎ
ȟȜȐȓȞȦȖȠȒȐȎȝȜșțȩȣȜȏȜȞȜȠȎȘȎȘȝȜȘȎȕȎțȜțȎȞȖȟ
ˀ̛̭͘4.4.ˋ̸̡̨̨̨̨̨̨̨̛̖̬̖̪̹̼̪̣̦̖̯̬̯͕̪̬̭̦̪̬̌̌̏́̔̏̌̍̌̏̌̏̌́̽̌̌̏
̨̭̖̥̬̏̽̌̚
ěĜħĒĚĖęČĘđĝĞđ
ǻȎȘȜțȓȤȐȟȠȞȜȘȎȣȖȥȓȞȓȝȎȦȘȎȟȜȐȓȞȦȖȠȝȞȩȔȜȘțȎ
ȚȓȟȠȓȠȜȓȟȠȪȝȜȒțȖȚȓȠȟȭȐȐȓȞȣȎȕȎȠȓȚȜȝȡȟȠȖȠȟȭ
mydance
23. turtle.up()
24. turtle.down()
25. print('Done.')
ȀȎȘȜȗȝȞȩȔȜȘȖȕȜȏȞȎȔȓțțȎȞȖȟǽȜȟșȓȒțȭȭȟȠȞȜȘȎ
ȐȩȐȜȒȖȠțȎȫȘȞȎțȟșȜȐȜDone.ǿȠȞȜȘȎȝȜȟșȓȒțȭȭțȖȔȓ
țȓȠȖȟȝȜșțȭȓȚȜȑȜȘȜȒȎȖȝȞȜȑȞȎȚȚȎȕȎȐȓȞȦȎȓȠȟȭ
82
DZǹǮǰǮ
ˀ̛̭͘4.5.ˋ̴̶̡̨̨̡̡̨̡̛̛̖̬̖̪̹̭̖̬̹̖̯̪̬̼̙͕̼̼̯̭̱̦̌̌̏̌̐̔̌̏̏̌̀́̚turtle.up()̛turtle.down()͘
ĐĚěĚėęĔĞđėĨęĚđēČĐČęĔđ"ęĚĎħĕĞČęđĢ
Попробуй создать для черепашки свои собственные танцевальные движения. Для этого ты можешь использовать функции перемещения и поворота, научить черепашку прыгать,
крутиться и танцевать в соответствии с твоей собственной
хореографической программой!
ěğčėĔĖČĢĔīĔēČďĜğēĖČěĜĚďĜČĘĘ
ĎĔęĞđĜęđĞđ
ǽȜȟșȓȠȜȑȜȘȎȘȠȩțȎȝȖȟȎșȝȞȜȑȞȎȚȚȡȒșȭȟȐȜȓȗȥȓȞȓ
ȝȎȦȘȖȠȩȚȜȔȓȦȪȝȜȒȓșȖȠȪȟȭȓȬȟȜȟȐȜȖȚȖȒȞȡȕȪȭȚȖ
ȅȠȜȏȩȕȎȑȞȡȔȎȠȪȟȐȜȖȝȞȜȑȞȎȚȚȩȐǶțȠȓȞțȓȠȠȩȚȜȔȓȦȪ
ȐȜȟȝȜșȪȕȜȐȎȠȪȟȭȟȎȗȠȜȚpastebin.comȑȒȓȝȜșȪȕȜȐȎȠȓșȖȜȏ
ȧȎȬȠȟȭȜțșȎȗțȖȜȏȚȓțȖȐȎȬȠȟȭȖȟȣȜȒțȩȚȖȘȜȒȎȚȖȝȞȜ
ȑȞȎȚȚȞȎȕȚȓȧȎȭȖȣțȎȟȎȗȠȓȀȩȠȜȔȓȚȜȔȓȦȪȕȎȑȞȡȔȎȠȪ
ȘȜȒȩȟȐȜȖȣȝȞȜȑȞȎȚȚțȎȟȎȗȠpastebin.comȖȟȝȜșȪȕȡȭ
ȝȞȜȑȞȎȚȚȡpastebinȣȞȎțȭȧȡȬȟȭȐȝȎȚȭȠȖȥȓȞȓȝȎȦȘȖ
ǰȜȏȜșȜȥȘȓȘȜȚȎțȒțȜȗȟȠȞȜȘȖȐȩȝȜșțȖȝȜȘȎȕȎțțȡȬțȖ
ȔȓȘȜȚȎțȒȡȥȠȜȏȩȕȎȑȞȡȕȖȠȪȝȞȜȑȞȎȚȚȡmydancețȎȟȎȗȠ
pastebin.com:
> pastebin put mydance
Connecting to pastebin.com... Success.
Uploaded as
https://pastebin.com/BLCJbpQJ
ǶǽȁǿȀȍȀǿȍȅdzǾdzǽǮȆǸǶǰǽǹȍǿ
83
Run «pastebin get BLCJbpQJ» to download
anywhere
ǽȜȟșȓȕȎȑȞȡȕȘȖȝȞȜȑȞȎȚȚȩȒșȭțȓȓȏȡȒȓȠȟȑȓțȓȞȖȞȜȐȎț
ȡțȖȘȎșȪțȩȗȐȓȏȎȒȞȓȟǸȜȑȒȎȭȕȎȑȞȡȔȎșȟȐȜȬȝȞȜȑȞȎȚȚȡ
ȟȝȜȚȜȧȪȬȘȜȚȎțȒȩpastebinȟȟȎȗȠȎȝȞȖȦșȜȟȜȜȏȧȓțȖȓ
ȥȠȜȝȞȜȑȞȎȚȚȎmydanceȏȩșȎȡȟȝȓȦțȜȕȎȑȞȡȔȓțȎȝȜȎȒȞȓ
ȟȡhttps://pastebin.com/BLCJbpQJ/ǽȜȟșȓȫȠȜȑȜșȬȏȜȗ
ȔȓșȎȬȧȖȗȚȜȔȓȠȝȞȜȟȚȜȠȞȓȠȪȚȜȬȝȞȜȑȞȎȚȚȡȝȓȞȓȗȒȭ
ȝȜȫȠȜȚȡȎȒȞȓȟȡȐȟȐȜȓȚȏȞȎȡȕȓȞȓȀȩȠȜȔȓȚȜȔȓȦȪȕȎȑȞȡ
ȕȖȠȪȚȜȬȝȞȜȑȞȎȚȚȡȐȟȐȜȬȥȓȞȓȝȎȦȘȡȐȐȓȒȭȐȜȏȜșȜȥȘȓ
ȘȜȚȎțȒțȜȗȟȠȞȜȘȖȟșȓȒȡȬȧȡȬȘȜȚȎțȒȡ
> pastebin get BLCJbpQJ mydance
Connecting to pastebin.com... Success.
Downloaded as mydance
ǿȠȞȜȘȎget BLCJbpQJ mydanceȟȜȜȏȧȎȓȠȟȎȗȠȡpastebin.comȥȠȜȠȩȣȜȥȓȦȪȝȜșȡȥȖȠȪȝȞȜȑȞȎȚȚȡȟȜȣȞȎțȓțțȡȬ
ȝȜȎȒȞȓȟȡhttpspastebin.com/BLCJbpQJ/ȖȟȜȣȞȎțȖȠȪ
ȓȓȐȝȎȚȭȠȖȥȓȞȓȝȎȦȘȖȝȜȒȖȚȓțȓȚmydanceȀȓȝȓȞȪȡȠȓȏȭ
ȓȟȠȪȟȝȜȟȜȏȕȎȑȞȡȔȎȠȪȢȎȗșȩȥȠȜȏȩȒȓșȖȠȪȟȭȖȚȖȟȒȞȡȑȖ
ȚȖȝȞȜȑȞȎȚȚȖȟȠȎȚȖ
dzȟșȖȘȜȚȎțȒȎpastebinȝȞȖȐȩȝȜșțȓțȖȖȜȠȜȏȞȎȔȎȓȠ
ȟȜȜȏȧȓțȖȓConnecting to pastebin.com... Failed.ȝȞȜ
ȐȓȞȪȝȜȒȘșȬȥȓțȖȓȘǶțȠȓȞțȓȠȡȖȘȜȞȞȓȘȠțȜȟȠȪȡȘȎȕȎțțȜȑȜ
ȎȞȑȡȚȓțȠȎȘȜȚȎțȒȩ ȕțȎȥȓțȖȭBLCJbpQJȖșȖșȬȏȜȑȜȒȞȡȑȜ
ȑȜȎȒȞȓȟȎțȎȕțȎȥȓțțȜȑȜȟȎȗȠȜȚ dzȟșȖȘȜȚȎțȒȎpastebin
ȐȩȐȜȒȖȠȟȜȜȏȧȓțȖȓFile already existsȠȓȢȎȗșȡȔȓ
ȟȡȧȓȟȠȐȡȓȠȠȜȟȡȧȓȟȠȐȡȬȧȡȬȝȞȜȑȞȎȚȚȡmydanceȟțȎȥȎ
șȎȟșȓȒȡȓȠȡȒȎșȖȠȪǸȎȘ"ȅȖȠȎȗȒȎșȪȦȓ
ğĐČėđęĔđĠČĕėĚĎĔēěČĘīĞĔģđĜđěČĤĖĔ
ǸȜȑȒȎȠȩȕȎȝȡȟȘȎȓȦȪȝȞȜȑȞȎȚȚȡpastebinȠȩȟȜȜȏȧȎȓȦȪ
ȓȗȥȠȜȣȜȥȓȦȪȕȎȑȞȡȕȖȠȪȢȎȗșȖȟȜȣȞȎțȖȠȪȓȑȜȝȜȒȖȚȓțȓȚ
mydanceȐȝȎȚȭȠȖȥȓȞȓȝȎȦȘȖǻȜȓȟșȖȝȞȜȑȞȎȚȚȎȟȠȎȘȖȚ
ȖȚȓțȓȚȡȔȓȟȡȧȓȟȠȐȡȓȠ țȎȝȞȖȚȓȞȠȎȘȜȠȜȞȡȬȠȩȟȜȕȒȎșȟ
ȝȜȚȜȧȪȬȘȜȚȎțȒȩedit mydance țȡȔțȜȐȩȏȞȎȠȪȒȞȡȑȜȓ
ȖȚȭȖșȖȡȒȎșȖȠȪȟȡȧȓȟȠȐȡȬȧȡȬȝȞȜȑȞȎȚȚȡmydance.
84
DZǹǮǰǮ
DzșȭȡȒȎșȓțȖȭȝȞȜȑȞȎȚȚȩȖȕȝȎȚȭȠȖȥȓȞȓȝȎȦȘȖȐȐȓȒȖ
ȘȜȚȎțȒȡdeleteȎȕȎȠȓȚȖȚȭȡȒȎșȭȓȚȜȗȝȞȜȑȞȎȚȚȩǻȎ
ȝȞȖȚȓȞȠȎȘ
> delete mydance
ȋȠȎȘȜȚȎțȒȎȡȒȎșȖȠȝȞȜȑȞȎȚȚȡmydanceȀȓȝȓȞȪȥȠȜȏȩ
ȕȎȑȞȡȕȖȠȪȝȞȜȑȞȎȚȚȡȖȕǶțȠȓȞțȓȠȎȠȩȟțȜȐȎȚȜȔȓȦȪȐȩ
ȝȜșțȖȠȪȘȜȚȎțȒȡpastebin get BLCJbpQJ mydance.
ĚďĜČęĔģđęĔīęČĝČĕĞđ8); lua
Interactive Lua prompt.
Call exit() to exit.
ǵȎȠȓȚȥȠȜȏȩȫȘȖȝȖȞȜȐȎȠȪȥȓȞȓȝȎȦȘȡȒȜȏȎȐșȓțțȩȚȖț
ȟȠȞȡȚȓțȠȜȚȐȩȝȜșțȖȟșȓȒȡȬȧȡȬȘȜȚȎțȒȡ
lua> turtle.equipLeft()
106
DZǹǮǰǮ
ȅȓȞȓȝȎȦȘȡȚȜȔțȜȜȟțȎȟȠȖȠȪȟȞȎȕȡȒȐȡȚȭȖțȟȠȞȡȚȓț
ȠȎȚȖȜȒțȖȚȟșȓȐȎȎȒȞȡȑȖȚȟȝȞȎȐȎdzȟșȖȔȓțȡȔțȜ©ȞȎ
ȕȜȞȡȔȖȠȪªȥȓȞȓȝȎȦȘȡȐȩȕȜȐȖȢȡțȘȤȖȬturtle.eq uipLeft()ȖșȖturtle.equipRight()țȖȥȓȑȜțȓȒȜȏȎȐșȭȭ
ȐȠȓȘȡȧȡȬȭȥȓȗȘȡǶțȟȠȞȡȚȓțȠȏȡȒȓȠȡȏȞȎțȖȝȜȚȓȧȓțȐ
ȖțȐȓțȠȎȞȪ
ȅȓȞȓȝȎȦȘȡȚȜȔțȜȜȟțȎȟȠȖȠȪșȬȏȩȚȖȎșȚȎȕțȩȚȖȖț
ȟȠȞȡȚȓțȠȎȚȖțȜȎșȚȎȕțȎȭȘȖȞȘȎȡțȖȐȓȞȟȎșȪțȎǮșȚȎȕțȎȭ
șȜȝȎȠȎȝȜȕȐȜșȭȓȠȐȩȘȎȝȩȐȎȠȪȕȓȚșȭțȩȓȏșȜȘȖȎȎșȚȎȕ
țȩȗȠȜȝȜȞ²ȐȩȞȡȏȎȠȪȒȞȓȐȓȟȖțȡțȜțȓȜțȖțȓȚȜȑȡȠȒȜȏȩ
ȐȎȠȪȘȎȚȓțȪȖșȖȞȡȒȡǮșȚȎȕțȎȭȘȖȞȘȎȝȜȕȐȜșȭȓȠȒȜȏȩȐȎȠȪ
ȐȟȓȠȖȝȩȏșȜȘȜȐȝȜȫȠȜȚȡȚȩȖȏȡȒȓȚȓȓȖȟȝȜșȪȕȜȐȎȠȪȒșȭ
ȐȟȓȣȥȓȞȓȝȎȦȓȘȐȫȠȜȗȘțȖȑȓ
ǰȜȜȞȡȔȓțțȎȭȘȖȞȘȜȗȥȓȞȓȝȎȦȘȎȚȜȔȓȠȐȩȕȐȎȠȪȢȡțȘ
ȤȖȬturtle.dig()ȟȝȜȚȜȧȪȬȘȜȠȜȞȜȗȜțȎȚȜȔȓȠȒȜȏȩ
ȐȎȠȪȏșȜȘȖȖȒȞȓȐȓȟȖțȡȋȠȜȚȩȖȖȕȡȥȖȚȐȟșȓȒȡȬȧȓȚ
ȞȎȕȒȓșȓ
ČėďĚĜĔĞĘĜğčĖĔĐđĜđĎČ
ǽȞȓȔȒȓȥȓȚȝȖȟȎȠȪȘȜȒȒȎȐȎȗȠȧȎȠȓșȪțȜȝȞȜȒȡȚȎȓȚ
ȥȠȜțȡȔțȜȒȓșȎȠȪȥȓȞȓȝȎȦȘȓșȓȟȜȞȡȏȡǽȞȓȒȐȎȞȖȠȓșȪțȜȓ
ȝșȎțȖȞȜȐȎțȖȓȝȜȚȜȔȓȠȐȩȭȐȖȠȪȜȦȖȏȘȖȒȜȠȜȑȜȘȎȘȝȞȜ
ȑȞȎȚȚȎȏȡȒȓȠțȎȝȖȟȎțȎȎțȓȝȜȟșȓǸȎȘȑȜȐȜȞȭȠȜȝȩȠțȩȓ
ȝșȜȠțȖȘȖ©ȟȓȚȪȞȎȕȜȠȚȓȞȪȜȒȖțȜȠȞȓȔȪªǽȞȜȞȎȏȜȠȎȓȚ
ȎșȑȜȞȖȠȚȞȎȏȜȠȩȥȓȞȓȝȎȦȘȖșȓȟȜȞȡȏȎǮșȑȜȞȖȠȚ²ȫȠȜȝȜ
ȟșȓȒȜȐȎȠȓșȪțȜȟȠȪȒȓȗȟȠȐȖȗȘȜȠȜȞȩȓțȎȒȜȐȩȝȜșțȖȠȪȘȜȚ
ȝȪȬȠȓȞȡȒșȭȞȓȦȓțȖȭȝȜȟȠȎȐșȓțțȜȗȕȎȒȎȥȖ
ȅȠȜȏȩȟȞȡȏȖȠȪȒȓȞȓȐȜȚȩȝȜȚȓȧȎȓȚȥȓȞȓȝȎȦȘȡȡȓȑȜȜȟ
țȜȐȎțȖȭȞȡȏȖȚȒȐȖȑȎȓȚȟȭȐȝȓȞȓȒȞȡȏȖȚțȎȒȥȓȞȓȝȎȦȘȜȗ
ȝȜȒțȖȚȎȓȚȟȭȐȐȓȞȣȎȕȎȠȓȚȝȜȐȠȜȞȭȓȚȝȜȟșȓȒțȖȓȒȐȎȦȎȑȎ
ȒșȭȐȟȓȑȜȒȓȞȓȐȎǸȜȑȒȎȥȓȞȓȝȎȦȘȎȝȜșțȜȟȠȪȬȐȩȞȡȏȖȠȒȓ
ȞȓȐȜȜțȎȐȓȞțȓȠȟȭțȎȕȓȚșȬȥȠȜȏȩȓȓȚȜȔțȜȏȩșȜȕȎȏȞȎȠȪ
ǻȎȞȖȟ²ȝȜȘȎȕȎțȐȓȟȪȝȞȜȤȓȟȟ
DzșȭȝȓȞȓȚȓȧȓțȖȭȥȓȞȓȝȎȦȘȖȚȩȏȡȒȓȚȖȟȝȜșȪȕȜȐȎȠȪ
ȢȡțȘȤȖȖturtle.forward()Ȗturtle.up()ǮȥȠȜȏȩȕȎȟȠȎ
ȐȖȠȪȥȓȞȓȝȎȦȘȡȞȡȏȖȠȪ ȠȜȓȟȠȪȒȜȏȩȐȎȠȪȒȞȓȐȓȟȖțȡ Ȗȟ
ȝȜșȪȕȡȓȚȢȡțȘȤȖȬturtle.dig()ȘȜȠȜȞȎȭȏȡȒȓȠȒȜȏȩȐȎȠȪ
ǽǾǼDZǾǮǺǺǶǾǼǰǮǻǶdzȅdzǾdzǽǮȆǸǶǹdzǿǼǾȁǯǮ
107
ˀ̛̭͘ϲ͘Ϯ͘ˋ̡̖̬̖̪̹̌̌
̨̡̪̖̬̦̱̯̖̬̖̱̏̌̔̏
̸̡̛̛̦̦̖̯̬̱̱̌̌̍̏
̸̨̛̛̦̙̦̖̜̖̭̯̐̌
ˀ̛̭͘ϲ͘ϯ͘ˋ̡̖̬̖̪̹̼̌̌̏Ͳ
̨̡̛̛̬̱̖̯̦̙̦̜̣̍̌̍
̛̖̬̖͕̯̖̥̙̖̯̔̏̌̌̌̔̏̚Ͳ
̸̡̨̭̪̖̬̖͕̯͕̯̼́̏̔̌̍
̸̨̨̨̛̱̯̯̭̪̖̬̖̥̽́̔̔̏
ˀ̛̭͘ϲ͘ϱ͘ˋ̡̖̬̖̪̹̌̌
̨̨̪̬̣̙̖̯̼̬̱̯̔̌̏̍̌̽
̨̡̨̡̛̖̬̖̦̦̼̖̣͕̪̔̏́̍̌
̨̦̦̖̜̦̖̭̯̦̖̯̭̌̔̌́
̛̬̖̖̭̦̼̔̏
ˀ̛̭͘ϲ͘ϰ͘ˋ̡̖̬̖̪̹̼̌̌̏Ͳ
̨̡̡̨̨̬̱̖̯̣͕̯̬̼̜̍̌̍
̵̨̛̦̯̭̦̦̖̜͕̌̔́̌̔̌
̵̛̯̖̥̙̖̯̭̖̬̌̔̏́̏̏̚
̶̨̨̛̛̦̦̱̪̌̔̀̚
ˀ̛̭͘ϲ͘ϲ͘ˋ̡̨̖̬̖̪̹̌̌̏̚Ͳ
̬̺̖̯̭̦̖̥̣͕̏̌̌́̌̀̚
̸̨̨̡̨̛̯̼̬̥̖̖̍̐̐̌̚Ͳ
̬̯̍̌̽͘ʸ̨̛̭̯̪̬̪̱̯̽́̌̔
̸̡̨̨̨̖̬̖̦̖̯̬̖̬̖̥̏́̚
ȏșȜȘȞȎȟȝȜșȜȔȓțțȩȗȝȓȞȓȒțȓȗȎȠȎȘȔȓȢȡțȘȤȖȬturtle.
digUp()ȘȜȠȜȞȎȭȒȜȏȩȐȎȓȠȏșȜȘțȎȒȥȓȞȓȝȎȦȘȜȗ
DzȓȞȓȐȪȭȐ0LQHFUDIWȒȜȟȠȖȑȎȬȠȞȎȕțȜȗȐȩȟȜȠȩȝȜȫȠȜȚȡ
ȣȜȠȓșȜȟȪȏȩțȎȝȖȟȎȠȪȝȞȜȑȞȎȚȚȡȐȘȜȠȜȞȜȗțȓȏȡȒȓȠȔȓȟȠ
ȘȜȘȜȒȖȞȜȐȎȠȪȟȭȐȩȟȜȠȎȒȓȞȓȐȎǴȓȟȠȘȜȓȘȜȒȖȞȜȐȎțȖȓȜȕ
țȎȥȎȓȠȝȞȜȑȞȎȚȚȖȞȜȐȎțȖȓȜȑȞȎțȖȥȓțțȜȑȜȢȖȘȟȖȞȜȐȎț
țȜȑȜȞȓȦȓțȖȭǽȞȜȑȞȎȚȚȩȟȔȓȟȠȘȖȚȘȜȒȖȞȜȐȎțȖȓȚțȓ
ȚȜȑȡȠȜȏȞȎȏȎȠȩȐȎȠȪȞȎȕșȖȥțȩȓȟȖȠȡȎȤȖȖȠȎȘȘȎȘȒșȭ
108
DZǹǮǰǮ
ȫȠȜȑȜȠȞȓȏȡȓȠȟȭȝȓȞȓȝȖȟȎȠȪȘȜȒǻȎȝȞȖȚȓȞȚȜȔțȜțȎȝȖ
ȟȎȠȪȠȎȘȜȗȘȜȒ
turtle.digUp()
turtle.up()
turtle.digUp()
turtle.up()
turtle.digUp()
turtle.up()
turtle.digUp()
ȋȠȎȝȞȜȑȞȎȚȚȎȝȞȜȟȠȎȖȝȜțȭȠțȎțȜȟțȓȗȥȓȞȓȝȎȦȘȎ
ȚȜȔȓȠȞȡȏȖȠȪȠȜșȪȘȜȠȓȒȓȞȓȐȪȭȐȩȟȜȠȎȘȜȠȜȞȩȣȟȜȟȠȎȐșȭ
ȓȠȞȜȐțȜȥȓȠȩȞȓȏșȜȘȎdzȟșȖȔȓȠȩȣȜȥȓȦȪȥȠȜȏȩȥȓȞȓȝȎȦ
ȘȎȐȩȞȡȏȎșȎȒȓȞȓȐȪȭȞȎȕțȩȣȞȎȕȚȓȞȜȐȫȠȜȠȒȎșȓȘȜțȓȖȒȓ
ȎșȪțȩȗȘȜȒȝȞȖȒȓȠȟȭȝȓȞȓȝȖȟȎȠȪ
ǻȜȟțȎȥȎșȎȒȎȐȎȗȞȎȕȞȎȏȜȠȎȓȚȎșȑȜȞȖȠȚȒșȭȐȩȞȡȏȘȖ
ȒȓȞȓȐȪȓȐșȬȏȜȑȜȞȎȕȚȓȞȎǸȝȞȖȚȓȞȡȎșȑȜȞȖȠȚȚȜȔȓȠȟȜ
ȟȠȜȭȠȪȖȕȟșȓȒȡȬȧȖȣȦȎȑȜȐ
1. ȅȓȞȓȝȎȦȘȎȝȜȐȓȞțȡȠȎȭȐțȎȝȞȎȐșȓțȖȖȒȓȞȓȐȎȝȜȚȓ
ȧȎȓȠȟȭȡȓȑȜȜȟțȜȐȎțȖȭ
2. ȅȓȞȓȝȎȦȘȎȐȩȞȡȏȎȓȠțȖȔțȖȗȏșȜȘȒȓȞȓȐȎȞȎȟȝȜșȜ
ȔȓțțȩȗȝȞȭȚȜȝȓȞȓȒțȓȗ
3. ȅȓȞȓȝȎȦȘȎȒȐȖȔȓȠȟȭȝȜȒȒȓȞȓȐȜ
4. ǰȩȞȡȏȎȓȠȏșȜȘȞȎȟȝȜșȜȔȓțțȩȗțȎȒțȓȗȖȝȜȒțȖȚȎ
ȓȠȟȭȐȩȦȓȒȜȠȓȣȝȜȞȝȜȘȎțȎȒțȓȗțȓȜȟȠȎțȓȠȟȭȏșȜȘȜȐ
ȒȞȓȐȓȟȖțȩ
5. DzȐȖȔȓȠȟȭȐțȖȕȝȜȘȎțȓȐȓȞțȓȠȟȭțȎȕȓȚșȬ
6. ǿȠȜȝ
ȋȠȜȠȎșȑȜȞȖȠȚȝȜȕȐȜșȖȠȥȓȞȓȝȎȦȘȓȞȡȏȖȠȪȒȓȞȓȐȪȭșȬ
ȏȜȗȐȩȟȜȠȩdzȑȜȠȩȞȓȎșȖȕȡȓȦȪȐȝȞȜȑȞȎȚȚȓchoptree.
ĖĚĐěĜĚďĜČĘĘħ+078>ɉɪɨɝɪɚɦɦɚɜɵɪɭɛɤɢɞɟɪɟɜɶɟɜɗɥɚɋɜɟɣɝɚɪɬɚ
2. Chops down the tree in front of turtle.]]
3.
4. if not turtle.detect() then
HUURU &RXOGQRW¿QGWUHH
6. end
7.
8. print('Chopping tree...')
9.
LIQRWWXUWOHGLJ WKHQɜɵɪɭɛɤɚɨɫɧɨɜɚɧɢɹɞɟɪɟɜɚ
11.
error('Turtle needs a digging tool!')
12. end
13.
WXUWOHIRUZDUG ɩɟɪɟɦɟɳɟɧɢɟɩɨɞɞɟɪɟɜɨ
15. while turtle.compareUp() do
ɜɵɪɭɛɤɚɩɨɤɚɨɛɧɚɪɭɠɢɜɚɟɬɫɹɞɪɟɜɟɫɢɧɚ
17.
turtle.digUp()
18.
turtle.up()
19. end
20.
ɜɨɡɜɪɚɳɟɧɢɟɧɚɡɟɦɥɸ
22. while not turtle.detectDown() do
23.
turtle.down()
24. end
25.
26. print('Done chopping tree.')
ǿȜȣȞȎțȖȝȞȜȑȞȎȚȚȡȝȜȟșȓȐȐȜȒȎȐȟȓȣȖțȟȠȞȡȘȤȖȗǻȎ
ȔȎȐȘșȎȐȖȦȡCtrlȜȠȘȞȜȗȚȓțȬǰȩȏȓȞȖȝȡțȘȠ[Save]Ȗ
țȎȔȚȖȘșȎȐȖȦȡEnterǵȎȠȓȚȐȩȗȒȖȖȕȞȓȒȎȘȠȜȞȎțȎ
ȔȎȐȘșȎȐȖȦȡCtrlȐȩȏȞȎȐȝȡțȘȠ[Exit]ȖțȎȔȎȐȘșȎȐȖ
ȦȡEnter.
110
DZǹǮǰǮ
ēČěğĝĖěĜĚďĜČĘĘħ+078>ɉɪɨɝɪɚɦɦɚɜɵɪɭɛɤɢɞɟɪɟɜɶɟɜɗɥɚɋɜɟɣɝɚɪɬɚ
2. Chops down the tree in front of turtle.]]
3.
4. if not turtle.detect() then
ȂȡțȘȤȖȭturtle.detect()ȐȜȕȐȞȎȧȎȓȠȕțȎȥȓțȖȓtrue
ȓȟșȖȘȎȘȜȗșȖȏȜȏșȜȘțȎȣȜȒȖȠȟȭȝȓȞȓȒȥȓȞȓȝȎȦȘȜȗȖșȖ
falseȓȟșȖȝȓȞȓȒțȓȗțȖȥȓȑȜțȓȠȂȡțȘȤȖȭȠȎȘȔȓȐȜȕȐȞȎ
ȧȎȓȠȕțȎȥȓțȖȓfalseȓȟșȖȝȓȞȓȒȥȓȞȓȝȎȦȘȜȗȐȜȒȎȖșȖșȎ
ȐȎȝȜȠȜȚȡȥȠȜȥȓȞȓȝȎȦȘȎȚȜȔȓȠȝȓȞȓȚȓȧȎȠȪȟȭȝȜȫȠȖȚȠȖ
ȝȎȚȏșȜȘȜȐ
ǽȜȒȜȏțȜȐȩȕȜȐȎȚturtle.digUp()Ȗturtle.digDown()
ȢȡțȘȤȖȖturtle.detectUp()Ȗturtle.detectDown()Ȝȏ
țȎȞȡȔȖȐȎȬȠȏșȜȘȖȐȩȦȓȖțȖȔȓȥȓȞȓȝȎȦȘȖȟȜȜȠȐȓȠȟȠȐȓț
țȜȃȜȠȭȢȡțȘȤȖȭturtle.detect()ȚȜȔȓȠȜȝȞȓȒȓșȖȠȪțȎ
ȣȜȒȖȠȟȭșȖȠȐȓȞȒȩȗȏșȜȘȝȓȞȓȒȥȓȞȓȝȎȦȘȜȗȜțȎțȓȚȜȔȓȠ
ȡȕțȎȠȪȘȎȘȜȗȖȚȓțțȜȫȠȜȏșȜȘǽȞȜȑȞȎȚȚȓȝȞȖȣȜȒȖȠȟȭȝȜ
șȎȑȎȠȪȟȭțȎȠȜȥȠȜȝȜșȪȕȜȐȎȠȓșȪȝȜȚȓȟȠȖȠȥȓȞȓȝȎȦȘȡȝȓ
ȞȓȒȒȓȞȓȐȜȚ
ǽȓȞȓȒȢȡțȘȤȖȓȗturtle.detect()ȐȟȠȞȜȘȓțȎȣȜȒȖȠȟȭ
șȜȑȖȥȓȟȘȖȗȜȝȓȞȎȠȜȞnotȘȜȠȜȞȩȗȚȩȞȎȟȟȚȜȠȞȖȚȐȟșȓȒȡ
ȬȧȓȚȞȎȕȒȓșȓ
ėĚďĔģđĝĖĔĕĚěđĜČĞĚĜ67<
ǼȝȓȞȎȠȜȞnotȝȜȒȒȓȞȔȖȐȎȓȠȠȜșȪȘȜșȜȑȖȥȓȟȘȖȓȐȩȞȎȔȓ
țȖȭȐȜȕȐȞȎȧȎȭȕțȎȥȓțȖȓȝȞȜȠȖȐȜȝȜșȜȔțȜȓȎȞȑȡȚȓțȠȡȀȎ
ȘȖȚȜȏȞȎȕȜȚQRWWUXH²ȫȠȜIDOVHȎQRWIDOVH²ȫȠȜWUXHǰȜȏȜ
șȜȥȘȓ/XDȐȐȓȒȖȟșȓȒȡȬȧȖȓȘȜȚȎțȒȩ
112
DZǹǮǰǮ
lua> not true
false
lua> not false
true
lua> myAge = 8
lua> not (myAge > 5)
false
ǹȜȑȖȥȓȟȘȖȗȜȝȓȞȎȠȜȞnotȚȜȔțȜȖȟȝȜșȪȕȜȐȎȠȪțȓȠȜșȪ
ȘȜȐȘȜțȟȠȞȡȘȤȖȭȣȠȖȝȎnot falsețȜȖȐșȬȏȩȣȒȞȡȑȖȣ
șȜȑȖȥȓȟȘȖȣȐȩȞȎȔȓțȖȭȣțȎȝȞȖȚȓȞnot (myAge > 5)ȋȠȜ
ȞȎȏȜȠȎȓȠȟșȓȒȡȬȧȖȚȜȏȞȎȕȜȚ
not (myAge > 5)
not (8 > 5)
not true
false
ǰȟȠȞȜȘȓȝȞȜȑȞȎȚȚȩchoptreeȜȝȓȞȎȠȜȞnotȖȕȚȓțȭ
ȓȠșȜȑȖȥȓȟȘȜȓȕțȎȥȓțȖȓȐȜȕȐȞȎȧȎȓȚȜȓȢȡțȘȤȖȓȗturtle.
detect()țȎȝȞȜȠȖȐȜȝȜșȜȔțȜȓdzȟșȖȝȓȞȓȒȥȓȞȓȝȎȦȘȜȗ
țȓȠȏșȜȘȎȢȡțȘȤȖȭturtle.detect()ȐȓȞțȓȠfalseȎȜȝȓ
ȞȎȠȜȞnotȜȏȞȎȠȖȠȫȠȜȕțȎȥȓțȖȓȐtrueǿȠȞȜȘȡif not
turtle.detect() thenȚȜȔțȜȝȞȜȥȖȠȎȠȪȘȎȘ©ȓȟșȖȥȓȞȓ
ȝȎȦȘȎțȓȜȏțȎȞȡȔȖȐȎȓȠȏșȜȘȜțȎȐȩȝȜșțȭȓȠȟșȓȒȡȬȧȖȗ
ȏșȜȘȘȜȒȎªdzȟșȖȘȎȘȜȗșȖȏȜȏșȜȘȜȏțȎȞȡȔȓțȝȓȞȓȒȥȓȞȓ
ȝȎȦȘȜȗȐȩȝȜșțȭȓȠȟȭȏșȜȘȘȜȒȎȘȜȠȜȞȩȗȟșȓȒȡȓȠȕȎȖț
ȟȠȞȡȘȤȖȓȗif.
ǿȡȧȓȟȠȐȡȓȠȓȧȓȒȐȎșȜȑȖȥȓȟȘȖȣȜȝȓȞȎȠȜȞȎandȖorǺȩ
țȓȏȡȒȓȚȖȟȝȜșȪȕȜȐȎȠȪȖȣȐȝȞȜȑȞȎȚȚȓchoptreețȜȞȎȟ
ȟȚȜȠȞȖȚȘȎȘȜțȖȞȎȏȜȠȎȬȠȝȜȟȘȜșȪȘȡȜțȖȝȞȖȑȜȒȭȠȟȭȐ
ȒȞȡȑȖȣȝȞȜȑȞȎȚȚȎȣ
ǽǾǼDZǾǮǺǺǶǾǼǰǮǻǶdzȅdzǾdzǽǮȆǸǶǹdzǿǼǾȁǯǮ
113
ėĚďĔģđĝĖĔĕĚěđĜČĞĚĜ)6,
ǹȜȑȖȥȓȟȘȖȗ ȜȝȓȞȎȠȜȞandȜȤȓțȖȐȎȓȠȒȐȎșȜȑȖȥȓȟȘȖȣȕțȎȥȓ
țȖȭȖȐȜȕȐȞȎȧȎȓȠȞȓȕȡșȪȠȎȠtrueȓȟșȖȜțȖȜȏȎȖȟȠȖțțȩ
(true dzȟșȖȣȜȠȭȏȩȜȒțȜȖȕțȖȣșȜȔțȜ false ȠȜȖȜȝȓȞȎ
ȠȜȞȐȓȞțȓȠȕțȎȥȓțȖȓfalseǰȜȏȜșȜȥȘȓ/XDȐȐȓȒȖȟșȓȒȡȬ
ȧȖȓȖțȟȠȞȡȘȤȖȖ
lua> true and true
true
lua> true and false
false
lua> false and true
false
lua> false and false
false
ǽȜȞȭȒȜȘȞȎȟȝȜșȜȔȓțȖȭȜȤȓțȖȐȎȓȚȩȣȕțȎȥȓțȖȗțȓȐșȖȭ
ȓȠțȎȜȤȓțȘȡȐȩȞȎȔȓțȖȭȐȤȓșȜȚ
ȋȠȜȠȜȝȓȞȎȠȜȞȚȜȔțȜȖȟȝȜșȪȕȜȐȎȠȪȖȐȟșȜȔțȩȣȐȩȞȎ
ȔȓțȖȭȣțȎȝȞȖȚȓȞȠȎȘ
lua> 4 < 5 and 5 < 6
true
lua> myName = 'Al'
lua> theirName = 'Alice'
lua> myName == 'Al' and theirName == 'Bob'
false
ǰȩȞȎȔȓțȖȓ4 < 5 and 5 < 6ȜȤȓțȖȐȎȓȠȟȭȟșȓȒȡȬȧȖȚ
ȜȏȞȎȕȜȚ
4 < 5 and 5 < 6
true and 5 < 6
true and true
true
114
DZǹǮǰǮ
ǽȜȟȘȜșȪȘȡȟȜȏȓȖȣȟȠȜȞȜțȜȝȓȞȎȠȜȞȎandȐȩȞȎȔȓțȖȭȖȟ
ȠȖțțȩȠȜȖȜȝȓȞȎȠȜȞȐȓȞțȓȠȕțȎȥȓțȖȓtrue.
ǻȜȐȟȠȞȜȘȓmyName == 'Al' and theirName == 'Bob'
ȐȩȞȎȔȓțȖȭȟȜȏȓȖȣȟȠȜȞȜțȜȝȓȞȎȠȜȞȎțȓȖȟȠȖțțȩ
myName
== 'Al' and theirName == 'Bob'
'Al' == 'Al' and theirName == 'Bob'
true and theirName == 'Bob'
true and 'Alice' == 'Bob'
true and false
false
ėĚďĔģđĝĖĔĕĚěđĜČĞĚĜ7:
ǹȜȑȖȥȓȟȘȖȗ ȜȝȓȞȎȠȜȞorȜȤȓțȖȐȎȓȠȒȐȎșȜȑȖȥȓȟȘȖȣȕțȎȥȓ
țȖȭȖȐȜȕȐȞȎȧȎȓȠȞȓȕȡșȪȠȎȠtrueȓȟșȖȜȒțȜȖȕțȖȣȖȟȠȖț
țȜdzȟșȖȜȏȎȕțȎȥȓțȖȭșȜȔțȩ false ȐȟȓȐȩȞȎȔȓțȖȓȝȞȖ
țȖȚȎȓȠȕțȎȥȓțȖȓfalseǰȐȓȒȖȐȜȏȜșȜȥȘȓ/XDȟșȓȒȡȬȧȖȓ
ȖțȟȠȞȡȘȤȖȖ
lua> true or true
true
lua> true or false
true
lua> false or true
true
lua> false or false
false
ǰȜȠșȖȥȖȓȜȠȜȝȓȞȎȠȜȞȎandȜȝȓȞȎȠȜȞorȐȓȞțȡșȕțȎȥȓ
țȖȓfalseȠȜșȪȘȜȐȝȜȟșȓȒțȓȚȟșȡȥȎȓ
ȋȠȜȠȜȝȓȞȎȠȜȞȠȎȘȔȓȚȜȔțȜȖȟȝȜșȪȕȜȐȎȠȪȐȟșȜȔțȩȣȐȩ
ȞȎȔȓțȖȭȣțȎȝȞȖȚȓȞȠȎȘ
ǽǾǼDZǾǮǺǺǶǾǼǰǮǻǶdzȅdzǾdzǽǮȆǸǶǹdzǿǼǾȁǯǮ
115
lua> 10 > 5 or 'Hello' == 'Hello'
true
lua> myName = 'Al'
lua> myAge = 8
lua> myName == 'Zophie' or myAge < 10
true
lua> myName == 'Zophie' or myAge ~= 8
false
ǰȩȞȎȔȓțȖȓmyName == 'Zophie' or myAge < 10ȜȤȓ
țȖȐȎȓȠȟȭȟșȓȒȡȬȧȖȚȜȏȞȎȕȜȚ
myName == 'Zophie' or myAge < 10
'Al' == 'Zophie' or myAge < 10
false or myAge < 10
false or 8 < 10
false or true
true
ǰȞȎȟȟȚȎȠȞȖȐȎȓȚȜȗȟȠȞȜȘȓȜȒțȎȥȎȟȠȪșȜȔțȎȎȒȞȡȑȎȭȖȟ
ȠȖțțȎȖȐȩȞȎȔȓțȖȓȐȤȓșȜȚȜȤȓțȖȐȎȓȠȟȭȘȎȘȖȟȠȖțțȜȓǻȜ
myName == 'Zophie' or myAge ~= 8 ȐȟȠȞȜȘȓmyName == 'Zophie' or myAge ~= 8
șȜȔțȩȜȏȓȥȎȟȠȖȐȩȞȎȔȓ
'Al' == 'Zophie' or myAge ~= 8
țȖȭ
false or myAge ~= 8
false or 8 ~= 8
false or false
false
116
DZǹǮǰǮ
ǽȜ ȫ Ƞ ȜȚ ȡ Ȑ ȟ ȭ ȟ Ƞ Ȟ ȜȘ Ȏ
Ȑ Ȝ ȕ ȐȞ Ȏ ȧ Ȏȓ Ƞ Ȟ ȓ ȕ ȡș ȪȠ ȎȠ
false.
ǸȎȘȜȝȓȞȎȠȜȞandȠȎȘ
ȖȜȝȓȞȎȠȜȞorȝȞȖȚȓțȖ
Ț ȩ Ȑ Ȑȩ ȞȎ Ȕ ȓț Ȗ ȭ ȣ Ȗȟ
ȝȜșȪȕȡȬȧȖȣȞȎȕțȩȓȠȖ
ȝȩȒȎțțȩȣ
ǹȜȑȖȥȓȟȘȖȓȜȝȓȞȎȠȜȞȩandorȖnotȝȜȕȐȜșȭȬȠȟȜȕȒȎ
ȐȎȠȪȏȜșȓȓȟșȜȔțȩȓȡȟșȜȐȖȭȒșȭȖțȟȠȞȡȘȤȖȗifelseifȖ
while.
ēČĎđĜĤđęĔđěĜĚďĜČĘĘĝěĚĘĚĥĨĪ
ĠğęĖĢĔĔ-::7:
ǰȓȞțȓȚȟȭȘȝȞȜȑȞȎȚȚȓchoptreedzȟșȖȝȞȖȕȎȝȡȟȘȓȝȞȜ
ȑȞȎȚȚȩȝȓȞȓȒȥȓȞȓȝȎȦȘȜȗțȓȠȘȎȘȜȑȜșȖȏȜȏșȜȘȎȠȜȓȟȠȪ
ȡȟșȜȐȖȓnot turtle.detect()ȐȟȠȞȜȘȓȐȜȕȐȞȎȧȎȓȠȕțȎ
ȥȓțȖȓfalseȝȞȜȑȞȎȚȚȎȒȜșȔțȎȕȎȐȓȞȦȖȠȪȟȭȟȟȜȜȏȧȓ
țȖȓȚȜȏȜȦȖȏȘȓǼȏȩȥțȜȝȞȜȑȞȎȚȚȩȕȎȐȓȞȦȎȬȠȞȎȏȜȠȡ
ȝȜȒȜȟȠȖȔȓțȖȖȝȜȟșȓȒțȓȗȟȠȞȜȘȖȘȜȒȎǻȜȠȩȚȜȔȓȦȪȐȩ
ȕȐȎȠȪȢȡțȘȤȖȬerror()ȟȜȟȠȞȜȘȜȐȩȚȎȞȑȡȚȓțȠȜȚȥȠȜȏȩ
ȕȎȐȓȞȦȖȠȪȝȞȜȑȞȎȚȚȡȞȎțȪȦȓȖȜȠȜȏȞȎȕȖȠȪȟȜȜȏȧȓțȖȓȜȏ
ȜȦȖȏȘȓdzȟșȖȐȩȕȐȎȠȪȢȡțȘȤȖȬerror()ȏȓȕȝȓȞȓȒȎȥȖȓȗ
ȟȠȞȜȘȜȐȜȑȜȎȞȑȡȚȓțȠȎȝȞȜȑȞȎȚȚȎȝȞȜȟȠȜȝȞȓȘȞȎȧȎȓȠȖȟ
ȝȜșțȓțȖȓțȓȜȠȜȏȞȎȔȎȭțȖȘȎȘȜȑȜȟȜȜȏȧȓțȖȭ
ǻȎȚțȡȔțȜȐȩȐȓȟȠȖȟȜȜȏȧȓțȖȓȜȏȜȦȖȏȘȓȓȟșȖȥȓȞȓ
ȝȎȦȘȎțȓȝȜȐȓȞțȡȠȎȘȒȓȞȓȐȡȝȜȫȠȜȚȡȐȟȠȞȜȘȓȚȩȝȓȞȓ
ȒȎȓȚȢȡțȘȤȖȖerror()ȟȠȞȜȘȜȐȩȗȎȞȑȡȚȓțȠ
choptree
4. if not turtle.detect() then
HUURU &RXOGQRW¿QGWUHH
6. end
dzȟșȖȝȓȞȓȒȥȓȞȓȝȎȦȘȜȗțȓȠȏșȜȘȎȝȞȜȑȞȎȚȚȎȕȎȐȓȞ
ȦȎȓȠȞȎȏȜȠȡȖȐȩȐȜȒȖȠȐȖțȠȓȞȢȓȗȟȓȥȓȞȓȝȎȦȘȖȟȜȜȏȧȓ
țȖȓchoptree:5:Could not ¿QG tree!ǵțȎȥȓțȖȓchoptree:5ȒȜȏȎȐșȓțȜȖțȠȓȞȝȞȓȠȎȠȜȞȜȚ/XDǼțȜȡȘȎȕȩȐȎȓȠ
ȥȠȜȜȦȖȏȘȡȐȩȕȐȎșȎȟȠȞȜȘȎȝȞȜȑȞȎȚȚȩchoptreeǰȞȓ
ȕȡșȪȠȎȠȓȓȟșȖȝȓȞȓȒȥȓȞȓȝȎȦȘȜȗțȓȠȒȓȞȓȐȎȒșȭȐȩȞȡȏȘȖ
ȝȞȜȑȞȎȚȚȎȝȞȓȘȞȎȧȎȓȠȞȎȏȜȠȡ
ǽǾǼDZǾǮǺǺǶǾǼǰǮǻǶdzȅdzǾdzǽǮȆǸǶǹdzǿǼǾȁǯǮ
117
ĎħĜğčĖČĐĜđĎđĝĔęħĝěĚĘĚĥĨĪ
ģđĜđěČĤĖĔ
dzȟșȖȡȟșȜȐȖȓnot turtle.detect()ȐȟȠȞȜȘȓȘȜȒȎȐȜȕ
ȐȞȎȧȎȓȠȕțȎȥȓțȖȓfalseȠȓȥȓȞȓȝȎȦȘȎȜȏțȎȞȡȔȖȐȎȓȠ
ȝȓȞȓȒȟȜȏȜȗȏșȜȘȢȡțȘȤȖȭerror()ȐȩȕȐȎțȎțȓȏȡȒȓȠ
ǰȚȓȟȠȜȫȠȜȑȜȝȞȜȑȞȎȚȚȎchoptreeȐȩȞȡȏȎȓȠțȖȔțȖȗ
ȏșȜȘȐȩȕȩȐȎȭȢȡțȘȤȖȬturtle.dig()ȎȕȎȠȓȚȝȓȞȓȚȓ
ȧȎȓȠȥȓȞȓȝȎȦȘȡȝȜȒȒȓȞȓȐȜDzȜȏȩȠȩȗȏșȜȘȝȜȚȓȧȎȓȠȟȭ
ȐȠȓȘȡȧȡȬȭȥȓȗȘȡ ȖșȖȒȞȡȑȡȬȭȥȓȗȘȡȓȟșȖȠȓȘȡȧȎȭȕȎ
țȭȠȎ ǸȜȒȐȟȠȞȜȘȎȣ²ȐȩȐȜȒȖȠȟȜȜȏȧȓțȖȓȜȠȜȚȥȠȜ
ȝȞȜȑȞȎȚȚȎȕȎȝȡȧȓțȎȐȩȞȡȏȎȓȠȏșȜȘȖȝȓȞȓȚȓȧȎȓȠȥȓȞȓ
ȝȎȦȘȡȝȜȒȒȓȞȓȐȜ
choptree
8. print('Chopping tree...')
9.
LIQRWWXUWOHGLJ WKHQɜɵɪɭɛɤɚɨɫɧɨɜɚɧɢɹɞɟɪɟɜɚ
11.
error('Turtle needs a digging tool!')
12. end
13.
WXUWOHIRUZDUG ɩɟɪɟɦɟɳɟɧɢɟɩɨɞɞɟɪɟɜɨ
ǼȏȞȎȠȖȐțȖȚȎțȖȓȥȠȜȡȥȓȞȓȝȎȦȘȖȒȜșȔțȎȏȩȠȪȘȖȞȘȎ
ȖțȎȥȓȢȡțȘȤȖȭturtle.dig()țȓȟȞȎȏȜȠȎȓȠȖȐȓȞțȓȠȕțȎ
ȥȓțȖȓfalsedzȟșȖȫȠȜȝȞȜȖȕȜȗȒȓȠȥȓȞȓȝȎȦȘȎțȓȟȚȜȔȓȠ
ȐȩȞȡȏȖȠȪȒȓȞȓȐȜdzȟșȖȢȡțȘȤȖȭturtle.dig()ȐȜȕȐȞȎȧȎ
ȓȠȕțȎȥȓțȖȓfalseȡȟșȜȐȖȓnot turtle.dig()ȝȞȖțȖȚȎȓȠ
ȕțȎȥȓțȖȓtrueȝȜȫȠȜȚȡȘȜȒȐȟȠȞȜȘȓȜȟȠȎțȜȐȖȠȝȞȜȑȞȎȚ
ȚȡȖȜȠȜȏȞȎȕȖȠȟȜȜȏȧȓțȖȓȜȏȜȦȖȏȘȓchoptree:11:Turtle
needs a digging tool!.
ȂȡțȘȤȖȖturtle.digUp()Ȗturtle.digDown()ȝȜȒȜȏțȜ
ȐȩȕȜȐȡturtle.dig()ȠȎȘȔȓȒȜȏȩȐȎȬȠȏșȜȘȖțȜțȓȝȓȞȓȒ
ȥȓȞȓȝȎȦȘȜȗȎȐȩȦȓȖșȖțȖȔȓȓȓȟȜȜȠȐȓȠȟȠȐȓțțȜ
118
DZǹǮǰǮ
ĝĜČĎęđęĔđčėĚĖĚĎĝěĚĘĚĥĨĪ
ĠğęĖĢĔĕĝĜČĎęđęĔī
ȂȡțȘȤȖȭturtle.compare()ȟȞȎȐțȖȐȎȓȠȏșȜȘȘȘȜȠȜȞȜȚȡ
ȝȜȐȓȞțȡȠȎȥȓȞȓȝȎȦȘȎȟȏșȜȘȜȚȐȓȓȠȓȘȡȧȜȗȭȥȓȗȘȓdzȟșȖ
ȜțȖȖȒȓțȠȖȥțȩȢȡțȘȤȖȭturtle.compare()ȐȓȞțȓȠȕțȎ
ȥȓțȖȓtruedzȟșȖȜțȖȞȎȕșȖȥțȩȢȡțȘȤȖȭturtle.compare()ȐȓȞțȓȠȕțȎȥȓțȖȓfalseȂȡțȘȤȖȖturtle.compareUp()Ȗturtle.compareDown()ȐȩȝȜșțȭȬȠȎțȎșȜȑȖȥțȩȓ
ȒȓȗȟȠȐȖȭȕȎȖȟȘșȬȥȓțȖȓȚȠȜȑȜȥȠȜȜțȖȟȞȎȐțȖȐȎȬȠȏșȜȘ
ȐȩȦȓȖșȖțȖȔȓȥȓȞȓȝȎȦȘȖȟȜȜȠȐȓȠȟȠȐȓțțȜ
ǽȜȟȘȜșȪȘȡȝȓȞȐȎȭȥȎȟȠȪȝȞȜȑȞȎȚȚȩȐȩȞȡȏȎȓȠȟȎȚȩȗ
țȖȔțȖȗȏșȜȘȒȓȞȓȐȎȝȓȞȓȒțȎȥȎșȜȚȝȓȞȓȚȓȧȓțȖȭȥȓȞȓ
ȝȎȦȘȖȐȐȓȞȣȝȜȒȓȞȓȐȡȐȓȓȠȓȘȡȧȓȗȭȥȓȗȘȓȡȔȓȒȜșȔȓț
ȏȩȠȪȏșȜȘǻȎȚțȡȔțȜȝȞȜȐȓȞȖȠȪȖȒȓțȠȖȥȓțșȖȏșȜȘțȎȒ
ȥȓȞȓȝȎȦȘȜȗȏșȜȘȡȐȓȓȠȓȘȡȧȓȗȭȥȓȗȘȓȝȜȫȠȜȚȡȒȜȕȎȝȡȟȘȎ
ȝȞȜȑȞȎȚȚȩȐȎȔțȜȡȏȓȒȖȠȪȟȭȥȠȜȠȓȘȡȧȎȭȭȥȓȗȘȎȝȡȟȠȎ
DzșȭȫȠȜȑȜȚȩȖȟȝȜșȪȕȡȓȚȢȡțȘȤȖȬturtle.compareUp().
ȋȠȎȢȡțȘȤȖȭȝȞȜȐȓȞȭȓȠȏșȜȘțȎȒȥȓȞȓȝȎȦȘȜȗȎțȓȝȓȞȓȒ
țȓȗȖȐȜȕȐȞȎȧȎȓȠȕțȎȥȓțȖȓtrueȓȟșȖțȎȒȥȓȞȓȝȎȦȘȜȗȜȏ
țȎȞȡȔȓțȏșȜȘȒȞȓȐȓȟȖțȩ
choptree
15. while turtle.compareUp() do
ɜɵɪɭɛɤɚɩɨɤɚɨɛɧɚɪɭɠɟɧɚɞɪɟɜɟɫɢɧɚ
17.
turtle.digUp()
18.
turtle.up()
19. end
ȄȖȘșwhileȏșȜȘȘȜȒȎȘȜȠȜȞȜȑȜțȎȥȖțȎȓȠȟȭȐȟȠȞȜȘȓ
ȖȟȝȜșȪȕȡȓȠȐȟȐȜȓȚȡȟșȜȐȖȖȕțȎȥȓțȖȓȘȜȠȜȞȜȓȐȜȕȐȞȎȧȎȓȠ
ȢȡțȘȤȖȭturtle.compareUp()ȀȜȓȟȠȪȝȜȘȎțȎȒȥȓȞȓȝȎȦ
ȘȜȗȓȟȠȪȒȓȞȓȐȜȫȠȜȠȤȖȘșȏȡȒȓȠȐȩȝȜșțȭȠȪȟȭǸȜȒȐȟȠȞȜȘȓ
ȐȩȞȡȏȎȓȠȏșȜȘțȎȒȥȓȞȓȝȎȦȘȜȗȎȘȜȒȐȟȠȞȜȘȓȝȓȞȓ
ȚȓȧȎȓȠȓȓȐȐȓȞȣȄȖȘșȜȟȠȎțȎȐșȖȐȎȓȠȟȭȘȜȑȒȎȢȡțȘȤȖȭ
turtle.compareUp()ȐȜȕȐȞȎȧȎȓȠȕțȎȥȓțȖȓfalse²ȫȠȜȝȞȜ
ȖȟȣȜȒȖȠȘȜȑȒȎȟȠȐȜșȒȓȞȓȐȎȕȎȘȎțȥȖȐȎȓȠȟȭ
ǽǾǼDZǾǮǺǺǶǾǼǰǮǻǶdzȅdzǾdzǽǮȆǸǶǹdzǿǼǾȁǯǮ
119
ǼȏȞȎȠȖȐțȖȚȎțȖȓȥȠȜȐȟȖȠȡȎȤȖȭȣȘȜȑȒȎȫȠȜȐȜȕȚȜȔ
țȜȚȜȔțȜȠȎȘȔȓȖȟȝȜșȪȕȜȐȎȠȪȢȡțȘȤȖȬturtle.compareDown()ȒșȭȝȞȜȐȓȞȘȖȏșȜȘȜȐȝȜȒȥȓȞȓȝȎȦȘȜȗ
ĎĚēĎĜČĥđęĔđęČēđĘėĪ
ȄȖȘșwhileȕȎȐȓȞȦȎȓȠȟȭȘȜȑȒȎțȎȒȥȓȞȓȝȎȦȘȜȗȏȜșȪȦȓ
țȓȠȒȞȓȐȓȟȖțȩȝȜȟșȓȥȓȑȜȜțȎȒȜșȔțȎȐȓȞțȡȠȪȟȭțȎȕȓȚșȬ
choptree
ɜɨɡɜɪɚɳɟɧɢɟɧɚɡɟɦɥɸ
22. while not turtle.detectDown() do
23.
turtle.down()
24. end
25.
26. print('Done chopping tree.')
ǸȜȒȐȟȠȞȜȘȓțȎȥȖțȎȓȠțȜȐȩȗȤȖȘșwhileȐȡȟșȜȐȖȖ
ȘȜȠȜȞȜȑȜȖȟȝȜșȪȕȡȓȠȟȭȐȩȞȎȔȓțȖȓnot turtle.detectDown()ȄȖȘșȝȞȜȒȜșȔȎȓȠȟȭȒȜȠȓȣȝȜȞȝȜȘȎȥȓȞȓȝȎȦȘȎțȓ
ȜȏțȎȞȡȔȖȠȏșȜȘȝȜȒȟȜȏȜȗȠȜȓȟȠȪȝȜȘȎȡȟșȜȐȖȓȐȜȕȐȞȎȧȎ
ȓȠȕțȎȥȓțȖȓtrueȐȩȕȩȐȎȓȠȟȭȢȡțȘȤȖȭturtle.down().
ǸȜȑȒȎȤȖȘșȕȎȐȓȞȦȖȠȟȭȖȥȓȞȓȝȎȦȘȎȐȓȞțȓȠȟȭțȎȕȓȚșȬ
ȝȞȜȑȞȎȚȚȎȐȩȐȓȒȓȠȟȜȜȏȧȓțȖȓDone chopping tree.
ȥȠȜȏȩȖȑȞȜȘȕțȎșȥȠȜȝȞȖȦșȜȐȞȓȚȭȕȎȏȞȎȠȪȥȓȞȓȝȎȦȘȡ
ȐȚȓȟȠȓȟȟȜȏȞȎțțȜȗȒȞȓȐȓȟȖțȜȗ
ēČěğĝĖěĜĚďĜČĘĘĔĠğęĖĢĔī
;0-44:=6
ǽȞȜȑȞȎȚȚȡchoptreeȏȡȒȓȠȝȞȜȧȓȖȟȝȜșȪȕȜȐȎȠȪȓȟșȖȟȒȓ
șȎȠȪȠȎȘȥȠȜȏȩȜțȎȕȎȝȡȟȘȎșȎȟȪȟȞȎȕȡȔȓȘȎȘȠȜșȪȘȜȥȓ
ȞȓȝȎȦȘȎȜȘȎȔȓȠȟȭȝȓȞȓȒȒȓȞȓȐȜȚǺȩȚȜȔȓȚȫȠȜȟȒȓșȎȠȪ
ȖȟȝȜșȪȕȡȭȟȝȓȤȖȎșȪțȡȬȝȞȜȑȞȎȚȚȡstartupȘȜȠȜȞȎȭȏȡ
ȒȓȠȕȎȝȡȟȘȎȠȪȟȭȝȞȖȜȠȘȞȩȠȖȖȑȞȎȢȖȥȓȟȘȜȑȜȖțȠȓȞȢȓȗȟȎ
ȥȓȞȓȝȎȦȘȖȘȜȑȒȎȠȎȟȠȜȖȠȝȓȞȓȒȒȓȞȓȐȜȚDzȎȐȎȗțȎȝȖȦȓȚ
ȠȎȘȡȬȝȞȜȑȞȎȚȚȡ
120
DZǹǮǰǮ
ǵȎȝȡȟȠȖ ȠȓȘȟȠȜȐȩȗ ȞȓȒȎȘȠȜȞ ȐȐȓȒȭ ȘȜȚȎțȒȡ e d it
startupȐȜȏȜșȜȥȘȓȘȜȚȎțȒțȜȗȟȠȞȜȘȖǰȠȓȘȟȠȜȐȜȚȞȓȒȎȘ
ȠȜȞȓȐȐȓȒȖȟșȓȒȡȬȧȡȬȟȠȞȜȘȡȘȜȒȎ
startup
shell.run('choptree')
ȂȡțȘȤȖȭshell.run()ȕȎȝȡȟȠȖȠȟȠȞȜȘȡȘȜȒȎȘȜȠȜȞȡȬ
ȠȩȓȗȝȓȞȓȒȎȦȪȘȎȘȓȟșȖȏȩȠȩȐȐȓșȓȓȐȜȏȜșȜȥȘȓȘȜȚȎțȒ
țȜȗȟȠȞȜȘȖǰțȎȦȓȚȟșȡȥȎȓȝȞȖȝȓȞȐȜȚȜȠȘȞȩȠȖȖȑȞȎȢȖ
ȥȓȟȘȜȑȜȖțȠȓȞȢȓȗȟȎȥȓȞȓȝȎȦȘȖȏȡȒȓȠȕȎȝȡȧȓțȎȝȞȜȑȞȎȚ
ȚȎstartupȘȜȠȜȞȎȭȐȟȐȜȬȜȥȓȞȓȒȪȕȎȝȡȟȠȖȠȝȞȜȑȞȎȚȚȡ
choptreeȖțȓțȡȔțȜȐȐȜȒȖȠȪțȎȕȐȎțȖȓȝȞȜȑȞȎȚȚȩchoptreeȐȜȏȜșȜȥȘȓȘȜȚȎțȒțȜȗȟȠȞȜȘȖȂȡțȘȤȖȭshell.run()
ȐȜȕȐȞȎȧȎȓȠȕțȎȥȓțȖȓtrueȓȟșȖȜțȎȚȜȔȓȠȡȟȝȓȦțȜȕȎȝȡ
ȟȠȖȠȪȝȞȜȑȞȎȚȚȡȖȕțȎȥȓțȖȓfalseȓȟșȖțȓȚȜȔȓȠțȎȗȠȖ
ȡȘȎȕȎțțȡȬȝȞȜȑȞȎȚȚȡȖșȖȕȎȝȡȟȘȝȞȜȑȞȎȚȚȩȐȩȕȩȐȎȓȠ
ȜȦȖȏȘȡ²ȢȡțȘȤȖȬerror().
ĐĚěĚėęĔĞđėĨęĚđēČĐČęĔđ"ĖĢđęĞĜğēđĘėĔ
Создай программу, с помощью которой черепашка выроет глубокую дыру, а не срубит дерево. Это можно сделать,
вызывая в цикле функции turtle.digDown() и turtle.
down(). Затем создай цикл, вызывающий функцию turtle.
up(), столько же раз, сколько функцию turtle.down() до
этого. Этот цикл вернет черепашку на поверхность. Ты же не
хочешь, чтобы она остановилась на дне шахты?
ģĞĚĘħğēęČėĔ
ǺȩȕȎȝȞȜȑȞȎȚȚȖȞȜȐȎșȖȥȓȞȓȝȎȦȘȡșȓȟȜȞȡȏȎȥȠȜȏȩȡȟȘȜ
ȞȖȠȪȒȜȏȩȥȡȒȞȓȐȓȟȖțȩȝȞȖșȓȟȜȕȎȑȜȠȜȐȘȎȣǽȞȜȑȞȎȚȚȡ
choptreeȚȜȔțȜȕȎȑȞȡȕȖȠȪȐțȓȟȘȜșȪȘȜȥȓȞȓȝȎȦȓȘȁȟȠȎ
țȜȐȖȜȒțȡȥȓȞȓȝȎȦȘȡȝȓȞȓȒȒȓȞȓȐȜȚȖȝȜȘȎȜțȎȒȜȏȩȐȎȓȠ
ȒȞȓȐȓȟȖțȡȝȜȟȠȎȐȪȒȞȡȑȡȬȥȓȞȓȝȎȦȘȡȝȓȞȓȒȒȞȡȑȖȚȒȓȞȓ
ȐȜȚȖȠȒȀȎȘȖȚȜȏȞȎȕȜȚȠȩȟȚȜȔȓȦȪȝȜșȡȥȖȠȪȜȑȞȜȚțȜȓ
ȘȜșȖȥȓȟȠȐȜȒȞȓȐȓȟȖțȩȐȘȞȎȠȥȎȗȦȖȓȟȞȜȘȖ
ǽǾǼDZǾǮǺǺǶǾǼǰǮǻǶdzȅdzǾdzǽǮȆǸǶǹdzǿǼǾȁǯǮ
121
DzȞȓȐȓȟȖțȡȘȜȠȜȞȡȬȒȜȏȩȐȎȬȠȥȓȞȓȝȎȦȘȖȚȜȔțȜȖȟ
ȝȜșȪȕȜȐȎȠȪȐȘȎȥȓȟȠȐȓȠȜȝșȖȐȎȥȠȜȏȩ©ȘȜȞȚȖȠȪªȟȎȚȖȣȥȓ
ȞȓȝȎȦȓȘǼȏȭȕȎȠȓșȪțȜȡȏȓȒȖȟȪȥȠȜȖȕȘȎȔȒȜȑȜȏșȜȘȎȒȞȓ
ȐȓȟȖțȩȏȡȒȓȠȖȕȑȜȠȜȐșȓțȜȥȓȠȩȞȓȏșȜȘȎȒȜȟȜȘȝȜȠȜȚȡȥȠȜ
ȒȜȟȘȖȘȎȘȖȒȞȓȐȓȟȖțȎȜȏȓȟȝȓȥȖȐȎȬȠȥȓȞȓȝȎȦȘȡȓȒȖ
țȖȤȎȚȖȠȜȝșȖȐȎ
ȅȓȞȓȝȎȦȘȎșȓȟȜȞȡȏ²ȫȠȜȣȜȞȜȦȓȓȝȜȒȟȝȜȞȪȓțȜȐȟȓȓȧȓ
țȡȔțȜȚțȜȑȜȝȜȠȞȡȒȖȠȪȟȭȥȠȜȏȩȟȠȎȐȖȠȪȘȎȔȒȡȬȥȓȞȓȝȎȦ
ȘȡȡȜȟțȜȐȎțȖȭȒȓȞȓȐȎǰȟșȓȒȡȬȧȖȣțȓȟȘȜșȪȘȖȣȑșȎȐȎȣȠȩ
ȡȕțȎȓȦȪȘȎȘȚțȜȑȜȘȞȎȠțȜȖȟȝȜșȪȕȜȐȎȠȪȓȒȖțȜȔȒȩțȎȝȖ
ȟȎțțȩȗȘȜȒȖȘȎȘȟȜȕȒȎȠȪȒȓȞȓȐȜȜȏȞȎȏȎȠȩȐȎȬȧȡȬȢȓȞȚȡ
ȝȞȜȑȞȎȚȚȖȞȡȭȥȓȞȓȝȎȦȓȘțȎȟȎȚȜȟȠȜȭȠȓșȪțȜȓȐȩȞȎȧȖȐȎ
țȖȓȖȐȩȞȡȏȘȡȒȓȞȓȐȪȓȐ
7
ĝĚēĐČęĔđĘĚĐğėđĕ
ĐėīĘęĚďĚĖĜČĞęĚďĚ
ĔĝěĚėĨēĚĎČęĔīĖĚĐČ
ǽȜȚȓȞȓȠȜȑȜȘȎȘȝȞȜȑȞȎȚȚȩȟȠȎțȜȐȭȠȟȭȏȜ
șȓȓȟșȜȔțȩȚȖȐȜȕțȖȘȎȓȠȔȓșȎțȖȓȟȫȘȜțȜ
ȚȖȠȪȐȞȓȚȭȖȝȜȐȠȜȞțȜȖȟȝȜșȪȕȜȐȎȠȪȡȔȓțȎ
ȝȖȟȎțțȩȗȘȜȒȋȠȜȚȜȔțȜȜȞȑȎțȖȕȜȐȎȠȪȓȟșȖ
ȖȟȝȜșȪȕȜȐȎȠȪȚȜȒȡșȖ²ȝȞȜȑȞȎȚȚȩȟȜȒȓȞȔȎ
ȧȖȓȢȡțȘȤȖȖȘȜȠȜȞȩȓȚȜȑȡȠȏȩȠȪȐȩȕȐȎțȩȠȐȜȖ
ȚȖȝȞȖșȜȔȓțȖȭȚȖ
ǰȫȠȜȗȑșȎȐȓȠȩȡȕțȎȓȦȪȘȎȘȟȜȕȒȎȐȎȠȪȝȜșȪȕȜȐȎȠȓșȪ
ȟȘȖȓȢȡțȘȤȖȖȖȟȜȏȟȠȐȓțțȩȓȚȜȒȡșȖȀȩțȎȝȖȦȓȦȪȢȡțȘ
ȤȖȖȘȜȠȜȞȩȓȥȓȞȓȝȎȦȘȖȢȓȞȚȓȞȩ ȖȐȟȓȜȟȠȎșȪțȩȓȥȠȜȠȩ
ȟȜȕȒȎȦȪȐȝȜȟșȓȒȟȠȐȖȖ ȐȑșȎȐȓȏȡȒȡȠȕȎȑȞȡȔȎȠȪȖȕȚȜȒȡșȭ
ĝĚēĐČęĔđĠğęĖĢĔĕĝěĚĘĚĥĨĪ
ĔęĝĞĜğĖĢĔĔ.=6+ hellofunction
Start of the program.
Hello, world!
Hello, world!
End of the program.
ǿȠȞȜȘȎȐȩȐȜȒȖȠȟȜȜȏȧȓțȖȓStart of the program.
ȘȜȠȜȞȜȓțȓȜȠțȜȟȖȠȟȭȘȢȡțȘȤȖȖǿȠȞȜȘȎȟȜȕȒȎȓȠȢȡțȘ
ȤȖȬhello()țȜȜȏȞȎȠȖȐțȖȚȎțȖȓȥȠȜȢȡțȘȤȖȭhello()
ȕȒȓȟȪțȓȕȎȝȡȟȘȎȓȠȟȭȐȚȓȟȠȜȫȠȜȑȜȖȟȝȜșțȓțȖȓȝȓȞȓȣȜȒȖȠȘ
ȟȠȞȜȘȓ
ǸȜȒȢȡțȘȤȖȖȝȞȖȓȓȟȜȕȒȎțȖȖțȓȖȟȝȜșțȭȓȠȟȭȜțȏȡȒȓȠ
ȖȟȝȜșțȓțȠȜșȪȘȜȝȞȖȓȓȐȩȕȜȐȓDzșȭȐȩȕȜȐȎȢȡțȘȤȖȖȐȝȞȜ
ȑȞȎȚȚȓȡȘȎȕȩȐȎȓȠȟȭȓȓȖȚȭȟȒȜȏȎȐșȓțȖȓȚȘȞȡȑșȩȣȟȘȜȏȜȘ
ȀȎȘȎȭȘȜțȟȠȞȡȘȤȖȭȟȜȜȏȧȎȓȠȝȞȜȑȞȎȚȚȓȥȠȜȟșȓȒȡȓȠȖȟ
ȝȜșțȖȠȪȘȜȒȟȜȒȓȞȔȎȧȖȗȟȭȐȢȡțȘȤȖȖȟȡȘȎȕȎțțȩȚȖȚȓ
țȓȚǿȠȞȜȘȎȐȩȕȩȐȎȓȠȢȡțȘȤȖȬhello()ȖȖȟȝȜșțȓțȖȓ
ȝȓȞȓȣȜȒȖȠȘȟȠȞȜȘȓȑȒȓȏȩșȎȟȜȕȒȎțȎȫȠȎȢȡțȘȤȖȭȋȠȎ
ȟȠȞȜȘȎȐȩȐȜȒȖȠțȎȫȘȞȎțȟȜȜȏȧȓțȖȓHello, world!.
124
DZǹǮǰǮ
ǸȜȑȒȎȐȩȕȜȐȢȡțȘȤȖȖȕȎȐȓȞȦȎȓȠȟȭȝȞȜȑȞȎȚȚȎȐȜȕȐȞȎ
ȧȎȓȠȟȭȘȟȠȞȜȘȓȘȜȠȜȞȎȭȐȩȕȩȐȎșȎȢȡțȘȤȖȬȖȝȞȜȒȜș
ȔȎȓȠȞȎȏȜȠȡǰțȎȦȓȚȟșȡȥȎȓȘȜȑȒȎȖȟȝȜșțȓțȖȓȒȜȟȠȖȑȎ
ȓȠȖțȟȠȞȡȘȤȖȖendȢȡțȘȤȖȖhello()ȜțȜȐȜȕȐȞȎȧȎȓȠȟȭȘ
ȟȠȞȜȘȓȑȒȓȏȩșȎȐȩȕȐȎțȎȢȡțȘȤȖȭȎȕȎȠȓȚȝȓȞȓȣȜȒȖȠȘ
ȟȠȞȜȘȓǿȠȞȜȘȎȠȎȘȔȓȐȩȕȩȐȎȓȠȢȡțȘȤȖȬhello()ȠȜ
ȓȟȠȪȖȟȝȜșțȓțȖȓȟțȜȐȎȐȜȕȐȞȎȧȎȓȠȟȭȟȠȞȜȘȓȖțȎȫȘȞȎț
ȓȧȓȞȎȕȐȩȐȜȒȖȠȟȭȟȜȜȏȧȓțȖȓHello, world!ǵȎȠȓȚȘȜȑ
ȒȎȖȟȝȜșțȓțȖȓȒȜȟȠȖȑȎȓȠȘȜțȤȎȢȡțȘȤȖȖhello()ȝȞȜȖȟ
ȣȜȒȖȠȐȜȕȐȞȎȠȘȟȠȞȜȘȓǻȎȘȜțȓȤȟȠȞȜȘȎȐȩȐȜȒȖȠȠȓȘȟȠ
End of the program.ȖȝȞȜȑȞȎȚȚȎȕȎȐȓȞȦȎȓȠȞȎȏȜȠȡ
ȂȡțȘȤȖȭhello()ȜȥȓțȪȝȞȜȟȠȎțȜȐȟȓȞȎȐțȜȝȞȜȧȓȐȩ
ȕȐȎȠȪȢȡțȘȤȖȬȥȓȚȒȐȎȞȎȕȎțȎȏȖȞȎȠȪȖțȟȠȞȡȘȤȖȬȐȩȕȜ
ȐȎȢȡțȘȤȖȖprint()ǽȜȚȓȞȓȡȟșȜȔțȓțȖȭȠȐȜȖȣȝȞȜȑȞȎȚȚ
ȜȢȜȞȚșȓțȖȓȘȜȒȎȐȐȖȒȓȢȡțȘȤȖȗȟȠȎțȓȠȏȜșȓȓȎȘȠȡȎșȪ
țȩȚȜȟȜȏȓțțȜȝȜȟșȓȠȜȑȜȘȎȘȠȩțȎȡȥȖȦȪȟȭȖȟȝȜșȪȕȜȐȎȠȪ
ȎȞȑȡȚȓțȠȩ
ČĜďğĘđęĞħĔěČĜČĘđĞĜħ
ǽȞȖȐȩȕȜȐȓȢȡțȘȤȖȗȖȚȚȜȔțȜȝȓȞȓȒȎȐȎȠȪȞȎȕșȖȥțȩȓȕțȎ
ȥȓțȖȭȋȠȖȕțȎȥȓțȖȭțȎȕȩȐȎȬȠȎȞȑȡȚȓțȠȎȚȖȎȝȓȞȓȚȓț
țȩȓȘȜȠȜȞȩȚȝȞȖȟȐȎȖȐȎȬȠȟȭȫȠȖȎȞȑȡȚȓțȠȩțȎȕȩȐȎȬȠȟȭ
ȝȎȞȎȚȓȠȞȎȚȖǼțȖȖȟȝȜșȪȕȡȬȠȟȭȐțȡȠȞȖȢȡțȘȤȖȖȠȎȘȔȓ
ȘȎȘȖȝȓȞȓȚȓțțȩȓ
ȅȠȜȏȩȡȕțȎȠȪȘȎȘȞȎȏȜȠȎȬȠȎȞȑȡȚȓțȠȩȖȝȎȞȎȚȓȠȞȩ
ȟȜȕȒȎȗțȜȐȡȬȝȞȜȑȞȎȚȚȡȐȩȝȜșțȖȐȘȜȚȎțȒȡedit sayhelloȖȐȐȓȒȭȘȜȒȝȞȖȐȓȒȓțțȩȗțȖȔȓǽȜȒȡȝȞȎȐșȓțȖȓȚȫȠȜȗ
ȝȞȜȑȞȎȚȚȩȥȓȞȓȝȎȦȘȎȐȩȐȜȒȖȠțȎȫȘȞȎțȝȞȖȐȓȠȟȠȐȓțțȜȓ
ȟȜȜȏȧȓțȖȓȒȞȡȑȜȗȥȓȞȓȝȎȦȘȓ
sayhello
IXQFWLRQVD\+HOOR QDPH QDPH±ɷɬɨɩɚɪɚɦɟɬɪ
2.
print('Hello, ' .. name)
3. end
4.
VD\+HOOR $UWHPLVLD $UWHPLVLD ±ɷɬɨɚɪɝɭɦɟɧɬ
VD\+HOOR (OLVDEHWWD (OLVDEHWWD ±ɷɬɨɚɪɝɭɦɟɧɬ
ǿǼǵDzǮǻǶdzǺǼDzȁǹdzǷDzǹȍǺǻǼDZǼǸǾǮȀǻǼDZǼǶǿǽǼǹȊǵǼǰǮǻǶȍǸǼDzǮ
125
ǰȫȠȜȗȝȞȜȑȞȎȚȚȓȝȓȞȓȚȓțțȎȭnameȐȢȡțȘȤȖȖsayHello()ȐȟȠȞȜȘȓ²ȫȠȜȝȎȞȎȚȓȠȞǮȟȠȞȜȘȜȐȩȓȕțȎȥȓțȖȭ
'Artemisia'Ȗ'Elisabetta'ȐȟȠȞȜȘȎȣȖ²ȫȠȜȎȞȑȡ
ȚȓțȠȩ
ǰȟȠȞȜȘȓȟȜȕȒȎȓȠȟȭȢȡțȘȤȖȭsayHello()țȜȘȜȒȢȡțȘ
ȤȖȖȐȩȝȜșțȭȓȠȟȭȠȜșȪȘȜȠȜȑȒȎȘȜȑȒȎȝȞȜȖȟȣȜȒȖȠȐȩȕȜȐ
ȟȎȚȜȗȢȡțȘȤȖȖȠȜȓȟȠȪȘȜȑȒȎȖȟȝȜșțȓțȖȓȝȞȜȑȞȎȚȚȩȝȓ
ȞȓȣȜȒȖȠȘȟȠȞȜȘȓȋȠȎȟȠȞȜȘȎȟȜȒȓȞȔȖȠȐȩȕȜȐȢȡțȘȤȖȖ
sayHello()ǸȜȑȒȎȚȩȐȩȕȩȐȎȓȚȢȡțȘȤȖȬȝȜȒȜȏțȩȚȜȏȞȎ
ȕȜȚȘȎȘȐȟȠȞȜȘȓȚȩȑȜȐȜȞȖȚȥȠȜȝȓȞȓȒȎȓȚȎȞȑȡȚȓțȠȐ
ȐȩȕȜȐȢȡțȘȤȖȖǿȠȞȜȘȎȝȓȞȓȒȎȓȠȕțȎȥȓțȖȓ'Artemisia'
ȐȘȎȥȓȟȠȐȓȎȞȑȡȚȓțȠȎȢȡțȘȤȖȖsayHello()ȐȩȕȜȐȘȜȠȜ
ȞȜȗȐȜȕȐȞȎȧȎȓȠȖȟȝȜșțȓțȖȓȝȞȜȑȞȎȚȚȩȘȟȠȞȜȘȓǵȎȠȓȚ
ȝȓȞȓȚȓțțȜȗna meȘȜȠȜȞȎȭȭȐșȭȓȠȟȭȝȎȞȎȚȓȠȞȜȚȢȡțȘ
ȤȖȖȝȞȖȟȐȎȖȐȎȓȠȟȭȝȓȞȓȒȎțțȩȗȎȞȑȡȚȓțȠ'Artemisia'.
ǰȟȠȞȜȘȓȝȓȞȓȚȓțțȎȭna m eȖȟȝȜșȪȕȡȓȠȟȭȝȞȖȐȩȕȜȐȓ
ȢȡțȘȤȖȖprint()ȝȜȫȠȜȚȡȝȞȜȑȞȎȚȚȎȐȩȐȜȒȖȠȠȓȘȟȠHello, Artemisia.
ǸȜȑȒȎȖȟȝȜșțȓțȖȓȝȞȜȑȞȎȚȚȩȒȜȟȠȖȑȎȓȠȘȜțȤȎȢȡțȘȤȖȖ
sayHello()ȜțȜȐȜȕȐȞȎȧȎȓȠȟȭȘȟȠȞȜȘȓȎȕȎȠȓȚȝȓȞȓȣȜȒȖȠ
ȘȟȠȞȜȘȓǰțȓȗȟțȜȐȎȐȩȕȩȐȎȓȠȟȭȢȡțȘȤȖȭsayHello()
țȜțȎȫȠȜȠȞȎȕȐȘȎȥȓȟȠȐȓȎȞȑȡȚȓțȠȎȝȓȞȓȒȎȓȠȟȭȕțȎȥȓțȖȓ
'Elisabetta'ȖȝȓȞȓȚȓțțȜȗnameȝȞȖȟȐȎȖȐȎȓȠȟȭȫȠȜȕțȎȥȓ
țȖȓǽȜȫȠȜȚȡȘȜȑȒȎȖȟȝȜșțȓțȖȓȝȞȜȑȞȎȚȚȩȐțȜȐȪȐȜȕȐȞȎ
ȧȎȓȠȟȭȘȟȠȞȜȘȓțȎȫȘȞȎțȐȩȐȜȒȖȠȟȭȟȜȜȏȧȓțȖȓHello,
Elisabetta.
ǽȜȟșȓȖȟȝȜșțȓțȖȭȘȜȒȎȢȡțȘȤȖȖsayHello()ȝȞȜȑȞȎȚ
ȚȎȐȜȕȐȞȎȧȎȓȠȟȭȘȟȠȞȜȘȓǽȜȟȘȜșȪȘȡȟȠȞȜȘȘȜȒȎȏȜșȪȦȓ
țȓȠȝȞȜȑȞȎȚȚȎȕȎȐȓȞȦȎȓȠȟȭǵȎȝȡȟȠȖȝȞȜȑȞȎȚȚȡsayhelloȖȜțȎȜȠȜȏȞȎȕȖȠȟșȓȒȡȬȧȓȓ
> sayhello
Hello, Artemisia
Hello, Elisabetta
ȂȡțȘȤȖȭsayHello()ȏȡȒȓȠȝȓȥȎȠȎȠȪȟȠȞȜȘȖȐȟȜȜȠȐȓȠ
ȟȠȐȖȖȟȝȓȞȓȒȎțțȩȚȖȓȗȎȞȑȡȚȓțȠȎȚȖ
126
DZǹǮǰǮ
ĎĚēĎĜČĥČđĘħđēęČģđęĔī
ǰȩȕȜȐȩ Ȣȡ ț ȘȤ Ȗȗ ȝȜȥ Ƞ Ȗ ȐȟȓȑȒȎ Ȗ ȚȓȬȠ ȐȜȕȐȞȎ ȧȎȓȚȜȓ
ȕțȎȥȓțȖȓȘȜȠȜȞȜȓȚȜȔțȜȖȟȝȜșȪȕȜȐȎȠȪȝȜȒȜȏțȜșȬȏȜȚȡ
ȒȞȡȑȜȚȡǻȎȝȞȖȚȓȞȐȩȕȜȐȩȢȡțȘȤȖȖȚȜȔțȜȖȟȝȜșȪȕȜȐȎȠȪ
ȐȐȩȞȎȔȓțȖȭȣȘȎȘȝȓȞȓȚȓțțȩȓDzșȭȝȞȖȚȓȞȎȐȜȏȜșȜȥȘȓ
/XDȐȐȓȒȖȟșȓȒȡȬȧȡȬȖțȟȠȞȡȘȤȖȬ
lua> math.random(1, 6) + 1
5
ǰȩȕȜȐȢȡțȘȤȖȖmath.random(1, 6)ȐȜȕȐȞȎȧȎȓȠȟșȡ
ȥȎȗțȜȓȕțȎȥȓțȖȓȜȠ1ȒȜ6ǰȫȠȜȚȝȞȖȚȓȞȓȐȜȕȐȞȎȧȎȓȚȜȓ
ȕțȎȥȓțȖȓȞȎȐțȜ4ȝȜȫȠȜȚȡȐȟȓȐȩȞȎȔȓțȖȓȐȩȥȖȟșȭȓȠȟȭ
ȘȎȘ4 + 1ȐȩȒȎȐȎȭȕțȎȥȓțȖȓ5 ǰȓȞȜȭȠțȜȠȩȝȜșȡȥȖȦȪ
ȒȞȡȑȜȓȥȖȟșȜȠȎȘȘȎȘȢȡțȘȤȖȭmath.random()ȐȜȕȐȞȎȧȎȓȠ
ȟșȡȥȎȗțȜȓȥȖȟșȜ
ǽȞȖȟȜȕȒȎțȖȖȢȡțȘȤȖȖȐȜȕȐȞȎȧȎȓȚȜȓȕțȎȥȓțȖȓȡȘȎȕȩ
ȐȎȓȠȟȭȟȝȜȚȜȧȪȬȖțȟȠȞȡȘȤȖȖreturndzȓȟȖțȠȎȘȟȖȟȟȜȟȠȜ
ȖȠȖȕȘșȬȥȓȐȜȑȜȟșȜȐȎreturnȖȟșȓȒȡȬȧȓȑȜȕȎțȖȚȕțȎȥȓ
țȖȭȖșȖȐȩȞȎȔȓțȖȭȅȠȜȏȩȝȜȟȚȜȠȞȓȠȪțȎȝȞȎȘȠȖȘȓȘȎȘ
ȞȎȏȜȠȎȓȠȖțȟȠȞȡȘȤȖȭreturnȟȜȕȒȎȗțȜȐȡȬȝȞȜȑȞȎȚȚȡȐȩ
ȝȜșțȖȐȘȜȚȎțȒȡedit givecandyȖȐȐȓȒȖȟșȓȒȡȬȧȖȗȘȜȒ
givecandy
1. function candiesToGive(name)
2.
if name == 'Al' then
3.
return 10
4.
end
5.
6.
return 2
7. end
8.
9. lavCandy = candiesToGive('Lavinia')
10. alCandy = candiesToGive('Al')
11. print('Lavinia gets ' .. lavCandy .. ' pieces')
12. print('Al gets ' .. alCandy .. ' pieces')
ȂȡțȘȤȖȭcandiesToGive()ȐȜȕȐȞȎȧȎȓȠȕțȎȥȓțȖȓ10ȖșȖ
2ȐȕȎȐȖȟȖȚȜȟȠȖȜȠȠȜȑȜȘȎȘȜȓȖȚȭȝȓȞȓȒȎȓȠȟȭȐȘȎȥȓȟȠȐȓȝȎ
ǿǼǵDzǮǻǶdzǺǼDzȁǹdzǷDzǹȍǺǻǼDZǼǸǾǮȀǻǼDZǼǶǿǽǼǹȊǵǼǰǮǻǶȍǸǼDzǮ
127
ȞȎȚȓȠȞȎnamedzȟșȖȝȓȞȓȒȎȓȠȟȭȕțȎȥȓțȖȓ'Al'ȖțȟȠȞȡȘȤȖȭ
ifȐȟȠȞȜȘȓȝȞȖțȖȚȎȓȠȕțȎȥȓțȖȓtrueȠȜȑȒȎȖȟȝȜșțȓțȖȓ
ȝȓȞȓȣȜȒȖȠȘȟȠȞȜȘȓȖȐȩȕȜȐȢȡțȘȤȖȖȐȜȕȐȞȎȧȎȓȠȕțȎȥȓ
țȖȓ10dzȟșȖȢȡțȘȤȖȖȝȓȞȓȒȎȓȠȟȭȘȎȘȜȓșȖȏȜȒȞȡȑȜȓȕțȎȥȓ
țȖȓȖțȟȠȞȡȘȤȖȭifȝȞȖțȖȚȎȓȠȕțȎȥȓțȖȓfalseȖȟȝȜșțȓțȖȓ
ȝȓȞȓȣȜȒȖȠȘȟȠȞȜȘȓȖȢȡțȘȤȖȭȐȜȕȐȞȎȧȎȓȠȕțȎȥȓțȖȓ2ǮȞ
ȑȡȚȓțȠȩȚȜȔțȜȞȎȟȟȚȎȠȞȖȐȎȠȪȘȎȘȐȣȜȒțȩȓȒȎțțȩȓȢȡțȘ
ȤȖȖȎȐȜȕȐȞȎȧȎȓȚȩȓȕțȎȥȓțȖȭȘȎȘȐȩȣȜȒțȩȓ
ǰȟȠȞȜȘȓȑȒȓȢȡțȘȤȖȖcandiesToGive()ȝȓȞȓȒȎȓȠȟȭ
ȕțȎȥȓțȖȓ'Lavinia'ȢȡțȘȤȖȭȐȜȕȐȞȎȧȎȓȠȕțȎȥȓțȖȓ2Ƞȓ
ȝȓȞȓȚȓțțȜȗlavCandyȝȞȖȟȐȎȖȐȎȓȠȟȭȕțȎȥȓțȖȓ2ǰȟȠȞȜ
ȘȓȝȓȞȓȚȓțțȜȗalCandyȝȞȖȟȐȎȖȐȎȓȠȟȭȕțȎȥȓțȖȓ10
ȝȜȠȜȚȡȥȠȜȢȡțȘȤȖȭcandiesToGive()ȐȜȕȐȞȎȧȎȓȠȕțȎȥȓ
țȖȓ10ȓȟșȖȐȘȎȥȓȟȠȐȓȎȞȑȡȚȓțȠȎȓȗȝȓȞȓȒȎȓȠȟȭȕțȎȥȓ
țȖȓ'Al'ǽȓȞȓȚȓțțȩȓlavCandyȖalCandyȚȜȔțȜȖȟȝȜșȪ
ȕȜȐȎȠȪȝȞȖȐȩȕȜȐȓȢȡțȘȤȖȖprint()ȘȎȘȫȠȜȒȓșȎȓȠȟȭȐ
ȟȠȞȜȘȎȣȖȝȜȠȜȚȡȥȠȜȜȏȓȝȓȞȓȚȓțțȩȓȟȜȣȞȎțȭȬȠ
ȐȜȕȐȞȎȧȎȓȚȩȓȕțȎȥȓțȖȭ
dzȟșȖȠȩȕȎȝȡȟȠȖȦȪȫȠȡȝȞȜȑȞȎȚȚȡȠȜȡȐȖȒȖȦȪȟșȓȒȡȬ
ȧȓȓ
> givecandy
Lavinia gets 2 pieces
Al gets 10 pieces
ĝĚēĐČęĔđĘĚĐğėīĠğęĖĢĔĕ
ǰȚȓȟȠȜȠȜȑȜȥȠȜȏȩȐȘȎȔȒȜȗȝȞȜȑȞȎȚȚȓȕȎțȜȐȜȟȜȕȒȎȐȎȠȪ
ȢȡțȘȤȖȖȚȜȔțȜȜȒȖțȞȎȕțȎȝȖȟȎȠȪȖȣȖȝȜȚȓȟȠȖȠȪȐȚȜ
ȒȡșȪȀȜȑȒȎȝȞȜȑȞȎȚȚȎȘȜȠȜȞȎȭȕȎȑȞȡȕȖȠȠȎȘȜȗȚȜȒȡșȪ
ȟȚȜȔȓȠȐȜȟȝȜșȪȕȜȐȎȠȪȟȭȓȑȜȢȡțȘȤȖȭȚȖȋȠȜțȎȕȩȐȎȓȠȟȭ
ȚțȜȑȜȘȞȎȠțȩȚȖȟȝȜșȪȕȜȐȎțȖȓȚȘȜȒȎ.
ǺȜȒȡșȖȟȜȕȒȎȬȠȟȭȐȞȓȒȎȘȠȜȞȓȠȎȘȔȓȘȎȘȖȝȞȜȑȞȎȚ
ȚȩǽȜȟșȓȟȜȕȒȎțȖȭȠȩȚȜȔȓȦȪȖȚȝȜȞȠȖȞȜȐȎȠȪȚȜȒȡșȖȐ
ȒȞȡȑȖȓȝȞȜȑȞȎȚȚȩǰȫȠȜȗȑșȎȐȓȠȩȡȕțȎȓȦȪȘȎȘȟȜȕȒȎȐȎȠȪ
ȚȜȒȡșȖȎȐȟșȓȒȡȬȧȓȗȑșȎȐȓ²ȘȎȘȖȣȖȟȝȜșȪȕȜȐȎȠȪȐȟȐȜ
ȖȣȝȞȜȑȞȎȚȚȎȣDzȎȐȎȗȟȜȕȒȎȒȖȚȚȜȒȡșȪhareȖȒȎȒȖȚȐȜȕ
128
DZǹǮǰǮ
ȚȜȔțȜȟȠȪȐȟȓȚțȎȦȖȚȥȓȞȓȝȎȦȘȎȚȝȜșȪȕȜȐȎȠȪȟȭȓȑȜȐȟȠȞȜ
ȓțțȩȚȖȢȡțȘȤȖȭȚȖ
ȅȠȜȏȩȟȜȕȒȎȠȪȚȜȒȡșȪhareȐȜȏȜșȜȥȘȓȘȜȚȎțȒțȜȗȟȠȞȜ
ȘȖȐȩȝȜșțȖȘȜȚȎțȒȡedit hareȖȐȐȓȒȖȟșȓȒȡȬȧȖȗȘȜȒ
hare
>>Ɇɨɞɭɥɶɫɮɭɧɤɰɢɹɦɢɗɥɚɋɜɟɣɝɚɪɬɚ
2. Provides useful utility functions.]]
3.
ɮɭɧɤɰɢɹVHOHFW,WHP ɢɳɟɬɹɱɟɣɤɭ
±ɫɭɤɚɡɚɧɧɵɦɛɥɨɤɨɦɢɜɨɡɜɪɚɳɚɟɬ
WUXHɟɫɥɢɧɚɣɞɟɧɚɢIDOVHɟɫɥɢɧɟɬ
7. function selectItem(name)
ɩɪɨɜɟɪɤɚɜɫɟɯɹɱɟɟɤɢɧɜɟɧɬɚɪɹ
9.
local item
10.
for slot = 1, 16 do
11.
item = turtle.getItemDetail(slot)
12.
if item ~= nil and item['name'] == name then
13.
turtle.select(slot)
14.
return true
15.
end
16.
end
17.
UHWXUQIDOVHɛɥɨɤɧɟɧɚɣɞɟɧ
19. end
20.
21.
ɮɭɧɤɰɢɹVHOHFW(PSW\6ORW ɢɳɟɬ
ɩɭɫɬɭɸɹɱɟɣɤɭɢɜɨɡɜɪɚɳɚɟɬWUXH
ɟɫɥɢɧɚɯɨɞɢɬɢIDOVHɟɫɥɢɧɟɬ
25.function selectEmptySlot()
26
ɩɟɪɟɛɢɪɚɧɢɟɜɫɟɯɹɱɟɟɤ
28.
for slot = 1, 16 do
29.
if turtle.getItemCount(slot) == 0 then
30.
turtle.select(slot)
31.
return true
32.
end
33.
end
UHWXUQIDOVHɫɜɨɛɨɞɧɨɣɹɱɟɣɤɢɧɟɬ
35. end
ǿǼǵDzǮǻǶdzǺǼDzȁǹdzǷDzǹȍǺǻǼDZǼǸǾǮȀǻǼDZǼǶǿǽǼǹȊǵǼǰǮǻǶȍǸǼDzǮ
129
ǸȜȒȫȠȜȑȜȚȜȒȡșȭȟȜȟȠȜȖȠȖȕȟȠȞȜȘțȜȖȣțȡȔțȜțȎ
ȏȞȎȠȪȠȜșȪȘȜȜȒȖțȞȎȕǯȓȕȫȠȜȑȜȚȜȒȡșȭȠȎȘȜȗȘȜȒȝȞȖ
ȒȓȠȟȭțȎȏȖȞȎȠȪȐȘȎȔȒȜȗȝȞȜȑȞȎȚȚȓȟȎțȎșȜȑȖȥțȩȚȖ
ȐȜȕȚȜȔțȜȟȠȭȚȖȘȜȠȜȞȡȬȠȩȕȎȣȜȥȓȦȪțȎȝȖȟȎȠȪǺȜȒȡșȖ
ȫȘȜțȜȚȭȠȚțȜȑȜȐȞȓȚȓțȖǰȟșȓȒȡȬȧȓȚȞȎȕȒȓșȓȚȩȝȜȫȘ
ȟȝȓȞȖȚȓțȠȖȞȡȓȚȟȢȡțȘȤȖȭȚȖȚȜȒȡșȭhareȐȜȏȜșȜȥȘȓ
/XD.
dzȟșȖȝȞȖȕȎȝȡȟȘȓȫȠȜȗȝȞȜȑȞȎȚȚȩȐȜȕțȖȘȎȬȠȜȦȖȏȘȖ
ȠȧȎȠȓșȪțȜȟȞȎȐțȖȟȐȜȗȘȜȒȟșȖȟȠȖțȑȜȚȐȫȠȜȗȘțȖȑȓȖȖȟ
ȝȞȎȐȪȐȟȓȜȝȓȥȎȠȘȖdzȟșȖȖȟȝȞȎȐȖȠȪȝȞȜȑȞȎȚȚȡțȓȡȒȎȓȠȟȭ
ȡȒȎșȖȢȎȗșȐȩȝȜșțȖȐȘȜȚȎțȒȡdelete hareȎȕȎȠȓȚȕȎ
ȑȞȡȕȖȚȜȒȡșȪȟȝȜȚȜȧȪȬȘȜȚȎțȒȩpastebin get wwzvaKuW
hare ǼȏȞȎȠȖȐțȖȚȎțȖȓȥȠȜȚȜȒȡșȪhareȘȜȠȜȞȩȗȠȩȕȎ
ȑȞȡȔȎȓȦȪȟȟȎȗȠȎSDVWHELQȟȜȒȓȞȔȖȠȐȟȓȢȡțȘȤȖȖȜȝȖȟȎț
țȩȓȐȘțȖȑȓȎțȓȠȜșȪȘȜȠȓȥȠȜȒȜȏȎȐșȓțȩȐȫȠȜȗȑșȎȐȓ
ēČďĜğēĖČĘĚĐğėīĝěĚĘĚĥĨĪĠğęĖĢĔĔ
7;47),)81
ǺȜȒȡșȪhareȟȜȒȓȞȔȖȠȒȐȓȢȡțȘȤȖȖselectItem()ȖselectEmptySlot()ȂȡțȘȤȖȭselectItem()ȐȩȏȖȞȎȓȠȭȥȓȗ
ȘȡȖțȐȓțȠȎȞȭȟȜȒȓȞȔȎȧȡȬȡȘȎȕȎțțȩȗȏșȜȘȖșȖȝȞȓȒȚȓȠ
ȎȢȡțȘȤȖȭselectEmptySlot()ȐȩȏȖȞȎȓȠȝȓȞȐȡȬȝȡȟȠȡȬ
ȭȥȓȗȘȡȖțȐȓțȠȎȞȭǼȏȓȢȡțȘȤȖȖȐȓȟȪȚȎȝȜșȓȕțȩȝȞȖȞȎȏȜ
ȠȓȟȖțȐȓțȠȎȞȓȚȥȓȞȓȝȎȦȘȖ
ǰȟȠȞȜȓțțȩȓȚȜȒȡșȖ/XD ȠȎȘȖȓȘȎȘmathȖos ȕȎȑȞȡ
ȔȎȬȠȟȭȎȐȠȜȚȎȠȖȥȓȟȘȖȒșȭȐȟȓȣȝȞȜȑȞȎȚȚȥȓȞȓȝȎȦȓȘțȜ
ȟȓȗȥȎȟȠȓȏȓțȡȔțȜȕȎȑȞȡȕȖȠȪȚȜȒȡșȪȟȜȕȒȎțțȩȗȠȜȏȜȗ
DzșȭȫȠȜȑȜȖȟȝȜșȪȕȡȓȠȟȭȢȡțȘȤȖȭos.load API()ǼȏȞȎȠȖ
ȐțȖȚȎțȖȓȥȠȜȐ&RPSXWHU&UDIWȚȜȒȡșȖȠȎȘȔȓțȎȕȩȐȎȬȠȟȭ
ȝȞȜȑȞȎȚȚțȩȚȖȖțȠȓȞȢȓȗȟȎȚȖ ($SSOLFDWLRQ 3URJUDPPLQJ ,Q
WHUIDFHV$3, ȅȠȜȏȩȖȟȝȜșȪȕȜȐȎȠȪȢȡțȘȤȖȬos.loadAPI()
ȝȓȞȓȒȎȗȓȗȐȐȖȒȓȟȠȞȜȘȜȐȜȑȜȕțȎȥȓțȖȭȖȚȭȚȜȒȡșȭȘȜ
ȠȜȞȩȗȠȩȣȜȥȓȦȪȕȎȑȞȡȕȖȠȪǻȎȝȞȖȚȓȞȥȠȜȏȩȖȟȝȜșȪȕȜ
ȐȎȠȪȐȟȐȜȓȗȝȞȜȑȞȎȚȚȓȚȜȒȡșȪharețȡȔțȜȐȐȓȟȠȖȘȜȒ
os.loadAPI('hare').
ȂȡțȘȤȖȭos.loadAPI()ȟȒȓșȎȓȠȢȡțȘȤȖȖȫȠȜȑȜȚȜȒȡșȭ
ȒȜȟȠȡȝțȩȚȖȒșȭȐȩȕȩȐȎȬȧȓȗȝȞȜȑȞȎȚȚȩȂȡțȘȤȖȭȐȓȞ
130
DZǹǮǰǮ
țȓȠȕțȎȥȓțȖȓtrueȓȟșȖȚȜȒȡșȪȏȩșțȎȗȒȓțȖȕȎȑȞȡȔȓțȖ
falseȓȟșȖȚȜȒȡșȪțȓȟȡȧȓȟȠȐȡȓȠ țȎȝȞȖȚȓȞȓȟșȖȠȩȟȒȓ
șȎșȜȝȓȥȎȠȘȡȐȜȠȠȎȘ²os.loadAPI('har') ǰȟșȓȒȡȬȧȓȚ
ȞȎȕȒȓșȓȠȩȕȎȑȞȡȕȖȦȪȚȜȒȡșȪhareȖȐȩȕȜȐȓȦȪțȓȘȜȠȜȞȩȓ
ȖȕȓȑȜȢȡțȘȤȖȗ
ĩĖĝěđĜĔĘđęĞħĝĘĚĐğėđĘ0):ȅȠȜȏȩȡȐȖȒȓȠȪȘȎȘȞȎȏȜȠȎȓȠȢȡțȘȤȖȭselectItem()ȜȠ
ȘȞȜȗȖțȠȓȞȢȓȗȟȥȓȞȓȝȎȦȘȖȖȝȜȚȓȟȠȖȐȖțȐȓțȠȎȞȪȏșȜȘȒȡ
ȏȜȐȜȗȒȞȓȐȓȟȖțȩȖțȓȟȘȜșȪȘȜȒȞȡȑȖȣȏșȜȘȜȐȘȎȘȝȜȘȎȕȎțȜ
țȎȞȖȟ
ˀ̛̭͘ϳ͘ϭ͘ʰ̸̡̨̨̡̨̨̛̛̛̦̖̦̯̬̖̬̖̪̹̭̖̬̙̯̣̱̜̬̖̖̭̦̼̏̌̽̌̔̍̔̍̏̔̏
̵̡̨̡̨̨̡̨̡̛̛̦̖̭̣̬̱̣͕̯̖̱̺̽̔̐̍̏̌́ʹ̸̡̖̜́̌ϭ
ǵȎȠȓȚȜȠȘȞȜȗȜȏȜșȜȥȘȡ/XDȖȒșȭȐȩȏȜȞȎȭȥȓȗȘȖȟȒȡȏȜ
ȐȜȗȒȞȓȐȓȟȖțȜȗȐȐȓȒȖȟșȓȒȡȬȧȖȗȘȜȒ
lua> os.loadAPI('hare')
true
lua> hare.selectItem('minecraft:log')
true
ǽȓȞȐȎȭȟȠȞȜȘȎȘȜȒȎȕȎȑȞȡȔȎȓȠȚȜȒȡșȪhareȎȐȠȜȞȎȭ²
ȐȩȏȖȞȎȓȠȭȥȓȗȘȡȖțȐȓțȠȎȞȭȟȒȡȏȜȐȜȗȒȞȓȐȓȟȖțȜȗȝȓȞȓȒȎ
ȐȎȭȢȡțȘȤȖȖselectItem()ȟȠȞȜȘȡ'minecraft:log'.
ǿǼǵDzǮǻǶdzǺǼDzȁǹdzǷDzǹȍǺǻǼDZǼǸǾǮȀǻǼDZǼǶǿǽǼǹȊǵǼǰǮǻǶȍǸǼDzǮ
131
ǿȠȞȜȘȎ'minecraft:log'²ȫȠȜȖȒȓțȠȖȢȖȘȎȠȜȞ0LQHFUDIW
ȏșȜȘȎȒȡȏȜȐȜȗȒȞȓȐȓȟȖțȩǶȒȓțȠȖȢȖȘȎȠȜȞ²ȫȠȜȡțȖȘȎșȪ
țȎȭȟȠȞȜȘȎțȎȥȖțȎȬȧȎȭȟȭȟȜȕțȎȥȓțȖȭ'minecraft:'
ȘȜȠȜȞȎȭȐȖȑȞȓ0LQHFUDIWȖȟȝȜșȪȕȡȓȠȟȭȒșȭȘȜȒȖȞȜȐȎțȖȭ
șȬȏȩȣȏșȜȘȜȐȖȝȞȓȒȚȓȠȜȐǿȝȖȟȜȘȖȒȓțȠȖȢȖȘȎȠȜȞȜȐȚȜȔ
țȜțȎȗȠȖȐȞȎȕȒȓșȓ«ǿȝȖȟȜȘȖȒȓțȠȖȢȖȘȎȠȜȞȜȐȏșȜȘȜȐª
ȝȞȖșȜȔȓțȖȭǯǰȞȎȕȒȓșȓ«ǽȜșȡȥȓțȖȓȖțȢȜȞȚȎȤȖȖȜ
ȟȜȒȓȞȔȖȚȜȚȭȥȓȗȘȖªȒȎșȓȓȐȫȠȜȗȑșȎȐȓȠȩȡȕțȎȓȦȪȘȎȘ
ȖȕȐșȓȥȪȖȒȓțȠȖȢȖȘȎȠȜȞȏșȜȘȎȝȞȓȒȚȓȠȎȟȜȒȓȞȔȎȧȓȑȜȟȭ
ȐȭȥȓȗȘȓȟȝȜȚȜȧȪȬȢȡțȘȤȖȖturtle.getItemDetail()
ȐȚȓȟȠȜȠȜȑȜȥȠȜȏȩȖȟȘȎȠȪȓȑȜ
dzȟșȖȐȕȑșȭțȡȠȪțȎȖțȐȓțȠȎȞȪȥȓȞȓȝȎȦȘȖȝȜȟșȓȐȩ
ȕȜȐȎȢȡțȘȤȖȖhare.selectItem()ȠȩȡȐȖȒȖȦȪȥȠȜȐȩ
ȏȞȎ țȎ ȭ ȥȓȗ ȘȎ ȟ ȏșȜȘȜȚ Ȓ ȞȓȐȓȟȖ ț ȩ ȘȎ Ș ȝȜȘȎȕȎ țȜ țȎ
ȞȖȟȋȠȎȢȡțȘȤȖȭȖȧȓȠȖȐȩȏȖȞȎȓȠȭȥȓȗȘȡȟȒȞȓȐȓ
ȟȖțȜȗțȓȕȎȐȖȟȖȚȜȜȠȠȜȑȜȐȘȎȘȜȗȭȥȓȗȘȓȖțȐȓțȠȎȞȭțȎ
ȣȜȒȖȠȟȭȏșȜȘȒȞȓȐȓȟȖțȩǽȜȝȞȜȏȡȗȝȓȞȓȚȓȟȠȖȠȪȒȡȏȜȐȡȬ
ȒȞȓȐȓȟȖțȡȐȒȞȡȑȡȬȭȥȓȗȘȡȖȟțȜȐȎȐȩȕȜȐȖȢȡțȘȤȖȬhare.
selectItem('minecraft:log')ǯȡȒȓȠȐȩȏȞȎțȎȒȞȡȑȎȭ
ȭȥȓȗȘȎȟȒȞȓȐȓȟȖțȜȗȖȫȠȎȭȥȓȗȘȎȏȡȒȓȠȐȩȒȓșȓțȎȞȎȚȘȜȗ
ˀ̛̭͘ϳ͘Ϯ͘˔̸̴̶̡̨̨̨̡̛̛̛̛̖̜̭̬̖̖̭̦̜̼̖̣̖̦̪̭̣̖̼̪̣̦̖̦̱̦̌̔̏̏̔̌̏́hare.
selectItem('minecraft:log')
ȂȡțȘȤȖȭselectEmptySlot()ȐȩȏȖȞȎȓȠȝȓȞȐȡȬȝȡȟȠȡȬ
ȭȥȓȗȘȡȖțȐȓțȠȎȞȭȘȜȠȜȞȡȬȜȏțȎȞȡȔȖȐȎȓȠȋȠȎȢȡțȘȤȖȭ
ȝȜțȎȒȜȏȖȠȟȭȘȜȑȒȎȠȩȟȜȏȓȞȓȦȪȟȭȒȜȏȩȐȎȠȪȘȎȘȖȓșȖȏȜ
132
DZǹǮǰǮ
ȏșȜȘȖȠȎȘȘȎȘȒșȭȖȣȣȞȎțȓțȖȭȝȜțȎȒȜȏȖȠȟȭȝȡȟȠȎȭȭȥȓȗ
ȘȎǰȜȏȜșȜȥȘȓ/XDȐȩȝȜșțȖȟșȓȒȡȬȧȖȗȘȜȒ
lua> os.loadAPI('hare')
true
lua> hare.selectEmptySlot()
true
ǽȜȟșȓȐȩȕȜȐȎȢȡțȘȤȖȖhare.selectEmptySlot()ȏȡȒȓȠ
ȐȩȏȞȎțȎȝȓȞȐȎȭȝȡȟȠȎȭȭȥȓȗȘȎȘȎȘȝȜȘȎȕȎțȜțȎȞȖȟ
ˀ̛̭͘ϳ͘ϯ͘ʦ̸̴̶̡̨̨̡̛̛̼̖̣̖̦̪̖̬̪̱̭̯̖̜̪̭̣̖̼̱̦̔̌̏̌́̌́́̌̏̏̌̚hare.selectEmptySlot()
ǼȏȓȫȠȖȢȡțȘȤȖȖȏȡȒȡȠȖȟȝȜșȪȕȜȐȎțȩȐȝȞȜȑȞȎȚȚȓșȓ
ȟȜȢȓȞȚȩȖȕȑșȎȐȩțȜȜțȖȚȜȑȡȠȝȞȖȑȜȒȖȠȪȟȭȖȐȜȚțȜȑȖȣ
ȒȞȡȑȖȣȝȞȜȑȞȎȚȚȎȣȒșȭȥȓȞȓȝȎȦȓȘDzȎȐȎȗȞȎȟȟȚȜȠȞȖȚȘȜȒ
ȖȕȘȜȠȜȞȜȑȜȟȜȟȠȜȖȠțȎȦȚȜȒȡșȪ
ĜČčĚĞČĝĔęĎđęĞČĜđĘģđĜđěČĤĖĔ
ǽȓȞȐȩȓȒȐȓȟȠȞȜȘȖȘȜȒȎȚȜȒȡșȭhareȟȜȒȓȞȔȎȠȜȏȧȖȗȘȜȚ
ȚȓțȠȎȞȖȗȘȝȞȜȑȞȎȚȚȓȎȝȜȟșȓȒȡȬȧȖȓȘȜȚȚȓțȠȎȞȖȖȝȜȭȟ
țȭȬȠȘȎȘȖȓȒȓȗȟȠȐȖȭȝȞȜȖȕȐȜȒȖȠȢȡțȘȤȖȭselectItem().
hare
>>Ɇɨɞɭɥɶɫɮɭɧɤɰɢɹɦɢɗɥɚɋɜɟɣɝɚɪɬɚ
ǿǼǵDzǮǻǶdzǺǼDzȁǹdzǷDzǹȍǺǻǼDZǼǸǾǮȀǻǼDZǼǶǿǽǼǹȊǵǼǰǮǻǶȍǸǼDzǮ
133
ɞɥɹɪɟɲɟɧɢɹɩɨɥɟɡɧɵɯɡɚɞɚɱ@@
3.
ɎɭɧɤɰɢɹVHOHFW,WHP ɢɳɟɬɹɱɟɣɤɭ
ɫɭɤɚɡɚɧɧɵɦɛɥɨɤɨɦɢɜɨɡɜɪɚɳɚɟɬ
WUXHɟɫɥɢɧɚɣɞɟɧɢIDOVHɟɫɥɢɧɟɬ
7. function selectItem(name)
ǶțȟȠȞȡȘȤȖȭfunction selectItem()ȞȎȟȝȜșȜȔȓțȎȐȟȠȞȜ
ȘȓǵȎȝȜȚțȖȥȠȜȏșȜȘȘȜȒȎȝȜȟșȓȖțȟȠȞȡȘȤȖȖfunctionȖȟ
ȝȜșțȭȓȠȟȭȘȎȔȒȩȗȞȎȕȘȜȑȒȎȢȡțȘȤȖȭȐȩȕȩȐȎȓȠȟȭǯșȜȘ
ȘȜȒȎțȓȖȟȝȜșțȭȓȠȟȭȓȟșȖȖțȟȠȞȡȘȤȖȭfunctionȐȟȠȞȓȥȎȓȠ
ȟȭȐȝȓȞȐȩȓȅȠȜȏȩȝȜțȭȠȪȘȜȒȢȡțȘȤȖȖselectItem()Ƞȓȏȓ
ȟțȎȥȎșȎțȡȔțȜȖȕȡȥȖȠȪțȓȘȜȠȜȞȩȓȢȡțȘȤȖȖȘȜȠȜȞȩȓȖȟ
ȝȜșȪȕȡȬȠȟȭȒșȭȞȎȏȜȠȩȟȖțȐȓțȠȎȞȓȚȥȓȞȓȝȎȦȘȖ
ǸȎȔȒȎȭȥȓȞȓȝȎȦȘȎȖȚȓȓȠȖțȐȓțȠȎȞȪȟȜȟȠȜȭȧȖȗȖȕ
ȭȥȓȓȘȘȎȘȝȜȘȎȕȎțȜțȎȞȖȟ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
ˀ̛̭͘7.4͘ʻ̶̸̸̡̡̛̛̛̱̥̖̬̖̖̦̖̦̯̬̖̬̖̪̹̌́́̏̌́̌
ȁȥȓȞȓȝȎȦȓȘȓȟȠȪȠȞȖȐȟȠȞȜȓțțȩȓȢȡțȘȤȖȖȘȜȠȜȞȩȓȝȜ
ȕȐȜșȭȬȠȐȕȎȖȚȜȒȓȗȟȠȐȜȐȎȠȪȟȖțȐȓțȠȎȞȓȚȟȝȜȚȜȧȪȬțȜȚȓ
ȞȜȐȭȥȓȓȘturtle.select()turtle.getItemCount()Ȗturtle.getItemDetail()DzȎȐȎȗȞȎȟȟȚȜȠȞȖȚȘȎȘȜțȖȞȎȏȜȠȎȬȠ
ĎħčĚĜīģđĕĖĔĔęĎđęĞČĜī
ȀȩȚȜȔȓȦȪȐȩȏȞȎȠȪȠȓȘȡȧȡȬȭȥȓȗȘȡȖȟȝȜșȪȕȡȭȢȡțȘȤȖȬ
turtle.select()ȖȝȓȞȓȒȎȐȓȗțȜȚȓȞȔȓșȎȓȚȜȗȭȥȓȗȘȖǻȜ
ȚȓȞȎȭȥȓȓȘȝȜȘȎȕȎțȩțȎȞȖȟȅȠȜȏȩȝȜȟȚȜȠȞȓȠȪȘȎȘȞȎ
134
DZǹǮǰǮ
ȏȜȠȎȓȠȫȠȎȢȡțȘȤȖȭȐȜȏȜșȜȥȘȓ/XDȐȐȓȒȖȟșȓȒȡȬȧȖȓȟȠȞȜ
ȘȖȘȜȒȎ
lua> turtle.select(2)
true
lua> turtle.select(16)
true
ǽȜȟșȓȐȩȕȜȐȎȢȡțȘȤȖȖȜȏȞȎȠȖȐțȖȚȎțȖȓțȎȠȜșȟȠȡȬ
ȞȎȚȘȡȘȜȠȜȞȎȭȜȏȜȕțȎȥȎȓȠȠȓȘȡȧȡȬȭȥȓȗȘȡǺțȜȑȖȓȢȡțȘ
ȤȖȖȥȓȞȓȝȎȦȘȖȖȟȝȜșȪȕȡȬȠȖȚȓțțȜȠȓȘȡȧȡȬȭȥȓȗȘȡȝȜ
ȫȠȜȚȡȐȓȟȪȚȎȝȜșȓȕțȜȕțȎȠȪȘȎȘȓȓȐȩȏȞȎȠȪȅȎȟȠȜȏȩȐȎȓȠ
țȡȔțȜȐȩȏȞȎȠȪȠȓȘȡȧȓȗȜȝȞȓȒȓșȓțțȡȬȭȥȓȗȘȡțȎȝȞȖȚȓȞ
ȟȜȒȓȞȔȎȧȡȬȘȎȘȜȗșȖȏȜțȡȔțȩȗȏșȜȘȖșȖȝȞȓȒȚȓȠ
ěĚĐĝģđĞĖĚėĔģđĝĞĎČěĜđĐĘđĞĚĎĎīģđĕĖđ
dzȟșȖȠȩȕȎȣȜȥȓȦȪȡȕțȎȠȪȟȘȜșȪȘȜȝȞȓȒȚȓȠȜȐȏșȜȘȜȐțȎȣȜ
ȒȖȠȟȭȐȭȥȓȗȘȓȖțȐȓțȠȎȞȭȐȩȕȜȐȖȢȡțȘȤȖȬturtle.getItemCount()ȖȝȓȞȓȒȎȗȓȗțȜȚȓȞȭȥȓȗȘȖǰȜȏȜșȜȥȘȓ/XD
ȐȐȓȒȖȟșȓȒȡȬȧȖȓȟȠȞȜȘȖȘȜȒȎ
lua> turtle.getItemCount(1)
1
lua> turtle.getItemCount(16)
0
dzȟșȖȠȩțȓȝȓȞȓȒȎȦȪȢȡțȘȤȖȖturtle.getItemCount()
ȎȞȑȡȚȓțȠȟțȜȚȓȞȜȚȭȥȓȗȘȖȢȡțȘȤȖȭȝȞȜȐȓȞȖȠȠȓȘȡȧȡȬ
ȭȥȓȗȘȡȋȠȎȢȡțȘȤȖȭȜȥȓțȪȝȞȜȟȠȎȜțȎȐȜȕȐȞȎȧȎȓȠȘȜșȖ
ȥȓȟȠȐȜȫșȓȚȓțȠȜȐȐȭȥȓȗȘȓȖțȐȓțȠȎȞȭțȜțȖȥȓȑȜțȓȟȜȜȏȧȎ
ȓȠȜȠȜȚȥȠȜȖȚȓțțȜȐȭȥȓȗȘȓțȎȣȜȒȖȠȟȭȅȠȜȏȩȝȜșȡȥȖȠȪ
ȝȜȒȞȜȏțȡȬȖțȢȜȞȚȎȤȖȬȜȟȜȒȓȞȔȖȚȜȚȭȥȓȗȘȖȠȓȏȓȝȜțȎ
ȒȜȏȖȠȟȭȢȡțȘȤȖȭturtle.getItemDetail().
ěĚėğģđęĔđĔęĠĚĜĘČĢĔĔĚĝĚĐđĜĒĔĘĚĘ
īģđĕĖĔ
ȀȩȚȜȔȓȦȪȝȜșȡȥȖȠȪȖțȢȜȞȚȎȤȖȬȜȠȜȚȥȠȜȟȜȒȓȞȔȖȠȟȭȐ
ȖțȐȓțȠȎȞȓȥȓȞȓȝȎȦȘȖȐȩȕȐȎȐȢȡțȘȤȖȬturtle.getItem-
ǿǼǵDzǮǻǶdzǺǼDzȁǹdzǷDzǹȍǺǻǼDZǼǸǾǮȀǻǼDZǼǶǿǽǼǹȊǵǼǰǮǻǶȍǸǼDzǮ
135
Detail()ȖȝȓȞȓȒȎȐȓȗțȜȚȓȞȭȥȓȗȘȖȘȜȠȜȞȡȬȠȩȣȜȥȓȦȪ
ȝȞȜȐȓȞȖȠȪǽȜȚȓȟȠȖȏșȜȘȒȞȓȐȓȟȖțȩȐȭȥȓȗȘȡȎȕȎȠȓȚȐ
ȜȏȜșȜȥȘȓ/XDȐȐȓȒȖȟșȓȒȡȬȧȖȗȘȜȒ
lua> turtle.getItemDetail(1)
{
count = 1,
name = «minecraft:log»,
damage = 0,
}
ǵțȎȥȓțȖȓȐȜȕȐȞȎȧȎȓȚȜȓȢȡțȘȤȖȓȗturtle.getItemDetail()ȡȘȎȕȩȐȎȓȠțȎȠȜȥȠȜȐȭȥȓȗȘȓțȎȣȜȒȖȠȟȭȜȒȖț
ȏșȜȘȒȞȓȐȓȟȖțȩȏȓȕȝȜȐȞȓȔȒȓțȖȗ ȎȘȠȡȎșȪțȜȒșȭȖțȟȠȞȡ
ȚȓțȠȜȐȜȞȡȔȖȭȖȏȞȜțȖ dzȟșȖȡȘȎȕȎțțȎȭȭȥȓȗȘȎȝȡȟȠȎ
ȢȡțȘȤȖȭturtle.getItemDetail()ȐȜȕȐȞȎȧȎȓȠȕțȎȥȓțȖȓ
nildzȟșȖȢȡțȘȤȖȖturtle.getItemDetail()țȓȝȓȞȓȒȎ
ȐȎȠȪȎȞȑȡȚȓțȠȜțȎȐȓȞțȓȠȖțȢȜȞȚȎȤȖȬȜȠȓȘȡȧȓȗȭȥȓȗȘȓ
ǰȜȕȐȞȎȧȎȓȚȜȓȫȠȜȗȢȡțȘȤȖȓȗȕțȎȥȓțȖȓȝȞȖțȤȖȝȖȎșȪ
țȜȜȠșȖȥȎȓȠȟȭȜȠȕțȎȥȓțȖȗȘȜȠȜȞȩȓȠȩȐȖȒȓșȒȜȫȠȜȑȜȝȜ
ȠȜȚȡȥȠȜȫȠȜȕțȎȥȓțȖȓȠȎȏșȖȥțȜȑȜȠȖȝȎ
ĞČčėĔģęħđēęČģđęĔī
ȀȎȏșȖȥțȩȓȒȎțțȩȓȚȜȑȡȠȏȩȠȪȝȞȓȒȟȠȎȐșȓțȩȕțȎȥȓțȖȭȚȖ
ȟȎȚȩȣȞȎȕțȩȣȠȖȝȜȐǽȜȒȜȏțȜȠȜȚȡȘȎȘȟȠȞȜȘȜȐȩȓȕțȎȥȓ
țȖȭțȎȥȖțȎȬȠȟȭȖȕȎȘȎțȥȖȐȎȬȠȟȭȘȎȐȩȥȘȎȚȖȠȎȏșȖȥțȩȓ
ȕțȎȥȓțȖȭțȎȥȖțȎȬȠȟȭȖȕȎȘȎțȥȖȐȎȬȠȟȭȢȖȑȡȞțȩȚȖȟȘȜȏ
ȘȎȚȖ{}ȃȞȎțȭȧȖȓȟȭȐȠȎȏșȖȤȓȒȎțțȩȓȜȏȞȎȕȡȬȠȝȎȞȩ
ȘșȬȥȕțȎȥȓțȖȓȘȜȠȜȞȩȓȕȎȝȖȟȩȐȎȬȠȟȭȐȜȒțȡȟȠȞȜȘȡȖ
ȫȠȖȟȠȞȜȘȖȟȝȎȞȎȚȖȜȠȒȓșȭȬȠȟȭȕȎȝȭȠȩȚȖȅȠȜȏȩȟȜȕȒȎȠȪ
țȜȐȡȬȠȎȏșȖȤȡȖȝȜȟȚȜȠȞȓȠȪȘȎȘȐȩȑșȭȒȭȠȝȎȞȩȘșȬȥ
ȕțȎȥȓțȖȓȐȜȏȜșȜȥȘȓ/XDȐȐȓȒȖȟșȓȒȡȬȧȡȬȟȠȞȜȘȡȘȜȒȎ
lua> myStuff = {logs=5, stone=4, arrows=10}
ȋȠȎȟȠȞȜȘȎȝȞȖȟȐȎȖȐȎȓȠȝȓȞȓȚȓțțȜȗmyStuffȠȎȏșȖȥțȜȓ
ȕțȎȥȓțȖȓ{logs = 5, stone = 4, arrows = 10}ȀȞȖ
ȥȖȟșȜȐȩȣȕțȎȥȓțȖȭ²54Ȗ10ȫȠȜȕțȎȥȓțȖȭȖȕȝȎȞȩȘșȬȥ
ȕțȎȥȓțȖȓȎȖȒȓțȠȖȢȖȤȖȞȜȐȎȠȪȖȣȚȜȔțȜȝȜȟȜȜȠȐȓȠȟȠȐȡȬ
136
DZǹǮǰǮ
ȧȖȚȘșȬȥȎȚ: 'logs''stone'Ȗ'arrows'ǰȚȓȟȠȓȘșȬȥȖ
ȕțȎȥȓțȖȓȜȏȞȎȕȡȬȠȝȎȞȡȘșȬȥȕțȎȥȓțȖȓțȎȝȞȖȚȓȞlogs
= 5ȑȒȓȟțȎȥȎșȎȡȘȎȕȩȐȎȓȠȟȭȘșȬȥȕȎȠȓȚȕțȎȘȞȎȐȓțȟȠȐȎ
(= ȎȕȎȠȓȚȕțȎȥȓțȖȓǸșȬȥȖȖȕțȎȥȓțȖȭȚȜȑȡȠȏȩȠȪȝȞȓȒ
ȟȠȎȐșȓțȩȝȞȎȘȠȖȥȓȟȘȖșȬȏȩȚȖȠȖȝȎȚȖȒȎțțȩȣțȎȝȞȖ
ȚȓȞȘșȬȥȚȜȔȓȠȏȩȠȪȤȓșȩȚȥȖȟșȜȚȎȕțȎȥȓțȖȓ²ȟȠȞȜȘȜȗ
dzȒȖțȟȠȐȓțțȜȓȖȟȘșȬȥȓțȖȓȟȜȟȠȜȖȠȐȠȜȚȥȠȜȘșȬȥȠȎȏșȖ
ȤȩțȓȚȜȔȓȠȏȩȠȪȕțȎȥȓțȖȓȚnil.
ȅȠȜȏȩȝȜșȡȥȖȠȪȒȜȟȠȡȝȘȜȠȒȓșȪțȩȚȕțȎȥȓțȖȭȚȐțȡȠȞȖ
ȠȎȏșȖȤȩȡȘȎȔȖȝȓȞȓȚȓțțȡȬmyStuffȎȕȎȠȓȚȐȘȐȎȒȞȎȠ
țȩȣȟȘȜȏȘȎȣ[]ȘșȬȥȀȎȘȜȓȐȩȞȎȔȓțȖȓȐȓȞțȓȠȕțȎȥȓțȖȓ
ȠȎȏșȖȤȩȟȐȭȕȎțțȜȓȟȫȠȖȚȘșȬȥȜȚǻȎȝȞȖȚȓȞȒșȭȒȜȟȠȡ
ȝȎȘȕțȎȥȓțȖȬȠȎȏșȖȤȩȘȜȠȜȞȡȬȚȩȟȜȕȒȎșȖȐȜȏȜșȜȥȘȓ
/XDȐȐȓȒȖȟșȓȒȡȬȧȓȓ
lua> myStuff['logs']
5
lua> 'I have ' .. myStuff['stone'] .. ' stone.'
I have 4 stone.
lua> 'I need ' .. (12 - myStuff['arrows']) .. ' more
arrows to have a dozen.'
I need 2 more arrows to have a dozen.
ǽȓȞȐȎȭȟȠȞȜȘȎȘȜȒȎȐȜȕȐȞȎȧȎȓȠȕțȎȥȓțȖȓȟȐȭȕȎțțȜȓȟ
ȘșȬȥȜȚ'log'ȫȠȜȥȖȟșȜ5ǽȜȟȘȜșȪȘȡȐȩȞȎȔȓțȖȓȐȩȥȖȟșȭ
ȓȠȕțȎȥȓțȖȓȓȑȜȚȜȔțȜȖȟȝȜșȪȕȜȐȎȠȪȠȎȘȔȓȘȎȘȖșȬȏȜȓ
ȒȞȡȑȜȓȕțȎȥȓțȖȓțȎȝȞȖȚȓȞȝȞȖȘȜțȘȎȠȓțȎȤȖȖȟȠȞȜȘȖșȖ
ȝȞȖȐȩȝȜșțȓțȖȖȚȎȠȓȚȎȠȖȥȓȟȘȖȣȒȓȗȟȠȐȖȗ ȓȟșȖȫȠȜȕțȎ
ȥȓțȖȓȭȐșȭȓȠȟȭȥȖȟșȜȚ
ĚčēĚĜĞČčėĔĢħĎĚēĎĜČĥČđĘĚĕĠğęĖĢĔđĕ
item['name']
OXDDWWHPSWWRLQGH[" DQLOYDOXH
ȅȠȜȏȩȫȠȎȜȦȖȏȘȎțȓȐȜȕțȖȘȎșȎȟșȓȒȡȓȠȖȟȝȜșȪȕȜȐȎȠȪ
ȖțȟȠȞȡȘȤȖȬifȖȡȏȓȒȖȠȪȟȭȥȠȜȝȓȞȓȚȓțțȜȗitemțȓȝȞȖ
ȟȐȜȓțȜȕțȎȥȓțȖȓnilȃȜȠȭȫȠȜȠȘȜȒȚȩȖțȓȏȡȒȓȚȖȟȝȜșȪ
ȕȜȐȎȠȪȐȫȠȜȗȑșȎȐȓȐȏȡȒȡȧȖȣȝȞȜȑȞȎȚȚȎȣȜțțȎȚȝȞȖȑȜ
ȒȖȠȟȭ
local item = turtle.getItemDetail(16)
if item ~= nil then
print(item['name'])
end
ǿȝȜȚȜȧȪȬȫȠȜȑȜȘȜȒȎȐȩȕȜȐitem['name']ȖȟȝȜșțȭȓȠ
ȟȭȠȜșȪȘȜȐȠȜȚȟșȡȥȎȓȓȟșȖȕțȎȥȓțȖȓȝȓȞȓȚȓțțȜȗitemțȓ
ȞȎȐțȜ ~= nil.
ďėĚčČėĨęČīĔėĚĖČėĨęČīĚčėČĝĞĔ
ĎĔĐĔĘĚĝĞĔ
ȂȡțȘȤȖȭselectItem()ȒȜșȔțȎțȎȗȠȖȐȖțȐȓțȠȎȞȓȥȓȞȓ
ȝȎȦȘȖȏșȜȘȖșȖȝȞȓȒȚȓȠȖȚȭȘȜȠȜȞȜȑȜȟȜȜȠȐȓȠȟȠȐȡȓȠȟȠȞȜ
ȘȓȝȓȞȓȒȎȐȎȓȚȜȗȝȎȞȎȚȓȠȞȜȚnameȢȡțȘȤȖȖȂȡțȘȤȖȭȐ
ȟȠȞȜȘȓȜȏȨȭȐșȭȓȠșȜȘȎșȪțȡȬȝȓȞȓȚȓțțȡȬȟȖȚȓțȓȚitem.
138
DZǹǮǰǮ
ȋȠȎșȜȘȎșȪțȎȭȝȓȞȓȚȓțțȎȭȟȡȧȓȟȠȐȡȓȠȠȜșȪȘȜȐțȡȠȞȖ
ȢȡțȘȤȖȖselectItem()ȖțȓȚȜȔȓȠȏȩȠȪȖȟȝȜșȪȕȜȐȎțȎȐ
ȘȎȘȜȚșȖȏȜȒȞȡȑȜȚȚȓȟȠȓȘȜȒȎȝȞȜȑȞȎȚȚȩ
hare
7. function selectItem(name)
ɩɪɨɜɟɪɤɚɜɫɟɯɹɱɟɟɤɢɧɜɟɧɬɚɪɹ
9.
local item
ȀȩȡȔȓȐȟȠȞȓȥȎșȟȭȟȘșȬȥȓȐȩȚȟșȜȐȜȚlocalȐȞȎȕȒȓșȓ
«ǹȜȑȖȥȓȟȘȖȓȠȖȝȩȒȎțțȩȣªȑșȎȐȩțȜȠȩȓȧȓțȓȕțȎ
ȓȦȪȜȏȜȏșȎȟȠȖȐȖȒȖȚȜȟȠȖ. ǼȏșȎȟȠȪȐȖȒȖȚȜȟȠȖ²ȫȠȜȥȎȟȠȪ
ȝȞȜȑȞȎȚȚȩȐȘȜȠȜȞȜȗȚȜȔȓȠȖȟȝȜșȪȕȜȐȎȠȪȟȭȝȓȞȓȚȓțțȎȭ
ǰȭȕȩȘȓ/XDȝȞȓȒȡȟȚȜȠȞȓțȜȒȐȎȠȖȝȎȜȏșȎȟȠȖȐȖȒȖȚȜȟȠȖ
ȝȓȞȓȚȓțțȩȣȑșȜȏȎșȪțȎȭȖșȜȘȎșȪțȎȭ
ǽȓȞȓȚȓț ț ȩȓ Ȝȏ Ȩ ȭ Ȑșȓț ț ȩȓ Ȑ ȑșȜȏȎ ș ȪțȜȗ ȜȏșȎȟ Ƞ Ȗ
ȐȖȒȖȚȜȟȠȖȟȡȧȓȟȠȐȡȬȠȐțȓȘȎȘȜȗșȖȏȜȢȡțȘȤȖȖȖȒȜȟȠȡȝ
țȩȐȜȐȟȓȣȥȎȟȠȭȣȝȞȜȑȞȎȚȚȩȋȠȜȚȜȔȓȠȐȩȕȐȎȠȪȝȞȜȏșȓ
ȚȩȓȟșȖȠȩȏȡȒȓȦȪțȓȜȟȚȜȠȞȖȠȓșȪțȜȖȟȝȜșȪȕȜȐȎȠȪȖȚȭȠȎ
ȘȜȗȝȓȞȓȚȓțțȜȗȝȜȠȜȚȡȥȠȜȟȜȒțȜȗȟȠȜȞȜțȩȝȞȜȑȞȎȚȚȎ
ȏȡȒȓȠȝȜȚțȖȠȪȕțȎȥȓțȖȓȫȠȜȗȝȓȞȓȚȓțțȜȗȝȞȖȟȐȜȓțțȜȓȓȗ
ȐȒȞȡȑȜȚȚȓȟȠȓȟȒȞȡȑȜȗȟȠȜȞȜțȩȏȡȒȓȠȝȜȕȐȜșȭȠȪșȬȏȩȚ
ȢȡțȘȤȖȭȚȝȓȞȓȕȎȝȖȟȩȐȎȠȪȐȫȠȡȝȓȞȓȚȓțțȡȬțȜȐȩȓȕțȎȥȓ
țȖȭȅȠȜȏȩȠȎȘȖȣȝȞȜȏșȓȚțȓȐȜȕțȖȘȎșȜȚȜȔțȜȟȜȕȒȎȐȎȠȪ
ȝȓȞȓȚȓțțȩȓȐșȜȘȎșȪțȜȗȜȏșȎȟȠȖȐȖȒȖȚȜȟȠȖȀȎȘȖȓȝȓȞȓ
ȚȓțțȩȓȟȜȕȒȎȬȠȟȭȘȎȔȒȩȗȞȎȕȝȞȖȜȏȞȎȧȓțȖȖȘȢȡțȘȤȖȖ
ǸȜȑȒȎȝȓȞȓȚȓțțȎȭȜȏȨȭȐșȭȓȠȟȭșȜȘȎșȪțȜȜțȎȟȡȧȓȟȠȐȡȓȠ
ȠȜșȪȘȜȐțȡȠȞȖȢȡțȘȤȖȖȖȝȓȞȓȟȠȎȓȠȟȡȧȓȟȠȐȜȐȎȠȪȝȜȟșȓȓȓ
ȕȎȐȓȞȦȓțȖȭ
ǶȟȝȜșȪȕȡȭșȜȘȎșȪțȩȓȝȓȞȓȚȓțțȩȓȚȜȔțȜȖȟȝȜșȪȕȜȐȎȠȪ
țȓȟȘȜșȪȘȜȝȓȞȓȚȓțțȩȣȟȜȒȖțȎȘȜȐȩȚȖȚȓțȓȚȓȟșȖȜțȖȏȡ
ȒȡȠȟȡȧȓȟȠȐȜȐȎȠȪȐȞȎȕțȩȣȜȏșȎȟȠȭȣȐȖȒȖȚȜȟȠȖǽȜȟȘȜșȪȘȡ
ȐȏȡȒȡȧȓȚȠȩȒȜȏȎȐȖȦȪȐȚȜȒȡșȪhareȏȜșȪȦȓȢȡțȘȤȖȗȚȩ
ȜȏȨȭȐȖȚȝȓȞȓȚȓțțȡȬitemșȜȘȎșȪțȜȠȜșȪȘȜȒșȭȢȡțȘȤȖȖ
selectItem()DzȎȔȓȓȟșȖȠȓȏȓȝȜțȎȒȜȏȖȠȟȭȝȓȞȓȚȓțțȎȭȘ
ȘȜȠȜȞȜȗȚȜȔțȜȝȜșȡȥȖȠȪȒȜȟȠȡȝȐȝȞȜȟȠȞȎțȟȠȐȓȐȟȓȗȝȞȜ
ȑȞȎȚȚȩȐȟȓȞȎȐțȜșȡȥȦȓȜȏȨȭȐșȭȠȪȝȓȞȓȚȓțțȩȓșȜȘȎșȪțȜ
ȐȘȎȔȒȜȗȢȡțȘȤȖȖȫȠȜȝȜȕȐȜșȖȠȖȕȏȓȔȎȠȪȝȞȜȏșȓȚ
ǿǼǵDzǮǻǶdzǺǼDzȁǹdzǷDzǹȍǺǻǼDZǼǸǾǮȀǻǼDZǼǶǿǽǼǹȊǵǼǰǮǻǶȍǸǼDzǮ
139
ǽȓȞȓȚȓțțȩȓȖȟȝȜșȪȕȡȓȚȩȓȐȤȖȘșȓforȠȎȘȖȓȘȎȘȝȓȞȓ
ȚȓțțȎȭiȐȐȩȞȎȔȓțȖȖfor i = 1, 4 doȭȐșȭȬȠȟȭșȜ
ȘȎșȪțȩȚȖȝȓȞȓȚȓțțȩȚȖȐȤȖȘșȓforȋȠȖȝȓȞȓȚȓțțȩȓțȓ
ȏȡȒȡȠȟȡȧȓȟȠȐȜȐȎȠȪȐțȓȤȖȘșȎȠȎȘȔȓȘȎȘșȜȘȎșȪțȩȓȝȓȞȓ
ȚȓțțȩȓȢȡțȘȤȖȗțȓȏȡȒȡȠȟȡȧȓȟȠȐȜȐȎȠȪȐțȓȫȠȖȣȢȡțȘȤȖȗ
ěĚĔĝĖěĜđĐĘđĞČĝěĚĘĚĥĨĪ
ĢĔĖėČ.7:
ǽȜȟșȓȜȏȨȭȐșȓțȖȭȐȟȓȣȝȓȞȓȚȓțțȩȣȐȟȠȞȜȘȓȟȜȕȒȎȓȠ
ȟȭȓȧȓȜȒțȎȝȓȞȓȚȓțțȎȭȟȖȚȓțȓȚslotȘȜȠȜȞȎȭȭȐșȭȓȠȟȭ
șȜȘȎșȪțȜȗȒșȭȤȖȘșȎfor.
hare
10.
for slot = 1, 16 do
11.
item = turtle.getItemDetail(slot)
12.
if item ~= nil and item['name'] == name then
13.
turtle.select(slot)
14.
return true
15.
end
16.
end
17.
UHWXUQIDOVHɛɥɨɤɧɟɧɚɣɞɟɧ
19. end
ǽȓȞȓȚȓțțȎȭslotȐȐȩȞȎȔȓțȖȖfor slot = 1, 16 doțȓ
ȏȡȒȓȠȟȡȧȓȟȠȐȜȐȎȠȪȝȜȟșȓȕȎȐȓȞȦȓțȖȭȤȖȘșȎȠȓȝȜȟșȓȐȩ
ȝȜșțȓțȖȭȖțȟȠȞȡȘȤȖȖendȄȖȘșforȝȓȞȓȏȖȞȎȓȠȐȟȓțȜȚȓ
ȞȎȭȥȓȓȘȜȠȒȜǰțȡȠȞȖȤȖȘșȎȐȟȠȞȜȘȓȝȓȞȓȚȓțțȜȗ
itemȝȞȖȟȐȎȖȐȎȓȠȟȭȠȎȏșȖȥțȜȓȕțȎȥȓțȖȓȐȜȕȐȞȎȧȎȓȚȜȓ
ȢȡțȘȤȖȓȗturtle.getItemDetail(slot)ǸȜȒȐȟȠȞȜȘȓ
ȝȞȜȐȓȞȭȓȠȥȠȜȕțȎȥȓțȖȓȝȓȞȓȚȓțțȜȗitemțȓȞȎȐțȜnilȎ
ȠȎȘȔȓȝȞȜȐȓȞȭȓȠȟȜȐȝȎȒȎȓȠșȖȖȚȭȝȞȓȒȚȓȠȎȏșȜȘȎȟȝȎȞȎ
ȚȓȠȞȜȚnameǿȜȐȝȎȒȓțȖȓȜȕțȎȥȎȓȠțȎȣȜȔȒȓțȖȓȖȟȘȜȚȜȑȜ
ȫșȓȚȓțȠȎǿȠȞȜȘȎȐȜȕȐȞȎȧȎȓȠȕțȎȥȓțȖȓtrueȠȎȘȖȚȜȏ
ȞȎȕȜȚȟȜȜȏȧȎȭȝȞȜȑȞȎȚȚȓȥȠȜȢȡțȘȤȖȭselectItem()Ȑȩ
ȒȓșȖșȎȭȥȓȗȘȡȟȖȟȘȜȚȩȚȝȞȓȒȚȓȠȜȚȏșȜȘȜȚ
ǶțȟȠȞȡȘȤȖȭendȐȟȠȞȜȘȓȕȎȐȓȞȦȎȓȠȘȜțȟȠȞȡȘȤȖȬif
ȎȖțȟȠȞȡȘȤȖȭendȐȟȠȞȜȘȓȕȎȐȓȞȦȎȓȠȐȓȟȪȤȖȘșdzȟșȖ
140
DZǹǮǰǮ
ȖȟȝȜșțȓțȖȓȟȜȐȓȞȦȖșȜȐȟȓȖȠȓȞȎȤȖȖȤȖȘșȎforȖțȓȜȏțȎ
ȞȡȔȖșȜȝȞȓȒȚȓȠȏșȜȘȟȟȜȜȠȐȓȠȟȠȐȡȬȧȖȚȖȚȓțȓȚȢȡțȘ
ȤȖȭȐȜȕȐȞȎȧȎȓȠȕțȎȥȓțȖȓfalse ȘȜȒȐȟȠȞȜȘȓ ǻȎȘȜțȓȤ
ȖțȟȠȞȡȘȤȖȭendȐȟȠȞȜȘȓȕȎȐȓȞȦȎȓȠȢȡțȘȤȖȬ
ĎħčĚĜěğĝĞĚĕīģđĕĖĔĔęĎđęĞČĜī
ȂȡțȘȤȖȭselectEmptySlot()ȝȩȠȎȓȠȟȭțȎȗȠȖȝȡȟȠȡȬȭȥȓȗ
ȘȡȐȖțȐȓțȠȎȞȓǰȟȠȞȓȠȖȐȝȓȞȐȡȬȝȡȟȠȡȬȭȥȓȗȘȡȢȡțȘȤȖȭ
ȐȩȏȖȞȎȓȠȓȓȝȞȖȝȜȚȜȧȖȐȩȕȜȐȎturtle.select()ȖȐȜȕȐȞȎ
ȧȎȓȠȕțȎȥȓțȖȓtruedzȟșȖȖțȐȓțȠȎȞȪȥȓȞȓȝȎȦȘȖȝȜșțȜ
ȟȠȪȬȕȎȝȜșțȓțȢȡțȘȤȖȭȐȓȞțȓȠȕțȎȥȓțȖȓfalseǸȎȘȖselectItem()ȢȡțȘȤȖȭselectEmptySlot()ȟȜȒȓȞȔȖȠȤȖȘș
forȘȜȠȜȞȩȗȝȞȜȐȓȞȭȓȠȭȥȓȗȘȖȟȝȜȄȖȘșforȐȫȠȜȗ
ȢȡțȘȤȖȖȠȎȘȔȓȜȏȨȭȐșȭȓȠȝȓȞȓȚȓțțȡȬslotȐȟȠȞȜȘȓ
ȋȠȜȐȜȕȚȜȔțȜȝȜȟȘȜșȪȘȡȫȠȎȝȓȞȓȚȓțțȎȭslotȖȝȓȞȓȚȓț
țȎȭslotȜȏȨȭȐșȓțțȎȭȐȟȠȞȜȘȓȟȡȧȓȟȠȐȡȬȠȐȞȎȕțȩȣ
șȜȘȎșȪțȩȣȜȏșȎȟȠȭȣȐȖȒȖȚȜȟȠȖ
hare
25. function selectEmptySlot()
26
ɩɟɪɟɛɢɪɚɧɢɟɜɫɟɯɹɱɟɟɤ
28.
for slot = 1, 16 do
29.
if turtle.getItemCount(slot) == 0 then
30.
turtle.select(slot)
31.
return true
32.
end
33.
end
UHWXUQIDOVHɫɜɨɛɨɞɧɨɝɨɦɟɫɬɚɧɟɬ
35. end
ǰțȡȠȞȖȤȖȘșȎȘȜȒȐȟȠȞȜȘȓȐȩȕȩȐȎȓȠȢȡțȘȤȖȬturtle.
getItemCount()ȥȠȜȏȩȝȞȜȐȓȞȖȠȪȞȎȐțȜșȖțȡșȬȘȜșȖȥȓȟȠȐȜ
ȝȞȓȒȚȓȠȜȐȏșȜȘȜȐȐȝȞȜȐȓȞȭȓȚȜȗȭȥȓȗȘȓǸȜȑȒȎȘȜȒȐȟȠȞȜȘȓ
țȎȣȜȒȖȠȝȓȞȐȡȬȝȡȟȠȡȬȭȥȓȗȘȡȘȜȒȐȟȠȞȜȘȓȐȩȏȖȞȎȓȠ
ȫȠȡȭȥȓȗȘȡȎȘȜȒȐȟȠȞȜȘȓȐȜȕȐȞȎȧȎȓȠȕțȎȥȓțȖȓtrue.
dzȟșȖȐȩȝȜșțȓțȩȐȟȓȖȠȓȞȎȤȖȖȤȖȘșȎforȎȟȐȜȏȜȒțȎȭ
ȭȥȓȗȘȎțȓȜȏțȎȞȡȔȓțȎȘȜȒȐȟȠȞȜȘȓȐȜȕȐȞȎȧȎȓȠȕțȎȥȓ
țȖȓfalse.
ǿǼǵDzǮǻǶdzǺǼDzȁǹdzǷDzǹȍǺǻǼDZǼǸǾǮȀǻǼDZǼǶǿǽǼǹȊǵǼǰǮǻǶȍǸǼDzǮ
141
ĐĚěĚėęĔĞđėĨęĚđēČĐČęĔđ"ĘĚĐğėĨ
ĞČęĢđĎČėĨęħġĐĎĔĒđęĔĕ
Попробуй создать новый модуль танцевальных движений,
которые сможет выполнять черепашка. Ты можешь написать
функции для выполнения прыжков, переворотов и лунной
походки (движение задом).
ģĞĚĘħğēęČėĔ
ǰȫȠȜȗȑșȎȐȓȠȩȡȕțȎșȘȎȘȟȜȕȒȎȐȎȠȪȚȜȒȡșȖȖȟȐȜȖȟȜȏ
ȟȠȐȓțțȩȓȢȡțȘȤȖȖȝȞȖȝȜȚȜȧȖȖțȟȠȞȡȘȤȖȖfunction.
ȂȡțȘȤȖȖȚȜȑȡȠȖȚȓȠȪȐȣȜȒțȩȓȒȎțțȩȓȖșȖȝȎȞȎȚȓȠȞȩȘȜ
ȠȜȞȩȓȝȓȞȓȒȎȬȠȟȭȐȘȎȥȓȟȠȐȓȎȞȑȡȚȓțȠȜȐȂȡțȘȤȖȖȠȎȘȔȓ
ȚȜȑȡȠȐȜȕȐȞȎȧȎȠȪȕțȎȥȓțȖȓȝȞȜȑȞȎȚȚȓȘȜȠȜȞȎȭȓȓȐȩȕȐȎșȎ
ǽȞȖȘȎȔȒȜȚȐȩȕȜȐȓȢȡțȘȤȖȖȟȜȕȒȎȓȠȟȭțȜȐȎȭșȜȘȎșȪ
țȎȭȜȏșȎȟȠȪȐȖȒȖȚȜȟȠȖǸȜȑȒȎȢȡțȘȤȖȭȕȎȐȓȞȦȎȓȠȟȭȫȠȎ
ȜȏșȎȟȠȪȐȖȒȖȚȜȟȠȖȝȓȞȓȟȠȎȓȠȟȡȧȓȟȠȐȜȐȎȠȪȐȚȓȟȠȓȟȜȐȟȓ
ȚȖȝȓȞȓȚȓțțȩȚȖȐțȓȗȋȠȜȕțȎȥȖȠȥȠȜȝȓȞȓȚȓțțȩȓȚȜȑȡȠ
ȖȚȓȠȪȜȒțȜȖȠȜȔȓȖȚȭȓȟșȖȜțȖȜȏȨȭȐșȭȬȠȟȭȐȞȎȕțȩȣ
ȜȏșȎȟȠȭȣȐȖȒȖȚȜȟȠȖǽȓȞȓȚȓțțȎȭȤȖȘșȎforȠȎȘȔȓȟȡȧȓ
ȟȠȐȡȬȠȠȜșȪȘȜȐȟȐȜȓȗșȜȘȎșȪțȜȗȜȏșȎȟȠȖȐȖȒȖȚȜȟȠȖȐțȡ
ȠȞȖȤȖȘșȎȂȡțȘȤȖȖȠȐȜȓȑȜȚȜȒȡșȭhareȐȩȕȩȐȎȬȠȒȞȡȑȖȓ
ȢȡțȘȤȖȖ&RPSXWHU&UDIW: turtle.select()turtle.getItemDetail()Ȗturtle.getItemCount().
ȀȩȚȜȔȓȦȪȞȎȕȚȓȧȎȠȪȢȡțȘȤȖȖȘȜȠȜȞȩȓȝȖȦȓȦȪȐțȡ
ȠȞȖȚȜȒȡșȓȗȥȠȜȏȩȒȞȡȑȖȓȝȞȜȑȞȎȚȚȩȚȜȑșȖȖȣȖȟȝȜșȪȕȜ
ȐȎȠȪǿȜȕȒȎțȖȓȟȜȏȟȠȐȓțțȩȣȢȡțȘȤȖȗȖȚȜȒȡșȓȗ²ȫȠȜȚȓ
ȠȜȒȝȞȜȑȞȎȚȚȖȞȜȐȎțȖȭȘȜȠȜȞȩȗȝȜȕȐȜșȭȓȠȞȎȕȞȎȏȎȠȩȐȎȠȪ
ȏȜșȓȓȟșȜȔțȩȓȝȞȜȑȞȎȚȚȩǰȑșȎȐȓȠȩȏȡȒȓȦȪȖȟȝȜșȪȕȜ
ȐȎȠȪȚȜȒȡșȪhareȝȞȖȟȜȕȒȎțȖȖșȓȟȜȢȓȞȚȩțȎȘȜȠȜȞȜȗȐȩ
ȞȎȧȓțțȩȓȒȓȞȓȐȪȭȏȡȒȡȠȐȩȞȡȏȎȠȪȟȭȥȓȞȓȝȎȦȘȎȚȖȐȎȐȠȜ
ȚȎȠȖȥȓȟȘȜȚȞȓȔȖȚȓ
8
ēČěğĝĖČĎĞĚĘČĞĔēĔĜĚĎČęęĚĕ
ėđĝĚĠđĜĘħ
ǰȑșȎȐȓȚȩȕȎȝȞȜȑȞȎȚȚȖȞȜȐȎșȖȥȓȞȓȝȎȦ
Șȡ țȎ ȞȡȏȘȡ ȒȓȞȓȐȪȓȐ țȜ ȝȓȞȓȒ ȕȎȝȡȟȘȜȚ
ȝȞȜȑȞȎȚȚȩȖȑȞȜȘȡȝȞȖȣȜȒȖșȜȟȪȐȞȡ ȥțȡȬ
ȟȠȎȐȖȠȪȥȓȞȓȝȎȦȘȡȝȓȞȓȒȘȎȔȒȩȚȒȓȞȓȐȜȚ
ȁȟȠȎțȜȐȘȎȥȓȞȓȝȎȦȘȖȝȓȞȓȒȘȎȔȒȩȚȒȓȞȓȐȜȚ
ȘȜȠȜȞȜȓȠȩȣȜȥȓȦȪȟȞȡȏȖȠȪțȓțȎȚțȜȑȜȫȢȢȓȘ
ȠȖȐțȓȓȥȓȚȞȡȏȖȠȪȒȓȞȓȐȪȭȐȞȡȥțȡȬǻȜȞȡȥțȜȗȠȞȡȒ
ȚȜȔțȜȖȟȘșȬȥȖȠȪȖȝȜșțȜȟȠȪȬȎȐȠȜȚȎȠȖȕȖȞȜȐȎȠȪȐȓȟȪ
ȝȞȜȤȓȟȟȝȞȜȖȕȐȜȒȟȠȐȎȒȞȓȐȓȟȖțȩȎȕȎȜȒțȜȕȎȝȞȜȑȞȎȚȚȖ
ȞȜȐȎȠȪȥȓȞȓȝȎȦȘȡțȎȝȜȟȎȒȘȡȟȎȔȓțȤȓȐȖȐȩȞȎȧȖȐȎțȖȓ
ȒȓȞȓȐȪȓȐȀȎȘȎȭȥȓȞȓȝȎȦȘȎȏȡȒȓȠȐȩȟȎȔȖȐȎȠȪȟȎȔȓțȓȤ
ȟȞȡȏȎȠȪȒȓȞȓȐȜȘȜȑȒȎȜțȜȐȩȞȎȟȠȓȠȖȟȎȔȎȠȪțȜȐȩȗȟȎȔȓ
țȓȤǰȓȟȪȫȠȜȠȝȞȜȤȓȟȟȜțȎȒȜșȔțȎȝȜȐȠȜȞȭȠȪȏȓȕȘȎȘȜȑȜ
șȖȏȜȐȚȓȦȎȠȓșȪȟȠȐȎȟȜȟȠȜȞȜțȩȥȓșȜȐȓȘȎȅȠȜȏȩȟȒȓșȎȠȪ
ȫȠȜȚȩțȎȝȖȦȓȚȝȞȜȑȞȎȚȚȡȝȜȒțȎȕȐȎțȖȓȚfarmtrees.
ȀȜȑȒȎȠȩȟȚȜȔȓȦȪțȎȟȠȞȜȖȠȪțȓȟȘȜșȪȘȜȥȓȞȓȝȎȦȓȘțȎȐȩ
ȞȎȧȖȐȎțȖȓșȓȟȎȖȕȎȑȜȠȜȐȘȡȒȞȓȐȓȟȖțȩȘȎȘȝȜȘȎȕȎțȜțȎ
ȞȖȟ
ǺȩȐȜȕȪȚȓȚȚȜȒȡșȪ hare ȖȕȑșȎȐȩ ȥȠȜȏȩȝȜȐȠȜȞțȜ
ȖȟȝȜșȪȕȜȐȎȠȪȡȔȓțȎȝȖȟȎțțȩȗȘȜȒȖȝȞȜȑȞȎȚȚȡchoptree
ǵǮǽȁǿǸǮǰȀǼǺǮȀǶǵǶǾǼǰǮǻǻǼǷǹdzǿǼȂdzǾǺȉ
143
ȖȕȑșȎȐȩ ȀȎȘȡțȎȟțȓȏȡȒȓȠțȓȜȏȣȜȒȖȚȜȟȠȖȝȓȞȓȝȖȟȩ
ȐȎȠȪȐȓȟȪȫȠȜȠȘȜȒ
ˀ̛̭͘ϴ͘ϭ͘ʤ̴̸̨̨̨̨̡̛̛̛̛̯̥̯̬̦̦̣̖̭̖̬̥͕̭̣̱̙̖̥̖̬̖̪̹̥̏̌̏̌̌́̌̍̏̌̌́̌̌̚
̨̨̛̪̱̪̬̣̖̦̖̥̪̬̬̥̥̼̔̌̏̐̌farmtrees
ěĜĚđĖĞĔĜĚĎČęĔđěĜĚďĜČĘĘħ
ėđĝĚĠđĜĘħ
ǶȕȏȎȐȖȚȟȭȜȠțȓȜȏȣȜȒȖȚȜȟȠȖȟȠȎȐȖȠȪȥȓȞȓȝȎȦȘȡȝȓȞȓȒȘȎȔ
ȒȩȚȒȓȞȓȐȜȚǼȟȠȎȐȖȚȓȓțȎȜȒțȜȚȚȓȟȠȓȖȕȎȝȞȜȑȞȎȚȚȖȞȡ
ȓȚȟȎȚȜȟȠȜȭȠȓșȪțȜȟȎȔȎȠȪȖȐȩȞȎȧȖȐȎȠȪȟȎȔȓțȤȩȎȠȎȘȔȓ
ȖȟȝȜșȪȕȜȐȎȠȪȘȜȟȠțȡȬȚȡȘȡȥȠȜȏȩȡȟȘȜȞȖȠȪȖȣȞȜȟȠǵȎȠȓȚ
ȘȎȘȠȜșȪȘȜȟȎȔȓțȓȤȝȞȓȐȞȎȠȖȠȟȭȐȒȓȞȓȐȜȥȓȞȓȝȎȦȘȎȟȞȡȏȖȠ
ȓȑȜȖȝȜȚȓȟȠȖȠȕȎȑȜȠȜȐșȓțțȡȬȒȞȓȐȓȟȖțȡȐȟȡțȒȡȘ
ǰȜȠțȓȟȘȜșȪȘȜȦȎȑȜȐȘȜȠȜȞȩȓȒȜșȔțȎȐȩȝȜșțȭȠȪȝȞȜ
ȑȞȎȚȚȎșȓȟȜȕȎȑȜȠȜȐȘȖ
1. ȁȏȓȒȖȠȪȟȭȥȠȜȚȜȒȡșȪhareȖȝȞȜȑȞȎȚȚȎchoptree
ȟȡȧȓȟȠȐȡȬȠ
2. ǰȩȏȞȎȠȪȟȎȔȓțȤȩȒȓȞȓȐȪȓȐȐȖțȐȓțȠȎȞȓȥȓȞȓȝȎȦȘȖ
ǵȎȘȞȩȠȪȝȞȜȑȞȎȚȚȡȓȟșȖȟȎȔȓțȤȓȐțȓȠ
3. ǽȜȟȎȒȖȠȪȟȎȔȓțȓȤ
4. ǽȜȟȎȔȓțțȩȗȟȎȔȓțȓȤȝȓȞȖȜȒȖȥȓȟȘȖȡȒȜȏȞȭȠȪȘȜȟȠțȜȗ
ȚȡȘȜȗȝȜȘȎȜțțȓȐȩȞȎȟȠȓȠ
5. ǵȎȝȡȟȠȖȠȪȝȞȜȑȞȎȚȚȡchoptree.
144
DZǹǮǰǮ
6. ǽȜȚȓȟȠȖȠȪȟȜȏȞȎțțȡȬȒȞȓȐȓȟȖțȡȐȟȡțȒȡȘ
7. ǽȜȐȠȜȞȖȠȪȐȓȟȪȝȞȜȤȓȟȟ
ȅȓȞȓȝȎȦȘȎȏȡȒȓȠȝȜȐȠȜȞȭȠȪȐȓȟȪȝȞȜȤȓȟȟȒȜȠȓȣȝȜȞȝȜȘȎ
țȓȕȎȘȜțȥȎȠȟȭȟȎȔȓțȤȩȒȓȞȓȐȪȓȐȖșȖȘȜȟȠțȎȭȚȡȘȎȀȓȝȓȞȪ
ȘȜȑȒȎȚȩȕțȎȓȚȥȠȜȒȜșȔȓțȒȓșȎȠȪȘȜȒȒȎȐȎȗțȎȝȖȦȓȚ
ȓȑȜ
ĖĚĐěĜĚďĜČĘĘħ.):5 0 then
41.
print('All furnaces full. Sleeping...')
RVVOHHS ɩɚɭɡɚɜɦɢɧɭɬ
ǿȀǾǼǶȀdzǹȊǿȀǰǼDZdzǻdzǾǮȀǼǾǮǯȁǹȉǴǻǶǸǮ
165
43.
end
44.
end
45. end
ǿȜȣȞȎțȖȝȞȜȑȞȎȚȚȡȝȜȟșȓȐȐȜȒȎȐȟȓȣȖțȟȠȞȡȘȤȖȗǻȎ
ȔȎȐȘșȎȐȖȦȡCtrlȜȠȘȞȜȗȚȓțȬǰȩȏȓȞȖȝȡțȘȠ[Save]Ȗ
țȎȔȚȖȘșȎȐȖȦȡEnterǵȎȠȓȚȐȩȗȒȖȖȕȞȓȒȎȘȠȜȞȎțȎȔȎȐ
ȘșȎȐȖȦȡCtrlȐȩȏȞȎȐȝȡțȘȠ[Exit]ȖțȎȔȎȐȘșȎȐȖȦȡEnter.
ǸȞȜȚȓȠȜȑȜȠȓȏȓȝȜțȎȒȜȏȖȠȟȭȚȜȒȡșȪhareȘȜȠȜȞȩȗ
ȚȜȔțȜȟȘȎȥȎȠȪȐȩȝȜșțȖȐȘȜȚȎțȒȡpastebin get wwzvaKuW hare.
ēČěğĝĖěĜĚďĜČĘĘħ+7*516-:
ǿȜȕȒȎȐȑȓțȓȞȎȠȜȞȏȡșȩȔțȖȘȎȟȝȭȠȪȬȝȓȥȎȚȖȡȟȠȎțȜȐȖ
ȥȓȞȓȝȎȦȘȡȝȜȐȓȞțȡȐȓȓșȖȤȓȐȜȗȟȠȜȞȜțȜȗȘȏșȜȘȡȏȡșȩȔ
țȖȘȎȖȕȎȝȡȟȠȖȝȞȜȑȞȎȚȚȡcobminerȅȓȞȓȝȎȦȘȎțȎȥțȓȠ
ȒȜȏȩȐȎȠȪȏȡșȩȔțȖȘȝȜȘȎțȓțȎȏȓȞȓȠȟȠȓȘȐȏșȜȘȎȘȜȠȜ
ȞȩȗȕȎȠȓȚȕȎȑȞȡȕȖȠȐȝȓȥȖǽȜȘȎȠȩțȓȒȜȏȓȞȓȦȪȟȭȒȜȑșȎ
ȐȩȖțȓțȎȝȖȦȓȦȪȝȞȜȑȞȎȚȚȡbrickcrafterȕȎȑȞȡȔȎȠȪ
ȠȜȝșȖȐȜȐȝȓȥȖȖȖȕȐșȓȘȎȠȪȖȕțȖȣȝȓȞȓȝșȎȐșȓțțȩȓȘȎ
ȚȓțțȩȓȏșȜȘȖȝȞȖȒȓȠȟȭȐȞȡȥțȡȬȅȠȜȏȩȝȜșȡȥȖȠȪȠȜȝșȖȐȜ
ȒșȭȝȓȥȓȗȝȞȖȒȓȠȟȭȏȞȎȠȪȏșȜȘȖȒȞȓȐȓȟȖțȩȡȥȓȞȓȝȎȦȓȘ
șȓȟȜȞȡȏȜȐȖȝȓȞȓȔȖȑȎȠȪȫȠȖȏșȜȘȖȐȡȑȜșȪȐȜȠȒȓșȪțȩȣȝȓ
ȥȎȣDzȎȐȎȗȝȜȒȞȜȏțȜȞȎȟȟȚȜȠȞȖȚȘȎȔȒȡȬȥȎȟȠȪȝȞȜȑȞȎȚȚȩ
cobminer.
dzȟșȖȝȞȖȓȓȕȎȝȡȟȘȓȐȜȕțȖȘȎȬȠȜȦȖȏȘȖȠȧȎȠȓșȪțȜ
ȟȞȎȐțȖȟȐȜȗȘȜȒȟșȖȟȠȖțȑȜȚȐȫȠȜȗȘțȖȑȓȚȜȔȓȠȏȩȠȪȡ
ȠȓȏȭȐȜȕțȖȘșȖȜȝȓȥȎȠȘȖdzȟșȖȜȝȓȥȎȠȜȘțȓȠțȜȝȞȜȑȞȎȚȚȎ
ȐȟȓȞȎȐțȜțȓȞȎȏȜȠȎȓȠȡȒȎșȖȢȎȗșȐȩȝȜșțȖȐȘȜȚȎțȒȡdelete cobminerȎȕȎȠȓȚȕȎȑȞȡȕȖȘȜȒȕȎțȜȐȜȐȩȝȜșțȖȐȘȜ
ȚȎțȒȡpastebin get YhvSiw7e cobminer.
ęČĝĞĜĚĕĖČěĜĚďĜČĘĘħ
ĔĐĚčČĎėđęĔđĖĚęĝĞČęĞ
ǽȓȞȐȩȓȒȐȓȟȠȞȜȘȖȝȞȜȑȞȎȚȚȩȟȜȒȓȞȔȎȠȜȏȩȥțȩȗȘȜȚȚȓț
ȠȎȞȖȗȘȜȠȜȞȩȗȜȝȖȟȩȐȎȓȠȥȠȜȫȠȜȕȎȝȞȜȑȞȎȚȚȎ
166
DZǹǮǰǮ
cobminer
>>ɉɪɨɝɪɚɦɦɚɝɟɧɟɪɚɬɨɪɚɛɭɥɵɠɧɢɤɚɗɥɚɋɜɟɣɝɚɪɬɚ
Ⱦɨɛɵɱɚɛɭɥɵɠɧɢɤɚɫɩɨɦɨɳɶɸɝɟɧɟɪɚɬɨɪɚɱɟɪɟɩɚɲɤɚɢɡ
2]]
3.
RVORDG$3, KDUH ɡɚɝɪɭɡɤɚɦɨɞɭɥɹKDUH
5. local numToDrop
ǸȜȒȐȟȠȞȜȘȓȕȎȑȞȡȔȎȓȠȚȜȒȡșȪhareȘȜȠȜȞȩȗȝȞȜ
ȑȞȎȚȚȎȟȚȜȔȓȠȐȩȕȐȎȠȪȟȝȜȚȜȧȪȬȢȡțȘȤȖȖhare.selectItem()ǰȟȠȞȜȘȓȜȏȨȭȐșȭȓȠȟȭȝȓȞȓȚȓțțȎȭȟȖȚȓțȓȚnumToDropȘȜȠȜȞȎȭȏȡȒȓȠȖȟȝȜșȪȕȜȐȎȠȪȟȭȝȜȕȔȓ
ǰȟȠȞȜȘȓȜȏȨȭȐșȭȓȠȟȭȝȓȞȓȚȓțțȎȭNUM _ FURNACESȘȜ
ȠȜȞȎȭȟȜȒȓȞȔȖȠȤȓșȜȓȥȖȟșȜȟȜȜȠȐȓȠȟȠȐȡȬȧȓȓȘȜșȖȥȓȟȠȐȡ
ȝȓȥȓȗȞȎȟȝȜșȜȔȓțțȩȣȕȎȥȓȞȓȝȎȦȘȜȗ
cobminer
6. local NUM_FURNACES = 5
ǰțȎȦȓȚȝȞȖȚȓȞȓȝȓȥȓȗȝȭȠȪțȜȠȩȚȜȔȓȦȪȡȟȠȎțȜȐȖȠȪ
ȖȣȟȘȜșȪȘȜȕȎȣȜȥȓȦȪǰșȬȏȜȚȟșȡȥȎȓȝȓȞȓȚȓțțȜȗNUM _
FURNACESȟșȓȒȡȓȠȝȞȖȟȐȜȖȠȪȕțȎȥȓțȖȓȞȎȐțȜȓȘȜșȖȥȓȟȠȐȡ
ȡȟȠȎțȜȐșȓțțȩȣȝȓȥȓȗ.
ǶȚȭȝȓȞȓȚȓțțȜȗNUM _ FURNACES ȡȘȎȕȎțȜȝȞȜȝȖȟțȩȚȖ
ȏȡȘȐȎȚȖȝȜȠȜȚȡȥȠȜȫȠȜȢȖȘȟȖȞȜȐȎțțȎȭȝȓȞȓȚȓțțȎȭțȎ
ȕȩȐȎȓȚȎȭȘȜțȟȠȎțȠȜȗȋȠȜȕțȎȥȖȠȥȠȜȓȓȕțȎȥȓțȖȓțȓȖȕ
ȚȓțȭȓȠȟȭȐȝȞȜȤȓȟȟȓȖȟȝȜșțȓțȖȭȝȞȜȑȞȎȚȚȩǵȎȝȖȟȪȖȚȓț
ȘȜțȟȠȎțȠȐȐȓȞȣțȓȚȞȓȑȖȟȠȞȓ²ȫȠȜȝȞȜȟȠȜȝȞȎȐȖșȜȜȢȜȞȚșȓ
țȖȭǸȜțȟȠȎțȠȩ²ȟȎȚȖȝȜȟȓȏȓȜȏȩȥțȩȓȝȓȞȓȚȓțțȩȓȎȖȚȭ
ȝȞȜȝȖȟțȩȚȖȏȡȘȐȎȚȖȝȞȜȟȠȜțȎȝȜȚȖțȎȓȠȥȠȜțȓȟșȓȒȡȓȠ
ȝȖȟȎȠȪȘȜȒȘȜȠȜȞȩȗȖȕȚȓțȭȓȠȕțȎȥȓțȖȓȫȠȜȗȝȓȞȓȚȓțțȜȗ
ǶȟȝȜșȪȕȜȐȎțȖȓȝȓȞȓȚȓțțȜȗȕțȎȥȓțȖȓȘȜȠȜȞȜȗțȖȘȜȑȒȎțȓ
ȚȓțȭȓȠȟȭȚȜȔȓȠȝȜȘȎȕȎȠȪȟȭȟȠȞȎțțȩȚțȜȘȜțȟȠȎțȠȩȒȓșȎ
ȬȠȘȜȒȏȜșȓȓȝȜțȭȠțȩȚȖȡȝȞȜȧȎȬȠȐțȓȟȓțȖȓȖȕȚȓțȓțȖȗȐ
ȏȡȒȡȧȓȚ
ǿȚȜȠȞȖDzȜȝȡȟȠȖȚȐȘȜȒȓțȡȔțȜȡȘȎȕȎȠȪȘȜșȖȥȓȟȠȐȜ
ȝȓȥȓȗǻȜȓȟșȖȠȩȖȟȝȜșȪȕȡȓȦȪȥȖȟșȜȐȚȓȟȠȜȘȜțȟȠȎțȠȩȐȜ
ȐȟȓȚȘȜȒȓȎȕȎȠȓȚȖȕȚȓțȖȦȪȘȜșȖȥȓȟȠȐȜȝȓȥȓȗȠȓȏȓȝȞȖ
ȒȓȠȟȭȜȏțȜȐșȭȠȪȐȟȓȐȣȜȔȒȓțȖȭȑȒȓȖȟȝȜșȪȕȡȓȠȟȭȫȠȜȥȖȟ
șȜdzȟșȖȔȓȖȟȝȜșȪȕȜȐȎȠȪȘȜțȟȠȎțȠȡȠȖȝȎNUM _ FURNACES
ǿȀǾǼǶȀdzǹȊǿȀǰǼDZdzǻdzǾǮȀǼǾǮǯȁǹȉǴǻǶǸǮ
167
ȠȜȘȜȒțȓțȡȔțȜȜȏțȜȐșȭȠȪ³ȒȜȟȠȎȠȜȥțȜȖȕȚȓțȖȠȪȕțȎȥȓ
țȖȓȐȖțȟȠȞȡȘȤȖȖȝȞȖȟȐȎȖȐȎțȖȭ ȠȓȜȒțȡȟȠȞȜȘȡȘȜȒȎȑȒȓ
ȠȩȝȞȖȟȐȎȖȐȎȓȦȪȘȜțȟȠȎțȠȓȕțȎȥȓțȖȓ ȘȜȠȜȞȎȭȐțȎȦȓȚ
ȟșȡȥȎȓțȎȣȜȒȖȠȟȭȐȟȠȞȜȘȓǸȜțȟȠȎțȠȩȒȓșȎȬȠȘȜȒȝȜțȭȠ
țȩȚȖȡȝȞȜȧȎȬȠȓȑȜȖȕȚȓțȓțȖȓ
ĐĚčħģČčğėħĒęĔĖČĔēďđęđĜČĞĚĜČ
ǿȜȟȠȞȜȘȖțȎȥȖțȎȓȠȟȭȤȖȘșwhileȋȠȜȜȟțȜȐțȜȗȤȖȘș
ȝȞȜȑȞȎȚȚȩȐȘȜȠȜȞȜȚȥȓȞȓȝȎȦȘȎȒȜȏȩȐȎȓȠȏȡșȩȔțȖȘȝȓ
ȞȓȚȓȧȎȓȠȟȭȐȒȜșȪȝȓȥȓȗȖȕȎȑȞȡȔȎȓȠȏȡșȩȔțȖȘȐȝȓȥȖ
cobminer
8. print('Starting mining program...')
9. while true do
ɞɨɛɵɱɚɛɭɥɵɠɧɢɤɚ
11.
if turtle.detect() then
12.
print('Cobblestone detected. Mining...')
WXUWOHGLJ ɞɨɛɵɱɚɛɭɥɵɠɧɢɤɚ
ǽȓȞȐȎȭȥȎȟȠȪȤȖȘșȎȜȠȐȓȥȎȬȧȎȭȕȎȒȜȏȩȥȡȏȡșȩȔ
țȖȘȎțȎȥȖțȎȓȠȟȭȐȟȠȞȜȘȓȂȡțȘȤȖȭturtle.detect()
ȐȜȕȐȞȎȧȎȓȠȕțȎȥȓțȖȓtrueȓȟșȖȏșȜȘȏȡșȩȔțȖȘȎțȎȣȜ
ȒȖȠȟȭȝȓȞȓȒȥȓȞȓȝȎȦȘȜȗǰȫȠȜȚȟșȡȥȎȓȝȞȜȑȞȎȚȚȎȐȩȐȜ
ȒȖȠȟȜȜȏȧȓțȖȓ'Cobblestone detected. Mining...'Ȗ
ȐȩȕȩȐȎȭȢȡțȘȤȖȬturtle.dig()ȐȟȠȞȜȘȓȒȜȏȩȐȎȓȠȏȡ
șȩȔțȖȘ
ǻȜȓȟșȖȏȡșȩȔțȖȘȎțȓȠȝȜȠȜȚȡȥȠȜȜțȓȧȓțȓȡȟȝȓșȜȏ
ȞȎȕȜȐȎȠȪȟȭȝȜȟșȓȒȜȏȩȥȖȏșȜȘȎȢȡțȘȤȖȭturtle.detect()
ȐȜȕȐȞȎȧȎȓȠȕțȎȥȓțȖȓfalseȀȜȑȒȎȡȟșȜȐȖȓȖțȟȠȞȡȘȤȖȖif
ȝȞȖțȖȚȎȓȠȕțȎȥȓțȖȓfalseȖȐȩȝȜșțȭȓȠȟȭȏșȜȘȘȜȒȎȝȜȟșȓ
ȖțȟȠȞȡȘȤȖȖelseȞȎȟȝȜșȜȔȓțțȜȗȐȟȠȞȜȘȓ
cobminer
14.
else
15.
print('No cobblestone. Sleeping...')
RVVOHHS ɩɚɭɡɚɜɩɨɥɫɟɤɭɧɞɵ
17.
end
ȋȠȜȠȘȜȒȜȠȜȏȞȎȔȎȓȠȟȜȜȏȧȓțȖȓ'No cobblestone.
Sleeping...'ȖȐȩȕȩȐȎȓȠȢȡțȘȤȖȬos.sleep(0.5)ȒșȭȝȞȖ
168
DZǹǮǰǮ
ȜȟȠȎțȜȐȘȖȖȟȝȜșțȓțȖȭȝȞȜȑȞȎȚȚȩțȎȝȜșȟȓȘȡțȒȩȥȓȑȜȒȜ
ȟȠȎȠȜȥțȜȒșȭȢȜȞȚȖȞȜȐȎțȖȭțȜȐȜȑȜȏșȜȘȎǼțȏȡȒȓȠȒȜȏȩȠ
ȘȜȑȒȎȝȞȜȑȞȎȚȚȎȐȜȕȜȏțȜȐȖȠȞȎȏȜȠȡǸȜȑȒȎȥȓȞȓȝȎȦȘȎțȎ
ȏȓȞȓȠȝȜșțȩȗȟȠȓȘȏȡșȩȔțȖȘȎ ȏșȜȘȎ ȓȗȏȡȒȓȠțȡȔțȜ
ȝȓȞȓȝșȎȐȖȠȪȓȑȜȐȝȓȥȎȣ
ĎēČĔĘĚĐđĕĝĞĎĔđĝěđģČĘĔ
ǶțȠȓȞȢȓȗȟȝȓȥȖȟȜȒȓȞȔȖȠȠȞȖȭȥȓȗȘȖȠȜȝșȖȐțȡȬȒșȭ
ȕȎȑȞȡȕȘȖȠȜȝșȖȐȎțȎȝȞȖȚȓȞȡȑșȭȐȐȜȒțȡȬȒșȭȕȎȑȞȡȕ
ȘȖȟȩȞȪȭțȎȝȓȞȓȝșȎȐȘȡȖȐȩȐȜȒțȡȬȑȒȓȞȓȕȡșȪȠȎȠȝȓ
ȞȓȝșȎȐȘȖȟȜȣȞȎțȭȓȠȟȭȒȜȠȓȣȝȜȞȝȜȘȎȖȑȞȜȘțȓȕȎȏȓȞȓȠ
ȏșȜȘȖǽȜșȜȔȓțȖȓȥȓȞȓȝȎȦȘȖȜȠțȜȟȖȠȓșȪțȜȝȓȥȖȜȝȞȓȒȓ
șȭȓȠȐȜȕȚȜȔțȩȓȒȓȗȟȠȐȖȭȥȓȞȓȝȎȦȘȖțȎȝȞȖȚȓȞȕȎȑȞȡȕ
ȘȡȠȜȝșȖȐȎȐȝȓȥȪȕȎȑȞȡȕȘȡȟȩȞȪȭȒșȭȝȓȞȓȝșȎȐȘȖȖșȖ
ȟȏȜȞȑȜȠȜȐȜȑȜȝȞȜȒȡȘȠȎdzȟșȖȥȓȞȓȝȎȦȘȎțȎȣȜȒȖȠȟȭȟȏȜȘȡ
ȜȠȝȓȥȖȜțȎȚȜȔȓȠȕȎȑȞȡȔȎȠȪȖșȖȜȥȖȧȎȠȪȠȜȝșȖȐțȡȬ
ȭȥȓȗȘȡdzȟșȖȥȓȞȓȝȎȦȘȎțȎȣȜȒȖȠȟȭțȎȒȝȓȥȪȬȜțȎȚȜȔȓȠ
ȕȎȑȞȡȔȎȠȪȖșȖȜȥȖȧȎȠȪȐȐȜȒțȡȬȭȥȓȗȘȡȝȓȥȖdzȟșȖȥȓ
ȞȓȝȎȦȘȎțȎȣȜȒȖȠȟȭțȖȔȓȝȓȥȖȜțȎȚȜȔȓȠȖȕȐșȓȘȎȠȪȞȓ
ȕȡșȪȠȎȠȝȓȞȓȝșȎȐȘȖǻȎȞȖȟȝȜȘȎȕȎțȩȫȠȖȝȜșȜȔȓțȖȭ
ȥȓȞȓȝȎȦȘȖ
Вводная ячейка
Печь
Топливная
ячейка
Выводная
ячейка
ˀ̛̭͘ϵ͘ϰ͘ʿ̸̸̸̨̨̡̨̡̡̨̡̨̨̛̛̛̣̙̖̦̖̖̬̖̪̹̪̬̖̖̣̖̯͕̭̜̖̜̜̪̖̦̌̔́̌́̌
̨̛̥̖̜̭̯̱̖̯̏̌̔̏̚
ȀȓȝȓȞȪȥȓȞȓȝȎȦȘȎȕȎȑȞȡȕȖȠȏșȜȘȖȏȡșȩȔțȖȘȎȐȝȓȥȖ
ǿȀǾǼǶȀdzǹȊǿȀǰǼDZdzǻdzǾǮȀǼǾǮǯȁǹȉǴǻǶǸǮ
169
ğėğģĤđęĔđĖĚĐČĝěĚĘĚĥĨĪĖĚęĝĞČęĞ
ȁȏȓȒȖȐȦȖȟȪȥȠȜȟȡȧȓȟȠȐȡȓȠȏșȜȘȏȡșȩȔțȖȘȎȒșȭȒȜȏȩȥȖ
ȝȞȜȑȞȎȚȚȎȝȞȜȐȓȞȭȓȠȘȜșȖȥȓȟȠȐȜȡȔȓȟȜȏȞȎțțȩȣȥȓȞȓȝȎȦ
ȘȜȗȏșȜȘȜȐȒȜȟȠȖȑșȜșȖȜțȜȚȎȘȟȖȚȎșȪțȜȑȜȕțȎȥȓțȖȭ²
dzȟșȖȚȎȘȟȖȚȡȚȒȜȟȠȖȑțȡȠȥȓȞȓȝȎȦȘȎȑȜȠȜȐȖȠȟȭȕȎȑȞȡȕȖȠȪ
ȏȡșȩȔțȖȘȐȝȓȥȖȒșȭȥȓȑȜȝȞȜȐȓȞȭȓȠȒȜȟȠȎȠȜȥțȜșȖȡțȓȓ
ȠȜȝșȖȐȎȒșȭȝȓȞȓȚȓȧȓțȖȭȘȝȓȥȎȚȖȜȏȞȎȠțȜȘȑȓțȓȞȎȠȜȞȡ
ȏȡșȩȔțȖȘȎ
cobminer
ɩɪɨɜɟɪɤɚɩɨɥɨɧɥɢɫɬɟɤɛɭɥɵɠɧɢɤɚ
20.
hare.selectItem('minecraft:cobblestone')
21.
if turtle.getItemCount() == 64 then
ɩɪɨɜɟɪɤɚɡɚɩɪɚɜɥɟɧɚɥɢɬɨɩɥɢɜɨɦɱɟɪɟɩɚɲɤɚ
23.
if turtle.getFuelLevel() < (2 * NUM_FURNACES)
then
24.
error('Turtle needs more fuel!')
25.
end
ǽȞȜȑȞȎȚȚȎȟȝȜȚȜȧȪȬȢȡțȘȤȖȖhare.selectItem()Ȑ
ȟȠȞȜȘȓȜȏȞȎȧȎȓȠȟȭȘȥȓȞȓȝȎȦȘȓǸȜȒȐȟȠȞȜȘȓȐȩȕȩ
ȐȎȓȠȢȡțȘȤȖȬturtle.getItemCount()ȥȠȜȏȩȝȞȜȐȓȞȖȠȪ
ȘȜșȖȥȓȟȠȐȜȏșȜȘȜȐȏȡșȩȔțȖȘȎȟȜȏȞȎțțȩȣȥȓȞȓȝȎȦȘȜȗ
dzȟșȖȏșȜȘȜȐȏȡșȩȔțȖȘȎȐȜȏȧȓȗȟșȜȔțȜȟȠȖȝȞȜȑȞȎȚȚȎ
ȐȩȕȩȐȎȓȠȢȡțȘȤȖȬturtle.getFuelLevel()ȥȠȜȏȩȝȞȜȐȓ
ȞȖȠȪȡȞȜȐȓțȪȠȜȝșȖȐȎȥȓȞȓȝȎȦȘȖ
1
2
3
4
5
10
9
8
7
6
5
ˀ̛̭͘ϵ͘ϱ͘ʻ̵̸̸̨̨̨̡̨̨̨̨̡̨̛̛̛̛̖̥̖̣̖̭̯̯̪̣̬̣̹̖̣̖̭̯̍̔̏̏̌̏̔̏̌̌̌̍̽̏̌̚
̸̸̵̡̡̡̡̨̨̨̨̡̨̡̨̛̪̖̖̜͕̯̖̬̖̪̹̖̦̖̥̪̖̬̖̥̖̺̯̭̦̖̯̣̭̖̥̌̌̌̍̔̌̽́̽̏
̸̵̶̨̨̨̛̛̛̛̪̖̥͕̦̯̖̥̖̬̦̱̯̭̦̭̦̱̪̌̌̏̽́̌̔̀̀̚̚
170
DZǹǮǰǮ
ǸȜȒȐȟȠȞȜȘȓȝȞȜȐȓȞȭȓȠȥȠȜȏȩȡȞȜȐȓțȪȠȜȝșȖȐȎȥȓ
ȞȓȝȎȦȘȖȏȩșțȓȚȓțȓȓȥȓȚȞȓȕȡșȪȠȎȠȜȝȓȞȎȤȖȖ2 * NUM _
FURNACESȋȠȜȕțȎȥȓțȖȓȚȩȏȓȞȓȚȝȜȠȜȚȡȥȠȜȥȓȞȓȝȎȦȘȓ
ȠȞȓȏȡȓȠȟȭȠȜȝșȖȐȜȒșȭȝȓȞȓȚȓȧȓțȖȭȘȘȎȔȒȜȗȝȓȥȖȖȐȜȕ
ȐȞȎȧȓțȖȭȐȖȟȣȜȒțȜȓȝȜșȜȔȓțȖȓȘȎȘȝȜȘȎȕȎțȜțȎȞȖȟ
dzȟșȖȡȥȓȞȓȝȎȦȘȖțȓȒȜȟȠȎȠȜȥțȜȠȜȝșȖȐȎȘȜȒȐȟȠȞȜȘȓ
ȐȩȕȩȐȎȓȠȢȡțȘȤȖȬerror()ȐȩȐȜȒȭȧȡȬȠȓȘȟȠ'Turtle
needs more fuel!'ǵȎȠȓȚȘȜȒȐȟȠȞȜȘȓȕȎȐȓȞȦȎȓȠȞȎȏȜ
ȠȡȝȞȜȑȞȎȚȚȩ
ēČďĜğēĖČčğėħĒęĔĖČĎěđģĔ
dzȟșȖȡȥȓȞȓȝȎȦȘȖțȎȘȜȝȖșȜȟȪȏșȜȘȎȏȡșȩȔțȖȘȎȖȖȚȓȓȠ
ȟȭȒȜȟȠȎȠȜȥțȜȓȘȜșȖȥȓȟȠȐȜȠȜȝșȖȐȎȒșȭȝȓȞȓȚȓȧȓțȖȭȝȜȝȓ
ȥȎȚȖȐȜȕȐȞȎȧȓțȖȭțȎȖȟȣȜȒțȡȬȝȜȕȖȤȖȬȜțȎȚȜȔȓȠțȎȥȎȠȪ
ȒȐȖȔȓțȖȓȖȕȎȑȞȡȕȘȡȏȡșȩȔțȖȘȎȘȎȘȝȜȘȎȕȎțȜțȎȞȖȟ
ˀ̛̭͘ϵ͘ϲ͘ˋ̸̡̨̡̡̛̛̛̖̬̖̪̹̬̱̙̖̯̣̱̣̼̙̦̪̖̌̌̌̐̌̍̍̌̏̚
ȄȖȘșforȐȟȠȞȜȘȓțȓȚțȜȑȜȜȠșȖȥȎȓȠȟȭȜȠȤȖȘșȜȐfor
ȘȜȠȜȞȩȓȚȩȖȟȝȜșȪȕȜȐȎșȖȞȎțȓȓȆȎȑȤȖȘșȎforȚȜȔȓȠȞȎ
ȐȓțȐȟșȡȥȎȓȐȩȕȜȐȎfor i = 1, 10 doȀȩȠȎȘȔȓȚȜ
ȔȓȦȪȖȟȝȜșȪȕȜȐȎȠȪȦȎȑȒȞȡȑȜȗȐȓșȖȥȖțȩȡȘȎȕȎȐȓȑȜțȓȝȜ
ȟȞȓȒȟȠȐȓțțȜȝȞȖȐȩȕȜȐȓǰȚȓȟȠȜȒȜȏȎȐșȓțȖȭ1ȝȞȖȘȎȔȒȜȗ
ȖȠȓȞȎȤȖȖȤȖȘșforȒȜȏȎȐȖȠȥȖȟșȜȡȘȎȕȎțțȜȓȐȎȞȑȡȚȓțȠȓ
ȦȎȑȎdzȟșȖȖȟȝȜșȪȕȜȐȎȠȪȜȠȞȖȤȎȠȓșȪțȜȓȥȖȟșȜțȎȝȞȖȚȓȞ
for i = 10, 1, -1 doȟȥȓȠȥȖȘȤȖȘșȎȏȡȒȓȠȞȎȏȜȠȎȠȪțȎ
ȡȚȓțȪȦȓțȖȓ
ǿȀǾǼǶȀdzǹȊǿȀǰǼDZdzǻdzǾǮȀǼǾǮǯȁǹȉǴǻǶǸǮ
171
cobminer
ɡɚɝɪɭɡɤɚɛɭɥɵɠɧɢɤɚɜɩɟɱɢ
28.
print('Dropping off cobblestone...')
29.
for furnacesToFill = NUM_FURNACES, 1, -1 do
WXUWOHEDFN ɩɟɪɟɦɟɳɟɧɢɟɤɩɟɱɢ
QXP7R'URS PDWKÀRRU WXUWOHJHW,WHP&RXQW
furnacesToFill)
WXUWOHGURS'RZQ QXP7R'URS ɡɚɝɪɭɡɤɚ
ɛɭɥɵɠɧɢɤɚɜɩɟɱɢ
33.
end
ȄȖȘșforȐȟȠȞȜȘȓȟȜȑșȎȟțȜȕțȎȥȓțȖȬȘȜțȟȠȎțȠȩ
NUM _ FURNACES Ƞȓ5 ȜȝȞȓȒȓșȭȓȠȘȜșȖȥȓȟȠȐȜȝȓȞȓȚȓȧȓ
țȖȗȥȓȞȓȝȎȦȘȖțȎȕȎȒǶȠȎȘȘȎȘȜȠȟȥȓȠȝȞȜȖȕȐȜȒȖȠȟȭȜȠ
5ȒȜ1ȎțȓȜȠ1ȒȜ5ȚȩȚȜȔȓȚȖȟȝȜșȪȕȜȐȎȠȪȝȓȞȓȚȓțțȡȬ
furnacesToFillȤȖȘșȎforȐȟȠȞȜȘȓȥȠȜȏȩȞȎȟȟȥȖȠȎȠȪ
ȟȘȜșȪȘȜȏșȜȘȜȐȏȡșȩȔțȖȘȎțȡȔțȜȕȎȑȞȡȕȖȠȪȐȘȎȔȒȡȬ
ȝȓȥȪǰȫȠȜȚȐȩȥȖȟșȓțȖȖȖȟȝȜșȪȕȡȓȠȟȭȢȡțȘȤȖȭmath.
ÀRRU()DzȎȐȎȗȝȜȟȚȜȠȞȖȚȘȎȘȞȎȏȜȠȎȓȠȫȠȎȢȡțȘȤȖȭ
ĚĖĜğďėđęĔđģĔĝđėĝěĚĘĚĥĨĪĠğęĖĢĔĕ
5) math.ceil(4.9)
5
lua> math.ceil(10.5)
11
X lua> math.ceil(12.0)
12
ǽȓȞȓȒȎȥȎȒȞȜȏțȜȑȜȕțȎȥȓțȖȭȢȡțȘȤȖȖmath.floor()
ȝȞȖȐȜȒȖȠȘȜȠȜȏȞȎȔȓțȖȬȤȓșȜȗȥȎȟȠȖȥȖȟșȎȏȓȕȒȓȟȭȠȖȥ
țȜȑȜȞȎȕȒȓșȖȠȓșȭȠȜȑȒȎȘȎȘȝȓȞȓȒȎȥȎȠȎȘȜȑȜȔȓȕțȎȥȓțȖȭ
ȢȡțȘȤȖȖmath.ceil()ȜȘȞȡȑșȭȓȠȥȖȟșȜȒȜȟșȓȒȡȬȧȓȑȜȤȓ
șȜȑȜȥȖȟșȎdzȟșȖȝȓȞȓȒȎȠȪȢȡțȘȤȖȖmath.ceil()ȥȖȟșȜȟȜ
ȕțȎȥȓțȖȓȚ0ȜțȜȘȎȘȠȩȚȜȔȓȦȪȐȖȒȓȠȪȜȘȞȡȑșȭȓȠȟȭȒȜ
ȏșȖȔȎȗȦȓȑȜȤȓșȜȑȜȥȖȟșȎXȂȡțȘȤȖȖȜȘȞȡȑșȓțȖȭȝȜȚȜ
ȑȡȠțȎȚȞȎȟȝȞȓȒȓșȭȠȪȏȡșȩȔțȖȘȐȝȓȥȖȞȎȐțȜȚȓȞțȜ
ĎħģĔĝėđęĔđĖĚėĔģđĝĞĎČčğėħĒęĔĖČ
ĐėīēČďĜğēĖĔĎĖČĒĐğĪěđģĨ
ǰȖȑȞȓ0LQHFUDIWȐȐȜȒțȎȭȭȥȓȗȘȎȐȖțȠȓȞȢȓȗȟȓȝȓȥȖȚȜ
ȔȓȠȟȜȒȓȞȔȎȠȪțȓȏȜșȓȓȏșȜȘȜȐȒșȭȝȓȞȓȝșȎȐȘȖDzșȭ
ȒȜȟȠȖȔȓțȖȭȚȎȘȟȖȚȎșȪțȜȗȫȢȢȓȘȠȖȐțȜȟȠȖțȎȦȓȑȜȕȎȐȜ
ȒȖȘȎȚȩȣȜȠȖȚȥȠȜȏȩȐȟȓȝȓȥȖȝȓȞȓȝșȎȐșȭșȖȏȡșȩȔțȖȘ
ȜȒțȜȐȞȓȚȓțțȜȅȠȜȏȩȞȎȟȟȥȖȠȎȠȪȟȘȜșȪȘȜȏșȜȘȜȐȏȡșȩȔ
țȖȘȎțȡȔțȜȕȎȑȞȡȕȖȠȪȐȘȎȔȒȡȬȝȓȥȪȚȩȞȎȕȒȓșȖȚȘȜșȖ
ȥȓȟȠȐȜȏșȜȘȜȐȏȡșȩȔțȖȘȎȐȠȓȘȡȧȓȗȭȥȓȗȘȓțȎȕțȎȥȓțȖȓ
ȘȜțȟȠȎțȠȩNUM _ FURNACESǽȜȟȘȜșȪȘȡȐțȎȦȓȚȟșȡȥȎȓ
ȝȓȥȓȗȝȭȠȪ ȫȠȎȜȝȓȞȎȤȖȭȒȓșȓțȖȭțȓȚȜȔȓȠȝȞȖȐȓȟȠȖ
ȘȤȓșȜȚȡȥȖȟșȡȠȓȚȩȝȓȞȓȒȎȒȖȚȫȠȜȥȖȟșȜȢȡțȘȤȖȖ
math.ÀRRU()ȘȜȠȜȞȎȭȜȘȞȡȑșȖȠȕțȎȥȓțȖȓ12,8ȒȜ12ǵȎ
ȠȓȚȐȘȎȔȒȡȬȝȓȥȪȚȩȚȜȔȓȚȕȎȑȞȡȕȖȠȪȖȚȓțțȜȏșȜȘȜȐ
ȏȡșȩȔțȖȘȎȥȠȜȏȩȐȟȓȝȓȥȖȟȚȜȑșȖȝȓȞȓȝșȎȐșȭȠȪȏșȜȘȖ
ȜȒțȜȐȞȓȚȓțțȜ
ǻȜȠȡȠȐȜȕțȖȘȎȓȠțȓȟȘȜșȪȘȜȝȞȜȏșȓȚǻȎȝȞȖȚȓȞȓȟșȖȡ
țȎȟȓȟȠȪȏșȜȘȎȏȡșȩȔțȖȘȎȖȝȓȥȓȗȥȓȞȓȝȎȦȘȎȕȎȑȞȡ
ȕȖȠȝȜȏșȜȘȜȐȐȘȎȔȒȡȬȝȓȥȪȖȏșȜȘȎȜȟȠȎțȓȠȟȭȅȓȞȓ
ȝȎȦȘȎȚȜȔȓȠȒȜȏȩȐȎȠȪȏȡșȩȔțȖȘȏȩȟȠȞȓȓȥȓȚȝȓȥȖȚȜȑȡȠ
ȓȑȜȝșȎȐȖȠȪȎȘȎȔȒȎȭȝȓȥȪȚȜȔȓȠȟȜȒȓȞȔȎȠȪțȓȏȜșȓȓ
ȏșȜȘȜȐȐȐȐȜȒțȜȗȭȥȓȗȘȓDzșȭȘȎȔȒȜȗȕȎȝȜșțȓțțȜȗȝȓȥȖ
ȘȜȠȜȞȎȭțȓȚȜȔȓȠȏȜșȪȦȓȝȞȖțȖȚȎȠȪȏȡșȩȔțȖȘȥȓȞȓȝȎȦ
ǿȀǾǼǶȀdzǹȊǿȀǰǼDZdzǻdzǾǮȀǼǾǮǯȁǹȉǴǻǶǸǮ
173
ȘȎȏȡȒȓȠȟȜȣȞȎțȭȠȪȥȎȟȠȪȟȐȜȖȣȏșȜȘȜȐ²ȐțȎȦȓȚȟșȡȥȎȓ
ȅȠȜȏȩȞȓȦȖȠȪȫȠȡȝȞȜȏșȓȚȡȚȩȐȩȝȜșțȖȚȒȞȡȑȜȗȞȎȟ
ȥȓȠDzȎȐȎȗȞȎȟȟȚȜȠȞȖȚȟȠȞȜȘȖ²
cobminer
29.
for furnacesToFill = NUM_FURNACES, 1, -1 do
WXUWOHEDFN ɩɟɪɟɦɟɳɟɧɢɟɤɩɟɱɢ
QXP7R'URS PDWKÀRRU WXUWOHJHW,WHP&RXQW
furnacesToFill)
WXUWOHGURS'RZQ QXP7R'URS ɡɚɝɪɭɡɤɚ
ɛɭɥɵɠɧɢɤɚɜɩɟɱɢ
33.
end
ǿ ȝȜȚȜȧȪȬ ȝȓȞȓȚȓțțȜȗ numToDrop Ȑ ȟȠȞȜȘȓ 31 ȐȩȥȖȟ
șȭȓȠȟȭ ȘȜșȖȥȓȟȠȐȜ ȏșȜȘȜȐ ȏȡșȩȔțȖȘȎ Ȓșȭ ȘȎȔȒȜȗ ȝȓȥȖ²
QXP7R'URS PDWKÀRRU WXUWOHJHW,WHP&RXQW IXUnacesToFill). ǻȜȐȚȓȟȠȜȠȜȑȜȥȠȜȏȩȐȩȥȖȟșȖȠȪȜȒȖțȞȎȕ
ȘȜșȖȥȓȟȠȐȜȏȡșȩȔțȖȘȎȒșȭȕȎȑȞȡȕȘȖȐȜȒțȡȝȓȥȪȖȟȜȣȞȎ
țȖȠȪȫȠȜȥȖȟșȜȐȝȓȞȓȚȓțțȜȗnumToDropȓȓȕțȎȥȓțȖȓȝȓȞȓ
ȟȥȖȠȩȐȎȓȠȟȭȘȎȔȒȩȗȞȎȕȘȜȑȒȎȥȓȞȓȝȎȦȘȎȝȓȞȓȣȜȒȖȠȘ
ȟșȓȒȡȬȧȓȗȝȓȥȖ
ǰȠȎȏșȝȜȘȎȕȎțȜȘȎȘȕțȎȥȓțȖȓȝȓȞȓȚȓțțȜȗnumToDropȐȩȥȖȟșȭȓȠȟȭȝȞȖȘȎȔȒȜȗȖȠȓȞȎȤȖȖȤȖȘșȎforȘȜȑȒȎ
ȐȟȓȝȓȥȖȝȡȟȠȩ
˃̣̌̍͘ϵ͘ϭ͘ʯ̸̨̛̦̖̦̪̖̬̖̥̖̦̦̜̌́numToDrop̸̛̛͕̖̭̣̭̖̪̖̪̱̭̯̼̏
ʰ̶̛̯̖̬̌́
PDWKÀRRU WXUWOH
getItemCount()/
furnacesToFill)
ʯ̸̛̦̖̦̖̌
ʶ̸̨̨̛̣̖̭̯̏
̨̪̖̬̖̥̖̦̦̜ ̨̡̨̣̣̍̏̔́
numToDrop ̡̛̬̱̌̐̏̚̚
̸̨̦̱̪̖̔̽
ʿ̖̬̏̌́
PDWKÀRRU
12
12
ʦ̨̯̬̌́
PDWKÀRRU
13
13
˃̬̖̯̽́
PDWKÀRRU
13
13
ˋ̖̯̖̬̯̏̌́
PDWKÀRRU
13
13
ʿ̯́̌́
PDWKÀRRU
13
13
ʦ̨̭̖̐͗ϲϰ
174
DZǹǮǰǮ
ȀȓȝȓȞȪȝȞȖȠȐȜȞȖȚȟȭȥȠȜȐȠȜȞȎȭȝȓȥȪȕȎȝȜșțȓțȎȝȜȠȜȚȡ
ȥȠȜȖȑȞȜȘȟȏȞȜȟȖșȐțȓȓȥȎȟȠȪȒȜȏȩȠȜȑȜȏȡșȩȔțȖȘȎȀȎȘȖȚ
ȜȏȞȎȕȜȚȐȜȐȠȜȞȡȬȝȓȥȪȕȎȑȞȡȔȎȠȪȏȡșȩȔțȖȘțȓșȪȕȭǻȜ
ȝȜȟȘȜșȪȘȡȕțȎȥȓțȖȓȝȓȞȓȚȓțțȜȗnumToDropȝȓȞȓȟȥȖȠȩȐȎ
ȓȠȟȭȝȞȖȘȎȔȒȜȗȖȠȓȞȎȤȖȖȤȖȘșȎforȝȞȜȑȞȎȚȚȎȎȐȠȜȚȎ
ȠȖȥȓȟȘȖȡȐȓșȖȥȖȠȘȜșȖȥȓȟȠȐȜȏșȜȘȜȐȏȡșȩȔțȖȘȎȝȞȓȒ
țȎȕțȎȥȓțțȩȣȒșȭȜȟȠȎșȪțȩȣȝȓȥȓȗǰȠȎȏșȝȜȘȎȕȎțȜ
ȘȎȘȐȫȠȜȚȟșȡȥȎȓȕțȎȥȓțȖȓȝȓȞȓȚȓțțȜȗnumToDropȞȎȟȟȥȖ
ȠȩȐȎȓȠȟȭȝȞȖȘȎȔȒȜȗȖȠȓȞȎȤȖȖǼȏȞȎȠȖȐțȖȚȎțȖȓȥȠȜțȎ
ȐȠȜȞȜȗȖȠȓȞȎȤȖȖȘȜșȖȥȓȟȠȐȜȝȜȝȎȒȎȬȧȖȣȐȝȓȥȪȏșȜȘȜȐ
ȞȎȐțȜȝȜȠȜȚȡȥȠȜȐȠȜȞȎȭȝȓȥȪȕȎȝȜșțȓțȎ
˃̣̌̍͘ϵ͘Ϯ͘ʯ̸̨̛̦̖̦̪̖̬̖̥̖̦̦̜̌́numToDrop̸̨̛͕̖̭̣̯̬̪̖̏̌́̽
̨̪̣̦̖̦̌̌̚
ʰ̶̛̯̖̬̌́ PDWKÀRRU WXUWOH ʯ̸̛̦̖̦̖̌
getItemCount()/
̨̪̖̬̖̥̖̦̦̜
furnacesToFill) numToDrop
ʶ̸̸̨̨̨̡̨̡̨̛̛̣̖̭̯̣̣̬̱̦̱̪̖̏̍̏̔́̌̐̏̔̽̚̚
ʿ̖̬̏̌́
PDWKÀRRU
12
12
ʦ̨̯̬̌́
PDWKÀRRU
13
0
˃̬̖̯̽́
PDWKÀRRU
17
17
ˋ̖̯̖̬̯̏̌́ PDWKÀRRU
17
17
ʿ̯́̌́
18
18
PDWKÀRRU
ʦ̨̭̖̐͗ϲϰ
ǿȠȞȜȘȖȘȜȒȎ²ȝȜȘȎȕȩȐȎȬȠȥȠȜȓȟșȖțȓȚțȜȑȜȝȞȜ
ȒȡȚȎȠȪȘȜȒȠȜȝȓȥȖȚȜȔțȜȕȎȟȠȎȐȖȠȪȞȎȏȜȠȎȠȪȟȚȎȘȟȖ
ȚȎșȪțȜȗȫȢȢȓȘȠȖȐțȜȟȠȪȬǸȜȑȒȎȤȖȘșforȕȎȐȓȞȦȖȠȟȭȥȓ
ȞȓȝȎȦȘȎȏȡȒȓȠțȎȣȜȒȖȠȪȟȭȞȭȒȜȚȟȝȜȟșȓȒțȓȗȝȓȥȪȬȖȓȗ
țȡȔțȜȏȡȒȓȠȐȓȞțȡȠȪȟȭțȎȖȟȣȜȒțȡȬȝȜȕȖȤȖȬ
ĎĚēĎĜČĥđęĔđģđĜđěČĤĖĔ
ęČĔĝġĚĐęğĪěĚēĔĢĔĪ
ǿȠȞȜȘȖȘȜȒȎ²ȝȓȞȓȚȓȧȎȬȠȥȓȞȓȝȎȦȘȡțȎȕȎȒȝȜȘȎȜțȎ
țȓȜȘȎȔȓȠȟȭȝȓȞȓȒȏșȜȘȜȚȏȡșȩȔțȖȘȎ
ǿȀǾǼǶȀdzǹȊǿȀǰǼDZdzǻdzǾǮȀǼǾǮǯȁǹȉǴǻǶǸǮ
175
cobminer
ɜɨɡɜɪɚɬɤɝɟɧɟɪɚɬɨɪɭɛɭɥɵɠɧɢɤɚ
36.
for moves = 1, NUM_FURNACES do
37.
turtle.forward()
38.
end
ǻȎȫȠȜȚȫȠȎȝȓȝȞȜȐȓȞȭȓȠȟȭțȎșȖȥȖȓȏșȜȘȜȐȏȡșȩȔțȖȘȎ
ȡȥȓȞȓȝȎȦȘȖǻȎȝȜȚțȬȥȠȜȥȓȞȓȝȎȦȘȎȚȜȔȓȠȒȜȏȩȐȎȠȪȏȡ
șȩȔțȖȘȏȩȟȠȞȓȓȥȓȚȝȓȥȖȚȜȑȡȠȓȑȜȝȓȞȓȝșȎȐșȭȠȪǼȥȓțȪ
ȟȘȜȞȜȐȟȓȝȓȥȖȏȡȒȡȠȝȜșțȜȟȠȪȬȕȎȝȜșțȓțȩȎȡȥȓȞȓȝȎȦȘȖ
ȏȡȒȓȠȏșȜȘȎȏȡșȩȔțȖȘȎdzȟșȖȡȥȓȞȓȝȎȦȘȖȐȖțȐȓțȠȎȞȓ
ȜȟȠȎȓȠȟȭȏȡșȩȔțȖȘȎȐȟȓȝȓȥȖȝȜșțȩȠȜȥȓȞȓȝȎȦȘȎțȓȚȜ
ȔȓȠȕȎȑȞȡȕȖȠȪȏșȜȘȖȐȝȓȥȖ
cobminer
40.
if turtle.getItemCount() > 0 then
41.
print('All furnaces full. Sleeping...')
RVVOHHS ɩɚɭɡɚɜɦɢɧɭɬ
43.
end
44.
end
45. end
ǸȜȒȐȟȠȞȜȘȓȕȎȐȓȞȦȎȓȠȏșȜȘȖțȟȠȞȡȘȤȖȖifțȎȥȖțȎ
ȬȧȖȗȟȭȐȟȠȞȜȘȓȘȜȒȐȟȠȞȜȘȓȕȎȘȎțȥȖȐȎȓȠȏșȜȘȖț
ȟȠȞȡȘȤȖȖifȘȜȠȜȞȩȗțȎȥȖțȎȓȠȟȭȐȟȠȞȜȘȓȎȘȜȒȐȟȠȞȜȘȓ
ȕȎȐȓȞȦȎȓȠȤȖȘșwhilețȎȥȖțȎȬȧȖȗȟȭȐȟȠȞȜȘȓǻȎ
ȘȜțȓȤȖȟȝȜșțȓțȖȓȝȞȜȑȞȎȚȚȩȐȜȕȐȞȎȧȎȓȠȟȭȘȟȠȞȜȘȓȖ
ȥȓȞȓȝȎȦȘȎȝȞȜȒȜșȔȎȓȠȒȜȏȩȐȎȠȪȏȡșȩȔțȖȘȖȕȎȝȜșțȭȠȪ
ȝȓȥȖȝȜȘȎțȓȕȎȘȜțȥȖȠȟȭȓȓȠȜȝșȖȐȜ
ĐĚěĚėęĔĞđėĨęĚđēČĐČęĔđ"ĐĚčħģČĖČĘęī
ĝčĚėĨĤĔĘĖĚėĔģđĝĞĎĚĘěđģđĕ
Попробуй создать генератор булыжника с более чем пятью
печами. Тебе нужно будет изменить значение константы NUM_
FURNACES в программе, чтобы черепашка использовала дополнительные печи.
ǸȎȘȖȐȝȞȜȑȞȎȚȚȓșȓȟȜȢȓȞȚȩȖȕȑșȎȐȩȠȩȚȜȔȓȦȪ
ȞȎȟȦȖȞȖȠȪȟȐȜȓȝȞȜȖȕȐȜȒȟȠȐȜȝȜȟȠȞȜȖȐțȓȟȘȜșȪȘȜȑȓțȓ
ȞȎȠȜȞȜȐȏȡșȩȔțȖȘȎȀȩȠȎȘȔȓȚȜȔȓȦȪȒȜȏȎȐȖȠȪȏȜșȪȦȓ
176
DZǹǮǰǮ
ȝȓȥȓȗțȓȕȎȏȩȐȖȕȚȓțȖȠȪȕțȎȥȓțȖȓȘȜțȟȠȎțȠȩNUM _ FURNACES ǽȭȠȪȖșȖȦȓȟȠȪȝȓȥȓȗȐȝȜșțȓȒȜȟȠȎȠȜȥțȜȥȠȜȏȩȝȓ
ȞȓȝșȎȐșȭȠȪȏȡșȩȔțȖȘȖȕȜȒțȜȑȜȑȓțȓȞȎȠȜȞȎǶțȎȥȓȥȓȞȓ
ȝȎȦȘȎțȓȟȚȜȔȓȠȒȜȏȩȐȎȠȪȏȡșȩȔțȖȘȒȜȟȠȎȠȜȥțȜȏȩȟȠȞȜȖ
ȝȓȥȖȏȡȒȡȠȝȞȜȟȠȎȖȐȎȠȪ
ģĞĚĘħğēęČėĔ
ǰȫȠȜȗȑșȎȐȓȠȩȡȕțȎșȘȎȘȝȜȟȠȞȜȖȠȪȑȓțȓȞȎȠȜȞȏȡșȩȔțȖ
ȘȎȐȘȜȠȜȞȜȚȟȚȓȦȖȐȎȬȠȟȭȝȜȠȜȘȖșȎȐȩȖȐȜȒȩȒșȭȏȓȟ
ȘȜțȓȥțȜȑȜȝȞȜȖȕȐȜȒȟȠȐȎȏșȜȘȜȐȏȡșȩȔțȖȘȎȀȩȖȟȝȜșȪ
ȕȜȐȎșȝȞȜȑȞȎȚȚȡcobminerȥȠȜȏȩȥȓȞȓȝȎȦȘȎȟȜȏȖȞȎșȎ
ȏșȜȘȖȏȡșȩȔțȖȘȎȖȕȎȑȞȡȔȎșȎȖȣȐȝȓȥȖȒșȭȝȓȞȓȝșȎȐȘȖ
ȀȩȡȕțȎșȜȘȜțȟȠȎțȠȎȣ²ȝȓȞȓȚȓțțȩȣȘȜȠȜȞȩȓțȓȖȕȚȓțȭ
ȬȠȟȐȜȖȣȕțȎȥȓțȖȗȒȓșȎȭȘȜȒȏȜșȓȓȡȒȜȏțȩȚȒșȭȥȠȓțȖȭ
ǸȞȜȚȓȠȜȑȜȚȩȝȜȐȠȜȞȖșȖȥȠȜȦȎȑȎȞȑȡȚȓțȠȎȤȖȘșȎfor
ȚȜȔțȜȡȘȎȕȎȠȪȭȐțȜȖȤȖȘșforȚȜȔȓȠȜȠȟȥȖȠȩȐȎȠȪȟȭȐțȖȕ
ȎțȓȐȐȓȞȣǻȎȘȜțȓȤȠȩȡȕțȎșȘȎȘȢȡțȘȤȖȖmath.ÀRRU()
Ȗmath.ceil()ȚȜȑȡȠȜȘȞȡȑșȭȠȪȥȖȟșȜȐȚȓțȪȦȡȬȖșȖȏȜșȪ
ȦȡȬȟȠȜȞȜțȡȟȜȜȠȐȓȠȟȠȐȓțțȜ
ǰȑșȎȐȓȚȩȝȞȖȚȓțȖȚȝȞȜȑȞȎȚȚȡcobminerȒșȭȟȠȞȜȖ
ȠȓșȪȟȠȐȎȕȎȐȜȒȖȘȎȘȎȚȓțțȜȑȜȘȖȞȝȖȥȎȘȜȠȜȞȎȭȏȡȒȓȠȜȝȓȞȖ
ȞȜȐȎȠȪȡȔȓȒȐȡȚȭȥȓȞȓȝȎȦȘȎȚȖǺȩțȎȝȖȦȓȚȝȞȜȑȞȎȚȚȡ
ȘȜȠȜȞȎȭȝȜȞȡȥȖȠȒȞȡȑȜȗȥȓȞȓȝȎȦȘȓȐȩȠȎȟȘȖȐȎȠȪȝȓȞȓȝșȎȐ
șȓțțȩȓȘȎȚȓțțȩȓȏșȜȘȖȖȕȝȓȥȓȗȖȝȓȞȓȞȎȏȎȠȩȐȎȠȪȖȣȐȘȎ
ȚȓțțȩȗȘȖȞȝȖȥȟȝȜȚȜȧȪȬȝȞȜȑȞȎȚȚȩbrickcrafter.
10
ěĜĚĔēĎĚĐĝĞĎĚĖČĘđęęħġ
ĖĔĜěĔģđĕ
ȀȓȝȓȞȪȡȠȓȏȭȓȟȠȪȥȓȞȓȝȎȦȘȎȘȜȠȜȞȎȭȒȜȏȩ
ȐȎȓȠȏȡșȩȔțȖȘȖȕȑȓțȓȞȎȠȜȞȎȖȕȎȑȞȡȔȎȓȠ
ȏȡșȩȔțȖȘȐȝȓȥȖȒșȭȝȓȞȓȝșȎȐȘȖǽȞȜȤȓȟȟ
ȝȓȞȓȝșȎȐȘȖȎȐȠȜȚȎȠȖȕȖȞȜȐȎțțȜȒȜȟȠȎȐȎȠȪ
ȘȎȚȓțțȩȓȏșȜȘȖȖȕȝȓȥȓȗȒșȭȖȣȒȎșȪțȓȗȦȓȗ
ȝȓȞȓȞȎȏȜȠȘȖȝȞȖȣȜȒȖȠȟȭȐȞȡȥțȡȬǰȟȓȫȠȜȣȜȞȜ
ȦȜțȜțȓȒȜȠȭȑȖȐȎȓȠȒȜȝȜșțȜȤȓțțȜȑȜȕȎȐȜȒȖȘȎȝȜ
ȝȞȜȖȕȐȜȒȟȠȐȡȘȎȚȓțțȜȑȜȘȖȞȝȖȥȎǻȡȔțȜȕȎȝȞȜȑȞȎȚȚȖ
ȞȜȐȎȠȪȐȠȜȞȡȬȥȓȞȓȝȎȦȘȡȥȠȜȏȩȜțȎȐȩȠȎȟȘȖȐȎșȎȝȓȞȓ
ȝșȎȐșȓțțȩȗȘȎȚȓțȪȖȝȓȞȓȞȎȏȎȠȩȐȎșȎȓȑȜȐȘȎȚȓțțȩȓ
ȘȖȞȝȖȥȖǸȎȘȠȜșȪȘȜȏȡȒȓȠȝȜȒȑȜȠȜȐșȓțȎȘȜȚȎțȒȎȥȓȞȓ
ȝȎȦȓȘȘȎȘȫȠȜȝȜȘȎȕȎțȜțȎȞȖȟȚȜȔțȜȏȡȒȓȠȐȎȐ
ȠȜȚȎȠȖȥȓȟȘȜȚȞȓȔȖȚȓȝȜșȡȥȎȠȪȘȖȞȝȖȥȖȝȞȖȑȜȒțȩȓȒșȭ
ȟȠȞȜȖȠȓșȪȟȠȐȎ
178
DZǹǮǰǮ
ˀ̛̭͘ϭϬ͘ϭ͘ʿ̨̨̨̨̨̨̨̨̛̛̛̣̦̭̯̯̥̯̬̦̦̼̜̪̪̬̭̯̱̽̀̌̏̌̏̌̌̏̔̏̔̏̚̚̚
̸̡̨̨̡̛̛̥̖̦̦̬̪̌̐̌
ĜČēĜČčĚĞĖČěĜĚďĜČĘĘħ
ěĜĚĔēĎĚĐĝĞĎČĖČĘđęęĚďĚĖĔĜěĔģČ
ǽȓȞȐȎȭȥȓȞȓȝȎȦȘȎȞȎȏȜȠȎȬȧȎȭȝȜȝȞȜȑȞȎȚȚȓcobminer
ȞȎȟȝȜșȜȔȓțȎțȎȒȝȓȥȎȚȖǰȠȜȞȎȭȥȓȞȓȝȎȦȘȎȏȡȒȓȠȒȐȖ
ȑȎȠȪȟȭțȖȔȓȝȓȥȓȗȥȠȜȏȩȜțȎȚȜȑșȎȐȩȠȎȟȘȖȐȎȠȪȏșȜȘȖȖȕ
ȐȩȐȜȒțȩȣȭȥȓȓȘȝȓȥȓȗǻȎȝȜȚțȬȥȠȜȖȕȘȎȚțȭȖșȖȏȡșȩȔ
țȖȘȎȒȜȏȩȐȎȬȠȟȭȏșȜȘȖȏȡșȩȔțȖȘȎȘȜȠȜȞȩȓȕȎȠȓȚȕȎȑȞȡ
ȔȎȬȠȟȭȐȝȓȥȖȒșȭȝȓȞȓȝșȎȐȘȖǽȜșȡȥȓțțȩȓȐȞȓȕȡșȪȠȎȠȓ
ȝȓȞȓȝșȎȐȘȖȏșȜȘȖȘȎȚțȭȝȓȞȓȞȎȏȎȠȩȐȎȬȠȟȭȐȘȎȚȓțțȩȗ
ȘȖȞȝȖȥ
ǸȎȘȖcobminerȝȞȜȑȞȎȚȚȎȐȠȜȞȜȗȥȓȞȓȝȎȦȘȖȟțȎȥȎ
șȎȒȜșȔțȎȝȞȜȐȓȞȖȠȪȥȠȜȡȥȓȞȓȝȎȦȘȖȒȜȟȠȎȠȜȥțȜȠȜȝșȖ
ȐȎȒșȭȝȓȞȓȚȓȧȓțȖȭȐȒȜșȪȝȓȥȓȗȖȐȜȕȐȞȎȧȓțȖȭțȎȖȟȣȜȒ
țȡȬȝȜȕȖȤȖȬDzȐȖȑȎȭȟȪȐȒȜșȪȝȓȥȓȗȥȓȞȓȝȎȦȘȎȟȜȏȖȞȎȓȠ
ȏșȜȘȖȘȎȚțȭȘȜȠȜȞȩȓȏȩșȖȐȩȝșȎȐșȓțȩȖȕȏȡșȩȔțȖȘȎ
ǿȜȏȞȎȐȟȠȓȘȖȕȏșȜȘȜȐȜțȎȟȜȕȒȎȟȠȖȕțȖȣȘȎȚȓțțȩȣ
ȘȖȞȝȖȥȎȖȝȜȚȓȟȠȖȠȖȣȐȟȡțȒȡȘdzȟșȖȐȐȩȐȜȒțȜȗȭȥȓȗ
ȘȓȝȓȥȓȗȟȘȜȝȖșȜȟȪțȓȒȜȟȠȎȠȜȥțȜȘȎȚțȭȥȓȞȓȝȎȦȘȎȝȜ
ȒȜȔȒȓȠȒȐȓȚȖțȡȠȩȥȠȜȏȩȘȜșȖȥȓȟȠȐȜȝȓȞȓȝșȎȐșȓțțȜȑȜ
ȏȡșȩȔțȖȘȎȡȐȓșȖȥȖșȜȟȪǰȓȟȪȝȞȜȤȓȟȟȥȓȞȓȝȎȦȘȎȝȜȐȠȜ
ȞȭȓȠȤȖȘșȖȥȓȟȘȖ
ǽǾǼǶǵǰǼDzǿȀǰǼǸǮǺdzǻǻȉȃǸǶǾǽǶȅdzǷ
179
ĝĚēĐČęĔđĖĜČĠĞģđĜđěČĤĖĔ
DzșȭțȎȥȎșȎȥȓȞȓȝȎȦȘȡțȎȒȜțȎȡȥȖȠȪȖȕȑȜȠȎȐșȖȐȎȠȪȘȎ
ȚȓțțȩȓȘȖȞȝȖȥȖȖȕȘȎȚțȭȅȓȞȓȝȎȦȘȖȚȜȑȡȠȟȜȕȒȎȐȎȠȪ
ȞȎȕșȖȥțȩȓȏșȜȘȖȖȝȞȓȒȚȓȠȩȟȝȜȚȜȧȪȬȢȡțȘȤȖȖturtle.
craft()ǼȒțȎȘȜȥȠȜȏȩȕȎȒȓȗȟȠȐȜȐȎȠȪȫȠȡȢȡțȘȤȖȬȠȩ
ȒȜșȔȓțȜȟțȎȟȠȖȠȪȥȓȞȓȝȎȦȘȡȐȓȞȟȠȎȘȜȚȝȜȎțȎșȜȑȖȖȜȟ
țȎȧȓțȖȭȥȓȞȓȝȎȦȘȖȎșȚȎȕțȜȗȘȖȞȘȜȗǰȩȏȓȞȖȥȓȞȓȝȎȦȘȡ
ȠȜșȪȘȜțȓȠȡȘȜȠȜȞȎȭȡȔȓȞȎȏȜȠȎȓȠȟȝȞȜȑȞȎȚȚȜȗcobminer
ȎȓȧȓȜȒțȡȖȝȜȚȓȟȠȖȐȓȞȟȠȎȘȐȠȓȘȡȧȡȬȭȥȓȗȘȡȥȓȞȓȝȎȦ
ȘȖǵȎȠȓȚȐȜȏȜșȜȥȘȓ/XDȐȩȝȜșțȖȟșȓȒȡȬȧȖȗȘȜȒ
lua> turtle.equipLeft()
ȋȠȜȠȘȜȒȡȏȓȞȓȠȖȚȓȬȧȖȗȟȭțȎșȓȐȜȗȟȠȜȞȜțȓȥȓȞȓȝȎȦ
ȘȖȖțȟȠȞȡȚȓțȠȖȜȟțȎȟȠȖȠȓȓȐȓȞȟȠȎȘȜȚǾȖȟȒȓȚȜț
ȟȠȞȖȞȡȓȠȥȓȞȓȝȎȦȘȡȖȓȓȖțȐȓțȠȎȞȪȒȜȖȝȜȟșȓȕȎȝȡȟȘȎ
ȢȡțȘȤȖȖturtle.equipLeft().
ˀ̛̭͘ϭϬ͘Ϯ͘ˇ̶̡̛̱̦́turtle.equipLeft()̡̡̡̛̥̖̦̖̯̬̱̦̖̬̭̯̌́̌̏̌̚͘
ˋ̡̨̡̨̛̖̬̖̪̹̪̖̬̖̼̪̣̦̖̦̖̥̌̌̔̏̔̌;̭̣̖̏̌Ϳ̨̛̪̭̣̖;̭̪̬̌̏̌Ϳ
ȀȓȝȓȞȪȠȐȜȭȥȓȞȓȝȎȦȘȎȚȜȔȓȠȐȩȕȐȎȠȪȢȡțȘȤȖȬturtle.craft(). ǼțȎȏȜșȪȦȓțȓȚȜȔȓȠȜȏȞȎȧȎȠȪȟȭȘȢȡțȘȤȖȖ
turtle.dig()țȜțȎȚȫȠȜȖțȓțȡȔțȜ
ǽȞȖȚȓȥȎțȖȓ dzȟșȖȠȩȣȜȥȓȦȪȥȠȜȏȩȥȓȞȓȝȎȦȘȎȚȜȑșȎ
ȖȘȞȎȢȠȖȠȪȖȒȜȏȩȐȎȠȪȜȒțȜȐȞȓȚȓțțȜȠȩȚȜȔȓȦȪȜȟțȎȟȠȖȠȪȥȓȞȓȝȎȦȘȡȒȐȡȚȭȖțȟȠȞȡȚȓțȠȎȚȖDzșȭȫȠȜȑȜ
180
DZǹǮǰǮ
ȝȜțȎȒȜȏȭȠȟȭȒȐȓȢȡțȘȤȖȖtu r tle.e q u ipL eft() Ȓșȭ
ȞȎ ȕ Ț ȓȧ ȓțȖ ȭ ȜȒț ȜȑȜ Ȗț ȟȠȞȡȚ ȓțȠȎ ȟ ș ȓȐȜȗ ȟȠȜȞȜțȩ
ȥȓȞȓȝȎȦȘȖȖturtle.equipRight()ȥȠȜȏȩȫȘȖȝȖȞȜȐȎȠȪȓȓ
ȟȒȞȡȑȜȗȟȠȜȞȜțȩǻȎȞȖȟȝȜȘȎȕȎțȎȥȓȞȓȝȎȦȘȎȟȎșȚȎȕ
țȜȗȘȖȞȘȜȗȟșȓȐȎȖȐȓȞȟȠȎȘȜȚȟȝȞȎȐȎȀȎȘȎȭȥȓȞȓȝȎȦȘȎ
ȚȜȔȓȠȐȩȕȩȐȎȠȪȘȎȘȢȡțȘȤȖȬturtle.dig()ȠȎȘȖturtle.craft().
ˀ̛̭͘ϭϬ͘ϯ͘ˋ̡̨̡̡̨̨̨̨̛̖̬̖̪̹̭̣̥̦̜̬̜̦̣̖̜̭̯̬̦̖̌̌̌̌̌̏̚;̭̣̖̏̌Ϳ̛
̡̨̨̖̬̭̯̥̦̪̬̜̏̌̌̌̏;̭̪̬̌̏̌Ϳ
ȅȓȞȓȝȎȦȘȎȜȏȜȞȡȒȜȐȎțțȎȭȐȓȞȟȠȎȘȜȚȚȜȔȓȠȘȞȎȢȠȖȠȪ
ȠȜșȪȘȜȐȟȜȜȠȐȓȠȟȠȐȖȖȟȞȓȤȓȝȠȜȚȘȜȚȝȜțȓțȠȩȘȜȠȜȞȜ
ȑȜȟȜȏȞȎțȩȐȓȓȖțȐȓțȠȎȞȓǽȞȖȐȩȕȜȐȓȢȡțȘȤȖȖturtle.
craft()ȟȜȕȒȎțțȩȗȝȞȓȒȚȓȠȖșȖȏșȜȘȝȜȚȓȧȎȓȠȟȭȐȠȓȘȡ
ȧȡȬȭȥȓȗȘȡȖțȐȓțȠȎȞȭ
ǻȎȝȞȖȚȓȞȥȠȜȏȩȟȘȞȎȢȠȖȠȪȘȎȚȓțțȩȗȘȖȞȝȖȥȝȜȚȓ
ȟȠȖȥȓȠȩȞȓȘȎȚȓțțȩȣȏșȜȘȎȐȖțȐȓțȠȎȞȪȥȓȞȓȝȎȦȘȖȘȎȘ
ȝȜȘȎȕȎțȜțȎȞȖȟȁȏȓȒȖȟȪȥȠȜȐȟȓȜȟȠȎșȪțȩȓȭȥȓȗȘȖ
ȖțȐȓțȠȎȞȭȝȡȟȠȩȖȐȜȏȜșȜȥȘȓ/XDȐȩȝȜșțȖȘȜȚȎțȒȩturtle.select(16)Ȗturtle.craft():
lua> turtle.select(16)
true
lua> turtle.craft()
true
ǻȎȞȖȟȝȜȘȎȕȎțȑȞȎȢȖȥȓȟȘȖȗȖțȠȓȞȢȓȗȟȥȓȞȓȝȎȦȘȖ
ȒȜȖȝȜȟșȓȘȞȎȢȠȎȘȎȚȓțțȩȣȘȖȞȝȖȥȓȗǼȏȞȎȠȖȐțȖȚȎțȖȓ
ǽǾǼǶǵǰǼDzǿȀǰǼǸǮǺdzǻǻȉȃǸǶǾǽǶȅdzǷ
181
ȥȠȜțȎȫȠȜȚȞȖȟȡțȘȓȐȘȎȥȓȟȠȐȓȠȓȘȡȧȓȗțȎȟȠȞȜȓțȎȭȥȓȗȘȎ
ȝȜȒțȜȚȓȞȜȚȖȟȜȕȒȎțțȩȗȏșȜȘȝȜȚȓȧȎȓȠȟȭȠȡȒȎ
ˀ̛̭͘ϭϬ͘ϰ͘ʰ̸̡̨̛̦̖̦̯̬̖̬̖̪̹̏̌̽̌̔;̭̣̖̏̌Ϳ̨̛̪̭̣̖;̭̪̬̌̏̌Ϳ̴̶̨̡̛̛̼̱̦̏̏̌̚
turtle.craft()
dzȟșȖȏșȜȘȖȐȖțȐȓțȠȎȞȓȥȓȞȓȝȎȦȘȖțȓȏȡȒȡȠȟȜȜȠȐȓȠ
ȟȠȐȜȐȎȠȪȞȓȤȓȝȠȡ0LQHFUDIWȢȡțȘȤȖȭturtle.craft()ȐȓȞ
țȓȠȕțȎȥȓțȖȓfalseȖȠȩȡȐȖȒȖȦȪȟȜȜȏȧȓțȖȓȜȏȜȦȖȏȘȓ
lua> turtle.craft()
false
No matching recipes
ȀȓȝȓȞȪȘȜȑȒȎțȎȟȠȞȜȗȘȎȖȝȞȜȓȘȠȖȞȜȐȎțȖȓȝȞȜȑȞȎȚȚȩ
ȐȠȜȞȜȗȥȓȞȓȝȎȦȘȖȕȎȐȓȞȦȓțȩȝȞȖȟȠȡȝȖȚȘțȎȝȖȟȎțȖȬȘȜ
ȒȎǻȜȐȡȬȝȞȜȑȞȎȚȚȡțȎȕȜȐȓȚbrickcrafter.
ĖĚĐěĜĚďĜČĘĘħ*:1+3+:).>ɉɪɨɝɪɚɦɦɚɝɟɧɟɪɚɬɨɪɚɛɭɥɵɠɧɢɤɚɗɥɚɋɜɟɣɝɚɪɬɚ
Ʉɪɚɮɬɤɚɦɟɧɧɵɯɤɢɪɩɢɱɟɣɢɡɤɚɦɧɹɜɩɟɱɚɯɱɟɪɟɩɚɲɤɚ
ɢɡ@@
3.
4. print('Starting stone brick crafting program...')
5.
6. local NUM_FURNACES = 5
182
DZǹǮǰǮ
7. local brickCount = 0
8. while true do
ɩɪɨɜɟɪɤɚɡɚɩɪɚɜɥɟɧɚɥɢɬɨɩɥɢɜɨɦɱɟɪɟɩɚɲɤɚ
10.
if turtle.getFuelLevel() < (2 * NUM_FURNACES) then
11.
error('Turtle needs more fuel!')
12.
end
13.
WXUWOHVHOHFW ɩɨɦɟɳɟɧɢɟɤɚɦɧɹɜɹɱɟɣɤɭ
15.
ɫɛɨɪɤɚɦɧɹɢɡɩɟɱɟɣ
17.
for i = 1, NUM_FURNACES do
18.
turtle.suckUp(64 - turtle.getItemCount(1)) -get stone from furnace
19.
if turtle.getItemCount(1) == 64 then
EUHDNɨɫɬɚɧɨɜɤɚɟɫɥɢɫɨɛɪɚɧɨɛɥɨɤɚɤɚɦɧɹ
21.
end
22.
if i ~= NUM_FURNACES then
WXUWOHEDFN ɩɟɪɟɦɟɳɟɧɢɟɤɫɥɟɞɭɸɳɟɣɩɟɱɢ
24.
end
25.
end
26.
ɨɛɪɚɛɨɬɤɚɛɥɨɤɨɜɤɚɦɧɹ
28.
if turtle.getItemCount(1) == 64 then
WXUWOHWUDQVIHU7R ɩɨɦɟɳɟɧɢɟɤɚɦɧɹɜ
ɹɱɟɣɤɭ
WXUWOHWUDQVIHU7R ɩɨɦɟɳɟɧɢɟɤɚɦɧɹɜ
ɹɱɟɣɤɭ
WXUWOHWUDQVIHU7R ɩɨɦɟɳɟɧɢɟɤɚɦɧɹɜ
ɹɱɟɣɤɭ
WXUWOHVHOHFW ɩɨɦɟɳɟɧɢɟɤɚɦɟɧɧɵɯɤɢɪɩɢɱɟɣ
ɜɹɱɟɣɤɭ
WXUWOHFUDIW ɤɪɚɮɬɤɚɦɟɧɧɵɯɤɢɪɩɢɱɟɣ
34.
brickCount = brickCount + 64
35.
print('Total stone bricks: ' .. brickCount)
36.
else
37.
print('Not enough stone yet. Sleeping...')
RVVOHHS ɨɠɢɞɚɧɢɟɦɢɧɭɬɵ
39.
end
40.
ɩɟɪɟɦɟɳɟɧɢɟɤɫɭɧɞɭɤɭ ɨɤɨɥɨɩɟɪɜɨɣɩɟɱɢ
42.
for i = 1, NUM_FURNACES - 1 do
43.
turtle.forward()
ǽǾǼǶǵǰǼDzǿȀǰǼǸǮǺdzǻǻȉȃǸǶǾǽǶȅdzǷ
183
44.
end
WXUWOHWXUQ/HIW ɩɨɜɨɪɨɬɥɢɰɟɜɨɣɫɬɨɪɨɧɨɣɤ
ɫɭɧɞɭɤɭ
WXUWOHVHOHFW ɜɵɛɨɪɤɚɦɟɧɧɵɯɤɢɪɩɢɱɟɣ
WXUWOHGURS ɩɨɦɟɳɟɧɢɟɤɚɦɟɧɧɵɯɤɢɪɩɢɱɟɣɜ
ɫɭɧɞɭɤ
WXUWOHWXUQ5LJKW ɩɨɜɨɪɨɬɤɝɟɧɟɪɚɬɨɪɭ
49. end
ǿȜȣȞȎțȖȝȞȜȑȞȎȚȚȡȝȜȟșȓȐȐȜȒȎȐȟȓȣȖțȟȠȞȡȘȤȖȗǻȎȔȎȐ
ȘșȎȐȖȦȡCtrlȜȠȘȞȜȗȚȓțȬǰȩȏȓȞȖȝȡțȘȠ[Save]ȖțȎȔȚȖ
ȘșȎȐȖȦȡEnterǵȎȠȓȚȐȩȗȒȖȖȕȞȓȒȎȘȠȜȞȎțȎȔȎȐȘșȎȐȖȦȡ
CtrlȐȩȏȞȎȐȝȡțȘȠ[Exit]ȖțȎȔȎȐȘșȎȐȖȦȡEnter.
ēČěğĝĖěĜĚďĜČĘĘħ*:1+3+:).ɉɪɨɝɪɚɦɦɚɝɟɧɟɪɚɬɨɪɚɛɭɥɵɠɧɢɤɚɗɥɚɋɜɟɣɝɚɪɬɚ
Ʉɪɚɮɬɤɚɦɟɧɧɵɯɤɢɪɩɢɱɟɣɢɡɤɚɦɧɹɜɩɟɱɚɯɱɟɪɟɩɚɲɤɚ
ɢɡ@@
3.
4. print('Starting stone brick crafting program...')
5.
6.local NUM_FURNACES = 5
7. local brickCount = 0
ǸȜțȟȠȎțȠȎNUM _ FURNACES ȐȫȠȜȗȝȞȜȑȞȎȚȚȓȐȩȝȜșțȭȓȠ
ȠȡȔȓȕȎȒȎȥȡȥȠȜȖȐȝȞȜȑȞȎȚȚȓcob m inerȖȕȑșȎȐȩ
ǽȓȞȓȚȓț țȎȭ b r i c k C o u n t Ȝ Ƞ ȟșȓȔȖ ȐȎȓ Ƞ ȘȜș Ȗ ȥȓȟ Ƞ ȐȜ
ȟȜȕȒȎțțȩȣȥȓȞȓȝȎȦȘȜȗȘȎȚȓțțȩȣȘȖȞȝȖȥȓȗ
ěĜĚĎđĜĖČ®ĝħĞĚĝĞĔ¯ģđĜđěČĤĖĔ
ǿȜȟȠȞȜȘȖțȎȥȖțȎȓȠȟȭȏȓȟȘȜțȓȥțȩȗȤȖȘșȜȟțȜȐțȜȗȥȎȟȠȖ
ȝȞȜȑȞȎȚȚȩǼțȝȞȜȒȜșȔȎȓȠȟȭȒȜȠȓȣȝȜȞȝȜȘȎȡȥȓȞȓȝȎȦȘȖ
ȓȟȠȪȠȜȝșȖȐȜȖșȖȝȜȘȎȖȑȞȜȘțȓțȎȔȚȓȠȟȜȥȓȠȎțȖȓȘșȎȐȖȦ
Ctrl+TȥȠȜȏȩȕȎȐȓȞȦȖȠȪȝȞȜȑȞȎȚȚȡ
brickcrafter
8. while true do
ɩɪɨɜɟɪɤɚɡɚɩɪɚɜɥɟɧɚɥɢɬɨɩɥɢɜɨɦɱɟɪɟɩɚɲɤɚ
10.
if turtle.getFuelLevel() < (2 * NUM_FURNACES) then
11.
error('Turtle needs more fuel!')
12.
end
ǰȠȓșȓȫȠȜȑȜȤȖȘșȎȝȞȜȑȞȎȚȚȎȟțȎȥȎșȎȝȞȜȐȓȞȭȓȠȥȠȜ
ȡȥȓȞȓȝȎȦȘȖȒȜȟȠȎȠȜȥțȜȠȜȝșȖȐȎȥȠȜȏȩȒȜȏȞȎȠȪȟȭȒȜȘȎȔ
ȒȜȗȝȓȥȖȖȕȎȠȓȚȐȓȞțȡȠȪȟȭȘȟȡțȒȡȘȡǿȠȞȜȘȖȘȜȒȎ²
186
DZǹǮǰǮ
ȎțȎșȜȑȖȥțȩȟȠȞȜȘȎȚ²ȐȝȞȜȑȞȎȚȚȓcob m inerȖȕ
ȑșȎȐȩǸȜȒȟȠȞȜȘȖȝȞȜȐȓȞȭȓȠȥȠȜȘȜșȖȥȓȟȠȐȜȠȜȝșȖȐȎ ȡ
ȥȓȞȓȝȎȦȘȖȘȎȘȚȖțȖȚȡȚȐȒȐȜȓȏȜșȪȦȓȥȖȟșȎȝȓȥȓȗdzȟșȖ
ȫȠȜțȓȠȎȘȐȩȕȜȐȢȡțȘȤȖȖerror()ȐȟȠȞȜȘȓȕȎȐȓȞȦȖȠ
ȞȎȏȜȠȡȝȞȜȑȞȎȚȚȩ
ĝčĚĜĖČĘęīĔēěđģđĕ
dzȟșȖȡȥȓȞȓȝȎȦȘȖȒȜȟȠȎȠȜȥțȜȠȜȝșȖȐȎȥȠȜȏȩȝȞȜȗȠȖȝȜȒȜ
ȐȟȓȚȖȝȓȥȎȚȖȖȐȓȞțȡȠȪȟȭȜțȎȐȩȏȖȞȎȓȠȭȥȓȗȘȡȖțȐȓț
ȠȎȞȭȒșȭȣȞȎțȓțȖȭȟȜȏȞȎțțȩȣȏșȜȘȜȐȠȎȘȥȠȜȘȜȑȒȎȜțȎ
ȏȡȒȓȠȐȩțȖȚȎȠȪȘȎȚȓțȪȖȕȝȓȥȖȜțȏȡȒȓȠȞȎȕȚȓȧȓțȖȚȓțțȜ
ȐȫȠȜȗȭȥȓȗȘȓ
brickcrafter
14.
turtle.select(1) --
ɩɨɦɟɳɟɧɢɟɤɚɦɧɹɜɹɱɟɣɤɭ
ǵȎȠȓȚȖȟȝȜșțȓțȖȓȝȓȞȓȣȜȒȖȠȘȤȖȘșȡforȐȟȠȞȜȘȓ
ǻȎȘȎȔȒȜȗȖȠȓȞȎȤȖȖȤȖȘșȎȥȓȞȓȝȎȦȘȎȐȩȠȎȟȘȖȐȎȓȠȝȓ
ȞȓȝșȎȐșȓțțȩȗȘȎȚȓțȪȖȕȝȓȥȖȝȜȒȘȜȠȜȞȜȗțȎȣȜȒȖȠȟȭȖ
ȝȜȚȓȧȎȓȠȓȑȜȐȭȥȓȗȘȡǸȜȑȒȎȥȓȞȓȝȎȦȘȎȝȜșțȜȟȠȪȬȕȎ
ȝȜșțȖȠȭȥȓȗȘȡ ȏșȜȘȎ ȤȖȘșȕȎȐȓȞȦȖȠȟȭȥȠȜȏȩȚȜȔțȜ
ȏȩșȜȘȞȎȢȠȖȠȪȘȎȚȓțțȩȗȘȖȞȝȖȥȖȕȟȜȏȞȎțțȩȣȏșȜȘȜȐ
ǮȝȜȘȎȭȥȓȗȘȎȖțȐȓțȠȎȞȭțȓȕȎȝȜșțȓțȎȖȟȝȜșțȓțȖȓȤȖȘșȎ
ȝȞȜȒȜșȔȎȓȠȟȭȖȥȓȞȓȝȎȦȘȎȝȓȞȓȣȜȒȖȠȘȟșȓȒȡȬȧȓȗȝȓȥȖ
ȖȠȎȘȒȎșȓȓ
brickcrafter
16.
-- ɫɛɨɪɤɚɦɧɹɢɡɩɟɱɟɣ
17.
for i = 1, NUM_FURNACES do
18.
turtle.suckUp(64 - turtle.getItemCount(1)) -get stone from furnace
19.
if turtle.getItemCount(1) == 64 then
20.
break -- ɨɫɬɚɧɨɜɤɚɟɫɥɢɫɨɛɪɚɧɨɛɥɨɤɚ
ɤɚɦɧɹ
21.
end
22.
if i ~= NUM_FURNACES then
23.
turtle.back() -- ɩɟɪɟɦɟɳɟɧɢɟɤɫɥɟɞɭɸɳɟɣɩɟɱɢ
24.
end
25.
end
ǽǾǼǶǵǰǼDzǿȀǰǼǸǮǺdzǻǻȉȃǸǶǾǽǶȅdzǷ
187
ȂȡțȘȤȖȭturtle.suckUp()ȐȩțȖȚȎȓȠȘȎȚȓțțȩȓȏșȜ
ȘȖȖȕȝȓȥȖțȎȒȥȓȞȓȝȎȦȘȜȗȖȟȜȣȞȎțȭȓȠȖȣȐȐȩȏȞȎțțȜȗ
ȭȥȓȗȘȓǺȜȔțȜȝȓȞȓȒȎȠȪȫȠȜȗȢȡțȘȤȖȖȥȖȟșȜȖȜȑȞȎțȖȥȖȠȪ
ȘȜșȖȥȓȟȠȐȜȏșȜȘȜȐȝȜȚȓȧȎȓȚȩȣȐȐȩȏȞȎțțȡȬȭȥȓȗȘȡȥȓȞȓ
ȝȎȦȘȖȀȎȘȔȓȚȜȔțȜȐȜȟȝȜșȪȕȜȐȎȠȪȟȭȢȡțȘȤȖȭȚȖturtle.
suck() Ȗturtle.suckDown()ȥȠȜȏȩȝȞȖțȖȚȎȠȪȏșȜȘȖȖȕ
ȝȓȥȓȗȘȜȠȜȞȩȓțȎȣȜȒȭȠȟȭȝȓȞȓȒȖșȖȝȜȒȥȓȞȓȝȎȦȘȜȗȟȜȜȠ
ȐȓȠȟȠȐȓțțȜ
ǰțȎȦȓȚȟșȡȥȎȓȝȜȟȘȜșȪȘȡȥȓȞȓȝȎȦȘȎțȎȣȜȒȖȠȟȭȝȜȒ
ȝȓȥȎȚȖȜțȎȐȩȠȎȟȘȖȐȎȓȠȝȞȓȒȚȓȠȩȖȕȐȩȐȜȒțȜȗȭȥȓȗȘȖ
ȝȓȥȖȅȓȞȓȝȎȦȘȎȚȜȔȓȠȣȞȎțȖȠȪțȓȏȜșȓȓȘȎȚȓțțȩȣȏșȜ
ȘȜȐȐȭȥȓȗȘȓȖțȐȓțȠȎȞȭȝȜȫȠȜȚȡȥȠȜȏȩȖȟȘșȬȥȖȠȪȝȓȞȓ
ȝȜșțȓțȖȓȚȩȐȩȝȜșțȭȓȚțȓȘȜȠȜȞȩȓȚȎȠȓȚȎȠȖȥȓȟȘȖȓȐȩ
ȥȖȟșȓțȖȭȂȡțȘȤȖȭturtle.getItemCount(1)ȐȜȕȐȞȎȧȎȓȠ
ȘȜșȖȥȓȟȠȐȜȏșȜȘȜȐȘȜȠȜȞȩȓȡȔȓȓȟȠȪȐ ȭȥȓȗȘȓȖțȐȓțȠȎȞȭ.
ǽȜșȡȥȓțțȜȓȥȖȟșȜȚȩȐȩȥȖȠȎȓȚȖȕȥȠȜȏȩȝȜșȡȥȖȠȪȘȜ
șȖȥȓȟȠȐȜȏșȜȘȜȐȘȜȠȜȞȩȓȥȓȞȓȝȎȦȘȎȓȧȓȒȜșȔțȎȒȜȟȠȎȠȪ
ȖȕȝȓȥȓȗǻȎȝȞȖȚȓȞȓȟșȖȐȭȥȓȗȘȓȖțȐȓțȠȎȞȭȡȔȓȓȟȠȪ
ȘȎȚȓțțȩȣȏșȜȘȜȐȎȐȝȓȥȖțȎȣȜȒȖȠȟȭȘȎȚȓțțȩȣȏșȜ
ȘȎȥȓȞȓȝȎȦȘȎțȓȒȜșȔțȎȐȩțȖȚȎȠȪȐȟȓȏșȜȘȎǰȚȓȟȠȜ
ȫȠȜȑȜȜțȎȒȜșȔțȎȐȩțȡȠȪșȖȦȪ ȏșȜȘȎ
dzȟșȖȐȭȥȓȗȘȓȖțȐȓțȠȎȞȭțȎȣȜȒȖȠȟȭȏșȜȘȎȒȜ
ȏȎȐșȓțȖȓȏșȜȘȜȐȝȞȓȘȞȎȧȎȓȠȟȭǶțȟȠȞȡȘȤȖȭifȐȟȠȞȜȘȓ
ȐȜȕȐȞȎȧȎȓȠȕțȎȥȓțȖȓtrueȖȐȩȝȜșțȓțȖȓȤȖȘșȎfor
ȝȞȓȘȞȎȧȎȓȠȟȭ.
dzȟșȖȭȥȓȗȘȎȖțȐȓțȠȎȞȭȓȧȓțȓȕȎȝȜșțȓțȎȥȓȞȓȝȎȦ
ȘȎȝȞȜȒȜșȔȎȓȠȒȐȖȔȓțȖȓȖȝȓȞȓȣȜȒȖȠȘȟșȓȒȡȬȧȓȗȝȓȥȖ
ȀȎȘȝȞȜȒȜșȔȎȓȠȟȭȒȜȠȓȣȝȜȞȝȜȘȎȥȓȞȓȝȎȦȘȎțȓȒȜȟȠȖȑ
țȓȠȝȜȟșȓȒțȓȗȝȓȥȖȋȠȜȝȞȜȖȕȜȗȒȓȠȘȜȑȒȎi²ȝȓȞȓȚȓțțȎȭ
ȤȖȘșȎfor²ȟȠȎțȓȠȞȎȐțȎȕțȎȥȓțȖȬȘȜțȟȠȎțȠȩNUM _ FURNACESȀȎȘȖȚȜȏȞȎȕȜȚȖȟȝȜșțȓțȖȓȤȖȘșȎȝȞȜȒȜșȔȎȓȠ
ȟȭȝȜȘȎȐȩȝȜșțȭȓȠȟȭȡȟșȜȐȖȓȖțȟȠȞȡȘȤȖȖifȐȟȠȞȜȘȓ
ȓȟșȖȕțȎȥȓțȖȓȝȓȞȓȚȓțțȜȗițȓȞȎȐțȜ ȕțȎȥȓțȖȬȘȜțȟȠȎțȠȩ
NUM _ FURNACESdzȟșȖȡȟșȜȐȖȓțȓȐȩȝȜșțȭȓȠȟȭȖȟȝȜșțȓ
țȖȓȤȖȘșȎȝȞȓȘȞȎȧȎȓȠȟȭ
188
DZǹǮǰǮ
ĔēďĚĞĚĎėđęĔđĖĔĜěĔģđĕ
ǸȜȑȒȎȥȓȞȓȝȎȦȘȎȟȜȏȓȞȓȠȘȎȚȓțțȩȣȏșȜȘȎȖȣțȡȔțȜȝȓ
ȞȓȞȎȏȜȠȎȠȪȐȘȖȞȝȖȥȖǻȎȝȜȚțȬȥȠȜȥȓȞȓȝȎȦȘȎȝȞȜȖȕȐȜ
ȒȖȠȘȎȚȓțțȩȓȘȖȞȝȖȥȖȝȞȖȚȓțȭȭȞȓȤȓȝȠȘȎȘȠȩȫȠȜȒȓșȎ
ȓȦȪțȎȐȓȞȟȠȎȘȓțȜȘȞȎȢȠȖȠȖȣȐȟȜȏȟȠȐȓțțȜȚȖțȐȓțȠȎȞȓ
DzșȭȝȓȞȓȞȎȏȜȠȘȖȘȎȚȓțțȩȣȏșȜȘȜȐȐȘȎȚȓțțȩȓȘȖȞȝȖȥȖ
țȡȔțȜȝȜȚȓȟȠȖȠȪȜȒȖțȎȘȜȐȜȓȘȜșȖȥȓȟȠȐȜȘȎȚȓțțȩȣȏșȜȘȜȐ
ȐȥȓȠȩȞȓȭȥȓȗȘȖȖțȐȓțȠȎȞȭȥȠȜȏȩȟȢȜȞȚȖȞȜȐȎȠȪȘȐȎȒȞȎȠ
ȘȎȘȝȜȘȎȕȎțȜțȎȞȖȟ
ˀ̛̭͘ϭϬ͘ϳ͘ˀ̶̴̵̸̡̡̡̛̛̛̖̖̪̯̬̯̥̖̦̦̼̬̪̖̜̬̖̌̌̌̏̐;̭̣̖̏̌Ϳ̛̛̦̖̦̯̬̖̏̌
̸̡̛̖̬̖̪̹̌;̭̪̬̌̏̌Ϳ
ǸȜȑȒȎȏșȜȘȖȟȜȏȞȎțȩȖȞȎȕȚȓȧȓțȩȐȟȜȜȠȐȓȠȟȠȐȖȖȟȞȓ
ȤȓȝȠȜȚȘȞȎȢȠȎȐȩȕȜȐȢȡțȘȤȖȖturtle.craft() ȝȞȖȐȜȒȖȠȘ
ȟȜȕȒȎțȖȬȘȎȚȓțțȩȣȘȖȞȝȖȥȓȗȖȟȜȣȞȎțȓțȖȬȖȣȐȠȓȘȡȧȓȗ
ȭȥȓȗȘȓ dzȟșȖ Ƞȩ ȣȜȥȓȦȪ ȥȠȜȏȩ ȥȓȞȓȝȎȦȘȎ ȟȜȕȒȎȐȎșȎ
ȠȜșȪȘȜȜȝȞȓȒȓșȓțțȜȓȘȜșȖȥȓȟȠȐȜȘȖȞȝȖȥȓȗȒȎȔȓȓȟșȖȡ
țȓȓȒȜȟȠȎȠȜȥțȜȏșȜȘȜȐȒșȭȏȜșȪȦȓȑȜȘȜșȖȥȓȟȠȐȎȝȓȞȓȒȎȗ
ȐȢȡțȘȤȖȬturtle.craft() ȤȓșȜȥȖȟșȓțțȩȗȎȞȑȡȚȓțȠ.
ǻȎȝȞȖȚȓȞȢȡțȘȤȖȭturtle.craft(1)ȏȡȒȓȠȒȜȏȎȐșȭȠȪ
ȠȜșȪȘȜȜȒȖțȘȎȚȓțțȩȗȏșȜȘȐȘȎȔȒȡȬ ȖȕȥȓȠȩȞȓȣȭȥȓȓȘȖ
ȟȜȕȒȎȐȎȠȪȜȒȖțȘȎȚȓțțȩȗȘȖȞȝȖȥ
ǸȜȒȐȟȠȞȜȘȓȝȞȜȐȓȞȭȓȠțȎșȖȥȖȓȘȎȚȓțțȩȣȏșȜȘȜȐ
ȐȭȥȓȗȘȓȖțȐȓțȠȎȞȭdzȟșȖȫȠȜȠȎȘȖȟȝȜșțȓțȖȓȝȓȞȓȣȜȒȖȠ
ȘȟȠȞȜȘȓ
brickcrafter
ɨɛɪɚɛɨɬɤɚɛɥɨɤɨɜɤɚɦɧɹ
28.
if turtle.getItemCount(1) == 64 then
WXUWOHWUDQVIHU7R ɩɨɦɟɳɟɧɢɟɤɚɦɧɹɜ
ǽǾǼǶǵǰǼDzǿȀǰǼǸǮǺdzǻǻȉȃǸǶǾǽǶȅdzǷ
189
ɹɱɟɣɤɭ
WXUWOHWUDQVIHU7R ɩɨɦɟɳɟɧɢɟɤɚɦɧɹɜ
ɹɱɟɣɤɭ
WXUWOHWUDQVIHU7R ɩɨɦɟɳɟɧɢɟɤɚɦɧɹɜ
ɹɱɟɣɤɭ
WXUWOHVHOHFW ɩɨɦɟɳɟɧɢɟɤɚɦɟɧɧɵɯɤɢɪɩɢɱɟɣ
ɜɹɱɟɣɤɭ
WXUWOHFUDIW ɤɪɚɮɬɤɚɦɟɧɧɵɯɤɢɪɩɢɱɟɣ
34.
brickCount = brickCount + 64
35.
print('Total stone bricks: ' .. brickCount)
ȂȡțȘȤȖȭturtle.transferTo()ȝȓȞȓȚȓȧȎȓȠȏșȜȘȖȖȕ
ȠȓȘȡȧȓȗ ȭȥȓȗȘȖȐȒȞȡȑȡȬ. ȀȩȚȜȔȓȦȪȡȘȎȕȎȠȪȐȘȎȘȡȬ
ȖȚȓțțȜȝȓȞȓȒȎȐȤȓșȜȓȥȖȟșȜȐȘȎȥȓȟȠȐȓȝȓȞȐȜȑȜȝȎȞȎȚȓȠȞȎ
Ȣȡ ț Ș Ȥ Ȗ Ȗ. ǰ Ƞ ȜȞȜȗ ȝȎȞȎ Țȓ Ƞ Ȟ Ȝȝ ȞȓȒȓș ȭȓ Ƞ ȘȜș Ȗ ȥȓ ȟ Ƞ ȐȜ
ȝȓȞȓȚȓȧȎȓȚȩȣȏșȜȘȜȐǰȩȕȜȐȢȡțȘȤȖȖturtle.transferTo(2, 16)ȐȟȠȞȜȘȓȝȓȞȓȚȓȧȎȓȠȘȎȚȓțțȩȣȏșȜȘȜȐ
ȖȕȠȓȘȡȧȓȗ ȭȥȓȗȘȖ (ȝȜȒțȜȚȓȞȜȚȘȎȘȡȘȎȕȎțȜȐȟȠȞȜȘȓ
ȐȭȥȓȗȘȡǸȜȒȐȟȠȞȜȘȎȣȖȝȓȞȓȚȓȧȎȓȠȘȎȚȓț
țȩȣȏșȜȘȜȐȐȭȥȓȗȘȖȖȀȓȝȓȞȪȞȎȟȝȜșȜȔȓțȖȓȏșȜȘȜȐȐ
ȖțȐȓțȠȎȞȓȥȓȞȓȝȎȦȘȖȟȜȜȠȐȓȠȟȠȐȡȓȠȞȓȤȓȝȠȡȝȜȘȎȕȎțțȜ
ȚȡțȎȞȖȟǵȎȠȓȚȘȜȒȐȟȠȞȜȘȓȐȩȕȩȐȎȓȠȢȡțȘȤȖȬ
turtle.select(16)ȒșȭȐȩȏȜȞȎȭȥȓȗȘȖȐȘȎȥȓȟȠȐȓȠȓ
ȘȡȧȓȗȝȜȫȠȜȚȡȘȜȑȒȎȐȟȠȞȜȘȓȐȩȕȩȐȎȓȠȟȭȢȡțȘȤȖȭ
turtle.craft()ȜȏȞȎȏȜȠȎțțȩȓȘȎȚȓțțȩȓȘȖȞȝȖȥȖȏȡȒȡȠ
ȝȜȚȓȧȓțȩȐȭȥȓȗȘȡ 16.
ǰȟȠȞȜȘȎȣȖȝȞȜȖȕȐȜȒȖȠȟȭȝȜȒȟȥȓȠȖȐȩȐȜȒțȎȫȘȞȎț
ȘȜșȖȥȓȟȠȐȎȖȕȑȜȠȜȐșȓțțȩȣȥȓȞȓȝȎȦȘȜȗȘȖȞȝȖȥȓȗ
dzȟșȖȥȓȞȓȝȎȦȘȎȝȜȟșȓȝȞȜȣȜȔȒȓțȖȭȐȟȓȣȝȓȥȓȗțȓȟȜ
ȏȞȎșȎȘȎȚȓțțȩȣȏșȜȘȎȐȭȥȓȗȘȡȘȜȒȐȟȠȞȜȘȓȝȞȖ
ȜȟȠȎțȎȐșȖȐȎȓȠȖȟȝȜșțȓțȖȓȝȞȜȑȞȎȚȚȩțȎȟȓȘȡțȒ ȒȐȓ
ȚȖțȡȠȩ ȥȠȜȏȩȝȓȥȖȝȓȞȓȝșȎȐȖșȖȒȜȝȜșțȖȠȓșȪțȩȓȘȎ
ȚȓțțȩȓȏșȜȘȖ
brickcrafter
36.
else
37.
print('Not enough stone yet. Sleeping...')
RVVOHHS ɨɠɢɞɚɧɢɟɦɢɧɭɬɵ
39.
end
190
DZǹǮǰǮ
ǽȜȟșȓȐȜȕȜȏțȜȐșȓțȖȭȞȎȏȜȠȩȝȞȜȑȞȎȚȚȩȥȓȞȓȝȎȦȘȎ
ȐȓȞțȓȠȟȭȘȝȓȞȐȜȗȝȓȥȖǻȓȕȎȐȖȟȖȚȜȜȠȠȜȑȜȏȩșȖșȖȟȜȕ
ȒȎțȩȘȎȚȓțțȩȓȘȖȞȝȖȥȖȥȓȞȓȝȎȦȘȓțȡȔțȜȐȓȞțȡȠȪȟȭȘ
ȝȓȞȐȜȗȏșȖȔȎȗȦȓȗȘȑȓțȓȞȎȠȜȞȡȏȡșȩȔțȖȘȎȝȓȥȖȥȠȜȏȩ
țȎȦȞȜȏȜȠȚȜȑȟȜȏȞȎȠȪȘȎȘȚȜȔțȜȏȜșȪȦȓȝȓȞȓȝșȎȐșȓțțȩȣ
ȘȎȚțȓȗ
ĎĚēĎĜČĥđęĔđģđĜđěČĤĖĔ
ęČĔĝġĚĐęğĪěĚēĔĢĔĪ
ȅȠȜȏȩȝȓȞȓȚȓȟȠȖȠȪȥȓȞȓȝȎȦȘȡȐȖȟȣȜȒțȜȓȝȜșȜȔȓțȖȓțȎȚ
țȡȔțȜȒȐȖȑȎȠȪȓȓȐȟȠȜȞȜțȡȝȓȞȐȜȗȝȓȥȖȝȜȘȎțȎȦȞȜȏȜȠțȓ
ȜȘȎȔȓȠȟȭȝȞȭȚȜȝȜȒțȓȗȀȎȚȥȓȞȓȝȎȦȘȎȟșȜȔȖȠȐȟȡțȒȡȘ
ȟȐȜȖȘȖȞȝȖȥȖǵȎȫȠȖȒȐȖȔȓțȖȭȜȠȐȓȥȎȓȠȤȖȘșforțȎȥȖ
țȎȬȧȖȗȟȭȐȟȠȞȜȘȓ
brickcrafter
ɩɟɪɟɦɟɳɟɧɢɟɤɫɭɧɞɭɤɭ ɨɤɨɥɨɩɟɪɜɨɣɩɟɱɢ
42.
for i = 1, NUM_FURNACES - 1 do
43.
turtle.forward()
44.
end
WXUWOHWXUQ/HIW ɩɨɜɨɪɨɬɥɢɰɟɜɨɣɫɬɨɪɨɧɨɣɤ
ɫɭɧɞɭɤɭ
WXUWOHVHOHFW ɜɵɛɨɪɤɚɦɟɧɧɵɯɤɢɪɩɢɱɟɣ
WXUWOHGURS ɩɨɦɟɳɟɧɢɟɤɚɦɟɧɧɵɯɤɢɪɩɢɱɟɣɜ
ɫɭɧɞɭɤ
WXUWOHWXUQ5LJKW ɩɨɜɨɪɨɬɤɝɟɧɟɪɚɬɨɪɭ
49. end
ǸȜȒȐȟȠȞȜȘȎȣ²ȡȝȞȎȐșȭȓȠȝȓȞȓȚȓȧȓțȖȓȚȥȓȞȓ
ȝȎȦȘȖȐȝȓȞȓȒȠȎȘȖȚȜȏȞȎȕȜȚȥȠȜȏȩȜțȎȐȓȞțȡșȎȟȪȐȖȟ
ȣȜȒțȜȓȝȜșȜȔȓțȖȓȀȜȓȟȠȪȥȓȞȓȝȎȦȘȎȟȜȐȓȞȦȎȓȠNUM _
FURNACES - 1ȝȜȟșȓȒȜȐȎȠȓșȪțȩȣȝȓȞȓȚȓȧȓțȖȗȝȜȘȎțȓ
ȜȘȎȔȓȠȟȭțȖȔȓȝȓȞȐȜȗȝȓȥȖǰȟȠȞȜȘȓȘȜțȟȠȎțȠȓNUM _
FURNACESȏȩșȜȝȞȖȟȐȜȓțȜȕțȎȥȓțȖȓ 5ȝȜȫȠȜȚȡȥȓȞȓȝȎȦȘȎ
ȟȜȐȓȞȦȖȠȥȓȠȩȞȓȝȜȟșȓȒȜȐȎȠȓșȪțȩȣȝȓȞȓȚȓȧȓțȖȭǸȜȒȐ
ȟȠȞȜȘȓȝȜȐȜȞȎȥȖȐȎȓȠȥȓȞȓȝȎȦȘȡșȖȤȓȐȜȗȟȠȜȞȜțȜȗȘȟȡț
ȒȡȘȡȎȘȜȒȐȟȠȞȜȘȓȐȩȏȖȞȎȓȠȐȟȓȖȚȓȬȧȖȓȟȭȘȎȚȓțțȩȓ
ȘȖȞȝȖȥȖȘȜȠȜȞȩȓȏȩșȖȟȜȕȒȎțȩȖȟȜȣȞȎțȓțȩȐȭȥȓȗȘȓ
ǽǾǼǶǵǰǼDzǿȀǰǼǸǮǺdzǻǻȉȃǸǶǾǽǶȅdzǷ
191
ȖțȐȓțȠȎȞȭǵȎȠȓȚȘȜȒȐȟȠȞȜȘȓȝȜȚȓȧȎȓȠȐȩȏȞȎțțȩȓȘȎ
ȚȓțțȩȓȘȖȞȝȖȥȖȐȟȡțȒȡȘ ȖșȖțȖȥȓȑȜțȓȒȓșȎȓȠȓȟșȖȘȖȞ
ȝȖȥȖțȓȏȩșȖȖȕȑȜȠȜȐșȓțȩ ȎȘȜȒȐȟȠȞȜȘȓȝȜȐȜȞȎȥȖȐȎȓȠ
ȥȓȞȓȝȎȦȘȡșȖȤȓȐȜȗȟȠȜȞȜțȜȗȘȑȓțȓȞȎȠȜȞȡȏȡșȩȔțȖȘȎ
ȂȖțȎșȪțȎȭȖțȟȠȞȡȘȤȖȭendȐȟȠȞȜȘȓȕȎȐȓȞȦȎȓȠ
ȏȓȟȘȜțȓȥțȩȗȤȖȘș whilețȎȥȎȐȦȖȗȟȭȐȟȠȞȜȘȓȝȜȫȠȜ
ȚȡȘȜȑȒȎȝȞȜȑȞȎȚȚȎȒȜȟȠȖȑȎȓȠȫȠȜȗȠȜȥȘȖȖȟȝȜșțȓțȖȓ
ȟțȜȐȎȝȓȞȓȣȜȒȖȠȘȟȠȞȜȘȓȀȎȘȖȚȜȏȞȎȕȜȚȐȓȟȪȝȞȜȤȓȟȟ
ȟȏȜȞȎȘȎȚțȭȝȓȞȓȞȎȏȜȠȘȎȓȑȜȐȘȎȚȓțțȩȓȘȖȞȝȖȥȖȖȟȜ
ȣȞȎțȓțȖȓȑȜȠȜȐȩȣȘȖȞȝȖȥȓȗȐȟȡțȒȡȘȓȝȜȐȠȜȞȭȬȠȟȭȟțȜȐȎ
ȖȟțȜȐȎ
ĐĚěĚėęĔĞđėĨęĚđēČĐČęĔđ"ĖĚęĐĔĞđĜĝĖČīĠČčĜĔĖČ
DzșȭȝȞȖȑȜȠȜȐșȓțȖȭȠȜȞȠȎȐ0LQHFUDIWțȓȜȏȣȜȒȖȚȜȟșȓȒȜ
ȐȎȠȪȜȒțȜȚȡȖȕȟȎȚȩȣȟșȜȔțȩȣȞȓȤȓȝȠȜȐȐȖȑȞȓȘȜȠȜȞȩȗ
ȠȞȓȏȡȓȠȚȜșȜȘȜȭȗȤȜȟȎȣȎȞȖȝȦȓțȖȤȡȘȎȘȝȜȘȎȕȎțȜțȎ
ȞȖȟ
ˀ̛̭͘ϭϬ͘ϴ͘ˀ̶̴̡̨̛̖̖̪̯̬̯̯̬̯̬̖̌̌̌̏̐DŝŶĞĐƌĂŌ
Создай программу, которая научит черепашку печь торты.
Размести ингредиенты в отдельных сундуках, а затем запрограммируй черепашку так, чтобы она двигалась вдоль
ряда сундуков, выбирала ингредиенты для торта из каждого
сундука, делала торт и помещала готовый торт в отдельный
сундук. Если какой-нибудь сундук с ингредиентом, окажется
пуст, пусть черепашка ожидает пару минут, прежде чем снова
проверить, не появился ли в сундуке нужный ингредиент.
192
DZǹǮǰǮ
ĝĞĜĚĔĞđėĨĝĞĎĚēĐČęĔīēČĎĚĐĔĖČ
ǻȎȦȑȓțȓȞȎȠȜȞȏȡșȩȔțȖȘȎȖȥȓȞȓȝȎȦȘȖȠȜȓȟȠȪȜȟțȜȐțȎȭ
ȝȞȜȖȕȐȜȒȟȠȐȓțțȎȭșȖțȖȭȒȜȟȖȣȝȜȞȜȟȠȎȬȠȟȭțȎȡșȖȤȓȑȒȓ
ȜțȖȝȜȒȐȓȞȑȎȬȠȟȭȐȜȕȒȓȗȟȠȐȖȬȒȜȔȒȭȖȐȓȠȞȎȋȠȜȟșȜȔțȜ
țȎȕȐȎȠȪȕȎȐȜȒȜȚȀȓȝȓȞȪȘȜȑȒȎȡȠȓȏȭȓȟȠȪțȓȜȑȞȎțȖȥȓțțȩȗ
ȖȟȠȜȥțȖȘȏȡșȩȔțȖȘȎȖȘȎȚȓțțȩȣȘȖȞȝȖȥȓȗȚȜȔțȜȝȜ
ȟȠȞȜȖȠȪȕȎȐȜȒȟȘȜȓȕȒȎțȖȓȘȎȘȝȜȘȎȕȎțȜțȎȞȖȟȖ
ˀ̛̭͘ϭϬ͘ϵ͘ʯ̸̨̡̡̛̛̛̛̦̖̣̬̥̖̺̖̦̖̦̖̬̯̬̱̣̼̙̦̖̬̖̪̹̖͕̔̌̔́̌́̐̌̌̍̌̌̚
̶̨̨̨̨̨̨̡̛̛̛̪̭̯̬̖̦̦̖̭̭̯̖̦̦̜̪̬̱̍̏̔̚
ˀ̛̭͘ϭϬ͘ϭϬ͘ʰ̨̡̡̨̛̛̛̛̦̯̖̬̖̬̭̱̥̖̦̖̬̯̬̥̱̣̼̙̦̖̬̯̦̼̥̽̔̏́̐̌̌̍̌̔̌̏
̨̨̨̪̥̣̼̏̔̌̔̌̏
ǽǾǼǶǵǰǼDzǿȀǰǼǸǮǺdzǻǻȉȃǸǶǾǽǶȅdzǷ
193
DzȜȐȜșȪțȜȟȘȜȞȜȠȐȜȖȥȓȞȓȝȎȦȘȖȝȞȜȖȕȐȓȒȡȠȚțȜȔȓȟȠȐȜ
ȘȎȚȓțțȩȣȘȖȞȝȖȥȓȗȘȎȘȝȜȘȎȕȎțȜțȎȞȖȟ
ˀ̛̭͘ϭϬ͘ϭϭ͘ʿ̸̨̡̨̨̨̨̨̨̛̛̬̣̖̥̭̬̪̥̣̹̖̦̖̯̣̬̥̙̦̭̯̥̍̍̽̍̌̐̔̌́̏́̚
̨̨̛̛̪̬̬̥̥̬̦̐̌̏̌́͊
ǿȠȞȜȖȠȓșȪȟȠȐȜȕȒȎțȖȭȒșȭȑȓțȓȞȎȠȜȞȎȏȡșȩȔțȖȘȎțȓ
ȜȏȭȕȎȠȓșȪțȜțȜȝȜȘȞȎȗțȓȗȚȓȞȓȠȓȏȓțȓȝȞȖȒȓȠȟȭȒȜȏȩ
ȐȎȠȪȘȎȚȓțțȩȓȏșȜȘȖȐȞȡȥțȡȬȓȟșȖȠȩȞȓȦȖȦȪȟȭțȎȓȑȜ
ȝȜȟȠȞȜȗȘȡǰȑșȎȐȎȣȖȠȩȡȕțȎȓȦȪȘȎȘȕȎȝȞȜȑȞȎȚȚȖ
ȞȜȐȎȠȪȥȓȞȓȝȎȦȓȘȥȠȜȏȩȜțȖȐȜȕȐȜȒȖșȖȟȠȓțȩȖȟȠȞȜȖșȖ
ȘȜȚțȎȠȩ
ģĞĚĘħğēęČėĔ
ǰȫȠȜȗȑșȎȐȓȠȩȡȕțȎșȘȎȘȟȚȓțȖȠȪȖțȟȠȞȡȚȓțȠȥȓȞȓȝȎȦ
ȘȖțȎȐȓȞȟȠȎȘȖȟȝȜșȪȕȡȭȢȡțȘȤȖȖturtle.equipLeft()Ȗ
turtle.equipRight()ǼȟțȎȧȓțȖȓȥȓȞȓȝȎȦȘȖȐȓȞȟȠȎȘȜȚ
ȝȜȕȐȜșȭȓȠȓȗȘȞȎȢȠȖȠȪ ȝȞȖ ȝȜȚȜȧȖȢȡțȘȤȖȖ turtle.
craft().
ȅȠȜȏȩȐȩțȖȚȎȠȪȘȎȘȖȓșȖȏȜȝȞȓȒȚȓȠȩȖșȖȏșȜȘȖȖȕ
ȘȜțȠȓȗțȓȞȜȐȠȎȘȖȣȘȎȘȟȡțȒȡȘȖȖșȖȝȓȥȖȟșȓȒȡȓȠȖȟ
ȝȜșȪȕȜȐȎȠȪȢȡțȘȤȖȬturtle.suck()ȋȠȜȗȢȡțȘȤȖȖȚȜȔ
194
DZǹǮǰǮ
țȜȝȓȞȓȒȎȠȪȥȖȟșȜȐȜȗȎȞȑȡȚȓțȠȥȠȜȏȩȜȑȞȎțȖȥȖȠȪȘȜșȖ
ȥȓȟȠȐȜȖȕȩȚȎȓȚȩȣȝȞȓȒȚȓȠȜȐȏșȜȘȜȐȂȡțȘȤȖȖturtle.
suckUp()Ȗturtle.suckDown() ȝȜȕȐȜșȭȬȠȥȓȞȓȝȎȦȘȓ
ȐȕȎȖȚȜȒȓȗȟȠȐȜȐȎȠȪȟȘȜțȠȓȗțȓȞȎȚȖȐȩȦȓȖșȖțȖȔȓțȓȓ
ȟȜȜȠȐȓȠȟȠȐȓțțȜ
ǽȓȞȓȒȐȩȕȜȐȜȚȢȡțȘȤȖȖturtle.craft()țȡȔțȜȞȎȟ
ȝȜșȜȔȖȠȪȘȜȚȝȜțȓțȠȩȐȖțȐȓțȠȎȞȓȥȓȞȓȝȎȦȘȖȐȟȜȜȠȐȓȠ
ȟȠȐȖȖȟȞȓȤȓȝȠȜȚȠȎȘȔȓȘȎȘȠȩȫȠȜȒȓșȎșȏȩțȎȐȓȞȟȠȎȘȓ
DzșȭȞȎȕȚȓȧȓțȖȭȖțȑȞȓȒȖȓțȠȜȐȞȓȤȓȝȠȎȐȞȎȕțȩȣȭȥȓȗȘȎȣ
ȚȜȔțȜȖȟȝȜșȪȕȜȐȎȠȪȢȡțȘȤȖȬturtle.transferTo()ǽȜ
ȟșȓȐȩȕȜȐȎȢȡțȘȤȖȖturtle.craft()ȟȜȕȒȎȐȎȓȚȩȓȝȞȓȒȚȓ
ȠȩȝȜȭȐȭȠȟȭȐȠȓȘȡȧȓȗȭȥȓȗȘȓȥȓȞȓȝȎȦȘȖ
ǰȟșȓȒȡȬȧȓȗȑșȎȐȓȕȎȖȚȓȐȘȎȚȓțțȩȓȘȖȞȝȖȥȖȒȎȐȎȗ
țȎȥțȓȚȝȞȜȑȞȎȚȚȖȞȜȐȎȠȪȥȓȞȓȝȎȦȓȘȠȎȘȥȠȜȏȩȜțȖțȎȥȎ
șȖȟȠȞȜȖȠȪȒșȭțȎȟȑȖȑȎțȠȟȘȖȓȕȒȎțȖȭ
11
ĎĚēĎđĐđęĔđĝĞđę
ǿȠȞȜȖȠȓșȪȟȠȐȜȖȕȏșȜȘȜȐȚȜȔȓȠȜȘȎȕȎȠȪȟȭ
ȜȝȎȟțȩȚȖȒȜșȑȖȚȝȞȜȤȓȟȟȜȚǼȝȎȟțȩȚȝȜȠȜ
ȚȡȥȠȜȚȜȔțȜȡȝȎȟȠȪȟȏȜșȪȦȜȗȐȩȟȜȠȩȓȟșȖ
ȟȠȞȜȖȠȪȐȩȟȜȘȖȓȕȒȎțȖȭȐȞȓȔȖȚȓȐȩȔȖȐȎ
țȖȭ
ǰȚȓȟȠȜȠȜȑȜȥȠȜȏȩȟȠȞȜȖȠȪȟȠȓțȩȟȎȚȜȟȠȜȭȠȓșȪ
țȜȚȜȔțȜȕȎȝȞȜȑȞȎȚȚȖȞȜȐȎȠȪȥȓȞȓȝȎȦȘȡȖȝȜȞȡȥȖȠȪ
ȓȗȫȠȖȜȝȎȟțȩȓȖțȡȒțȩȓȟȠȞȜȖȠȓșȪțȩȓȞȎȏȜȠȩǰȫȠȜȗȑșȎ
ȐȓȚȩȞȎȕȞȎȏȜȠȎȓȚȎșȑȜȞȖȠȚȒșȭȟȠȞȜȖȠȓșȪȟȠȐȎȟȠȓțșȬ
ȏȜȑȜȞȎȕȚȓȞȎȒȜȏȎȐȖȐțȓȟȘȜșȪȘȜțȜȐȩȣȢȡțȘȤȖȗȐȚȜȒȡșȪ
hareȃȜȠȭȚȩȖȟȜȟȞȓȒȜȠȜȥȖȚȟȭțȎȟȠȞȜȖȠȓșȪȟȠȐȓȟȠȓțȖȕ
ȘȎȚȓțțȩȣȘȖȞȝȖȥȓȗȫȠȖȢȡțȘȤȖȖȝȞȖȑȜȒțȩȒșȭȞȎȏȜȠȩȟ
șȬȏȩȚȖȏșȜȘȎȚȖțȎȝȞȖȚȓȞȕȓȚșȓȗȟȠȓȘșȜȚȖșȖȒȎȔȓȎȞ
ȏȡȕȎȚȖȘȎȘȝȜȘȎȕȎțȜțȎȞȖȟ
ǻȎȥțȓȚȟȒȜȏȎȐșȓțȖȭȒȐȡȣȢȡțȘȤȖȗȐȚȜȒȡșȪhareȜȒ
țȎȏȡȒȓȠȝȜȒȟȥȖȠȩȐȎȠȪȘȜșȖȥȓȟȠȐȜȏșȜȘȜȐȐȖțȐȓțȠȎȞȓȥȓ
ȞȓȝȎȦȘȖȎȒȞȡȑȎȭ²ȐȜȕȐȜȒȖȠȪȟȠȓțȩ
196
DZǹǮǰǮ
ˀ̛̭͘ϭϭ͘ϭ͘ˋ̵̸̡̨̨̡̨̡̡̛̛̛̛̛̖̬̖̪̹̭̯̬̯̭̯̖̦̼̣̖̥̣͕̥̖̦̦̼̬̪̖̜͕̌́̍̏̌̚̚
̡̨̛̭̯̖̣̬̱̌̌̍̏̚
ĐĚĜČčĚĞĖČĘĚĐğėī0):ǺȩȒȜȏȎȐȖȚȠȞȖțȜȐȩȓȢȡțȘȤȖȖȘȜȠȜȞȩȓȏȡȒȡȠȟȥȖȠȎȠȪ
ȏșȜȘȖȐȖțȐȓțȠȎȞȓȐȩȏȖȞȎȠȪȖȞȎȕȚȓȧȎȠȪȏșȜȘȖȖȐȜȕȐȜ
ȒȖȠȪȟȠȓțȩǺȩȏȡȒȓȚȖȟȝȜșȪȕȜȐȎȠȪȫȠȖȢȡțȘȤȖȖȖȐȒȞȡ
ȑȖȣȝȞȜȑȞȎȚȚȎȣȖȕȫȠȜȗȘțȖȑȖȝȜȫȠȜȚȡȝȜȚȓȟȠȖȚȖȣȐȚȜ
ȒȡșȪhareȘȜȠȜȞȩȗȚȩȟȜȕȒȎșȖȐȑșȎȐȓǽȓȞȐȩȓȟȠȞȜȘ
ȚȜȒȡșȭhareȜȟȠȎțȡȠȟȭȏȓȕȖȕȚȓțȓțȖȗǽȜȫȠȜȚȡȭȝȜȘȎȔȡ
ȘȜȒȠȜșȪȘȜȒșȭȟȠȞȜȘ²
ǰȜȏȜșȜȥȘȓȘȜȚȎțȒțȜȗȟȠȞȜȘȖȐȩȝȜșțȖȘȜȚȎțȒȡedit
hareǽȓȞȓȚȓȟȠȖȘȡȞȟȜȞȐțȖȔțȬȬȥȎȟȠȪȢȎȗșȎȖȝȞȜȒȜș
ȔȖȘȜȒȐȐȜȒȭȟșȓȒȡȬȧȓȓ
hare
...ɩɪɨɩɭɫɤ...
36.
37.
38. -- countInventory ɜɨɡɜɪɚɳɚɟɬɤɨɥɢɱɟɫɬɜɨ
39. -- ɜɫɟɯɛɥɨɤɨɜɜɢɧɜɟɧɬɚɪɟɱɟɪɟɩɚɲɤɢ
40. function countInventory()
ǰǼǵǰdzDzdzǻǶdzǿȀdzǻ
197
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
198
DZǹǮǰǮ
local total = 0
for slot = 1, 16 do
total = total + turtle.getItemCount(slot)
end
return total
end
-- selectAndPlaceDown() ɜɵɛɢɪɚɟɬ ɧɟɩɭɫɬɭɸ ɹɱɟɣɤɭ
-- ɢɩɨɦɟɳɚɟɬɛɥɨɤɢɡɧɟɟɩɨɞɱɟɪɟɩɚɲɤɭ
function selectAndPlaceDown()
for slot = 1, 16 do
if turtle.getItemCount(slot) > 0 then
turtle.select(slot)
turtle.placeDown()
return
end
end
end
-- buildWall() ɫɨɡɞɚɟɬ ɫɬɟɧɭ,
-- ɪɚɫɩɨɥɨɠɟɧɧɭɸ ɩɟɪɟɞ ɱɟɪɟɩɚɲɤɨɣ
function buildWall(length, height)
if hare.countInventory() < length * height then
return false -- ɧɟɞɨɫɬɚɬɨɱɧɨɛɥɨɤɨɜ
end
turtle.up()
local movingForward = true
for currentHeight = 1, height do
for currentLength = 1, length do
selectAndPlaceDown() -- ɪɚɡɦɟɳɟɧɢɟ ɛɥɨɤɚ
if movingForward and currentLength ~= length
then
turtle.forward()
elseif not movingForward and currentLength ~=
length then
81.
turtle.back()
82.
end
83.
end
84.
if currentHeight ~= height then
85.
turtle.up()
86.
end
87.
movingForward = not movingForward
88.
end
89.
90.
-- ɫɬɟɧɚɝɨɬɨɜɚɩɟɪɟɯɨɞɤɮɢɧɚɥɶɧɨɣɩɨɡɢɰɢɢ
91.
if movingForward then
92.
-- ɱɟɪɟɩɚɲɤɚɨɤɨɥɨɧɚɱɚɥɶɧɨɣɩɨɡɢɰɢɢ
93.
for currentLength = 1, length do
94.
turtle.forward()
95.
end
96.
else
97.
-- ɱɟɪɟɩɚɲɤɚɨɤɨɥɨɮɢɧɚɥɶɧɨɣɩɨɡɢɰɢɢ
98.
turtle.forward()
99.
end
100.
101.
-- ɫɩɭɫɤɧɚɡɟɦɥɸ
102.
for currentHeight = 1, height do
103.
turtle.down()
104.
end
105.
106.
return true
107. end
ǿȜȣȞȎțȖȝȞȜȑȞȎȚȚȡȖȐȩȗȒȖȖȕȞȓȒȎȘȠȜȞȎȝȜȟșȓȐȐȜȒȎ
ȐȟȓȣȖțȟȠȞȡȘȤȖȗǶșȖȕȎȑȞȡȕȖȫȠȜȠȚȜȒȡșȪȐȩȝȜșțȖȐȘȜ
ȚȎțȒȡpastebin get wwzvaKuW hare.
ěĚĐĝģđĞčėĚĖĚĎĎĔęĎđęĞČĜđĝěĚĘĚĥĨĪ
ĠğęĖĢĔĔ+7=6-6 0 then
turtle.select(slot)
turtle.placeDown()
return
end
end
end
ǰȟȠȞȜȘȓțȎȥȖțȎȓȠȟȭȤȖȘșforȘȜȠȜȞȩȗȝȞȖȟȐȎȖȐȎ
ȓȠȝȓȞȓȚȓțțȜȗslotȕțȎȥȓțȖȓ1ȐȝȓȞȐȜȗȖȠȓȞȎȤȖȖ2²ȐȜ
ȐȠȜȞȜȗȖȠȒȒȜ16ȀȎȘȖȚȜȏȞȎȕȜȚȢȡțȘȤȖȭselectAndPlaceDown()ȟȘȎțȖȞȡȓȠȐȟȓȭȥȓȗȘȖȖțȐȓțȠȎȞȭȥȓȞȓȝȎȦȘȖ
ǰțȡȠȞȖȫȠȜȑȜȤȖȘșȎȘȜȒȐȟȠȞȜȘȓȝȞȜȐȓȞȭȓȠȟȘȜșȪȘȜ
ȫșȓȚȓțȠȜȐțȎȣȜȒȖȠȟȭȐȭȥȓȗȘȓȐȩȕȩȐȎȭȢȡțȘȤȖȬturtle.
getItemCount(slot)dzȟșȖȐȭȥȓȗȘȓțȎȣȜȒȖȠȟȭȣȜȠȭȏȩȜȒȖț
ȏșȜȘȢȡțȘȤȖȭturtle.select(slot)ȐȟȠȞȜȘȓȐȩȏȖȞȎȓȠ
ȫȠȜȠȭȥȓȗȘȡȎȢȡțȘȤȖȭturtle.placeDown()ȖȕȟȠȞȜȘȖ
ȞȎȕȚȓȧȎȓȠȏșȜȘȝȜȒȥȓȞȓȝȎȦȘȜȗDzȎșȓȓȘȜȒȐȟȠȞȜȘȓȐȩ
ȕȩȐȎȓȠȢȡțȘȤȖȬselectAndPlaceDown().
ȋȠȎȢȡțȘȤȖȭselectAndPlaceDown()ȞȎȏȜȠȎȓȠțȓȕȎȐȖ
ȟȖȚȜȜȠȠȜȑȜȘȎȘȖȓȟȠȞȜȖȠȓșȪțȩȓȏșȜȘȖțȎȣȜȒȭȠȟȭȐȖțȐȓț
ȠȎȞȓȥȓȞȓȝȎȦȘȖȖȐȘȎȘȖȣȭȥȓȗȘȎȣȜțȖȞȎȟȝȜșȜȔȓțȩdzȟșȖ
ȐȖțȐȓțȠȎȞȓȥȓȞȓȝȎȦȘȖțȖȥȓȑȜțȓȠȤȖȘșȕȎȐȓȞȦȎȓȠȟȭȖ
țȖȘȎȘȖȣȒȓȗȟȠȐȖȗțȓȝȞȜȖȕȐȜȒȖȠȟȭȂȡțȘȤȖȖbuildWall()
ȖbuildRoom()ȏȡȒȡȠȐȩȕȩȐȎȠȪselectAndPlaceDown()ȘȎȘ
ȝȜȒȢȡțȘȤȖȬ
ĜČēĜČčĚĞĖČČėďĚĜĔĞĘČĎĚēĎđĐđęĔīĝĞđę
ȀȓȝȓȞȪȟȜȕȒȎȒȖȚȢȡțȘȤȖȬbuildWall()ȘȜȠȜȞȜȗȝȓȞȓȒȎ
ȒȖȚȒȐȎȝȎȞȎȚȓȠȞȎȒșȭȡȝȞȎȐșȓțȖȭȞȎȕȚȓȞȎȚȖȐȜȕȐȜȒȖȚȜȗ
ȟȠȓțȩȜȒȖț²ȫȠȜȒșȖțȎȟȠȓțȩ length ȒȞȡȑȜȗ²ȓȓȐȩȟȜȠȎ
(height ǽȞȓȔȒȓȥȓȚȝȖȟȎȠȪȘȜȒȢȡțȘȤȖȖȒȎȐȎȗȞȎȕȞȎȏȜ
ǰǼǵǰdzDzdzǻǶdzǿȀdzǻ
201
ȠȎȓȚȓȓȎșȑȜȞȖȠȚȘȜȠȜȞȜȚȡȖȏȡȒȓȠȟșȓȒȜȐȎȠȪȥȓȞȓȝȎȦȘȎ
ȥȠȜȏȩȝȜȟȠȞȜȖȠȪȟȠȓțȡ
ǸȜȑȒȎȥȓȞȓȝȎȦȘȎțȎȥȖțȎȓȠȟȠȞȜȖȠȪȜțȎȟȠȜȖȠțȎȕȓȚșȓ
ȕȎȠȓȚȓȗțȎȒȜȝȜȒțȭȠȪȟȭȐȐȓȞȣȖȝȜșȜȔȖȠȪȏșȜȘȝȜȒȟȓȏȭ
DzȎșȓȓȓȗțȎȒȜȒȐȖȑȎȠȪȟȭȐȝȓȞȓȒȖȝȞȜȒȜșȔȎȠȪȝȜȒȘșȎȒȩ
ȐȎȠȪȝȜȒȟȓȏȭȏșȜȘȖȒȜȠȓȣȝȜȞȝȜȘȎțȓȝȜșȡȥȖȠȟȭȤȓȝȜȥȘȎ
ȏșȜȘȜȐȕȎȒȎțțȜȗȒșȖțȩlengthǸȜȑȒȎȤȓȝȜȥȘȎȑȜȠȜȐȎȥȓ
ȞȓȝȎȦȘȎȝȜȐȠȜȞȖȠȫȠȜȠȝȞȜȤȓȟȟțȜȡȔȓȐȝȞȜȠȖȐȜȝȜșȜȔțȜȚ
țȎȝȞȎȐșȓțȖȖ
ǼțȎȏȡȒȓȠȝȞȜȒȜșȔȎȠȪȒȐȖȔȓțȖȓȐȝȓȞȓȒȖțȎȕȎȒȐȩ
ȟȠȞȎȖȐȎȭȤȓȝȜȥȘȖȏșȜȘȜȐȝȜȘȎțȓȒȜȟȠȖȑțȓȠȡȘȎȕȎțțȜȗ
ȐȩȟȜȠȩheightǽȞȓȒȝȜșȜȔȖȚȥȠȜȕțȎȥȓțȖȓȝȓȞȓȚȓțțȜȗ
lengthȞȎȐțȜ4ȎȝȓȞȓȚȓțțȜȗheight²2ǻȎȞȖȟȝȜ
ȘȎȕȎțȎȏȡȒȡȧȎȭȟȠȓțȎȞȎȕȚȓȞȜȚðȏșȜȘȎȖȠȜȘȎȘȥȓȞȓ
ȝȎȦȘȎțȎȥȖțȎȓȠȓȓȟȠȞȜȖȠȪ
Конец
Начало
ˀ̛̭͘ϭϭ͘Ϯ͘ʦ̸̨̡̡̨̛̛̛̭̱̖̬̖̪̹̱̱̺̖̜̭̯̖̦̼̬̥̖̬̥̔̍̌̍̔̌̚ϰпϮ̨̡̣̍̌
DzșȭțȎȥȎșȎȥȓȞȓȝȎȦȘȎȒȜșȔțȎȝȜȒțȭȠȪȟȭȖȝȜȚȓȟȠȖȠȪ
ȏșȜȘȝȜȒȟȓȏȭȘȎȘȝȜȘȎȕȎțȜțȎȞȖȟ
Конец
Начало
ˀ̛̭͘ϭϭ͘ϯ͘ˋ̡̨̨̨̡̨̛̛̖̬̖̪̹̪̦̥̖̯̭̪̥̖̺̖̯̣̪̭̖̌̌̔̌́̌̍̔̍́
202
DZǹǮǰǮ
ǽȜȟȘȜșȪȘȡȥȓȞȓȝȎȦȘȎȟȠȞȜȖȠȟȠȓțȡȒșȖțȜȗȐȥȓȠȩȞȓ
ȏșȜȘȎȥȓȞȓȝȎȦȘȎȝȓȞȓȚȓȧȎȓȠȟȭȐȝȓȞȓȒțȎȠȞȖȝȞȜșȓȠȎ
ȘȎȔȒȩȗȞȎȕȝȜȚȓȧȎȭȝȜȒȟȓȏȭȏșȜȘdzȟșȖȏȩȥȓȞȓȝȎȦȘȎ
ȟȠȞȜȖșȎȟȠȓțȡȒșȖțȜȗȐȦȓȟȠȪȏșȜȘȜȐȜțȎȝȞȜȒȐȖȑȎșȎȟȪ
ȏȩȐȝȓȞȓȒțȎȝȭȠȪȝȞȜșȓȠȜȐǼȏȞȎȠȖȐțȖȚȎțȖȓțȎȦȎȏșȜț
ȘȜșȖȥȓȟȠȐȜȝȓȞȓȚȓȧȓțȖȗȥȓȞȓȝȎȦȘȖȞȎȐțȜlength - 1.
ȅȠȜȏȩȡșȜȔȖȠȪlengthȏșȜȘȜȐȥȓȞȓȝȎȦȘȎȒȜșȔțȎȝȓȞȓȚȓ
ȟȠȖȠȪȟȭțȎȜȒȖțȦȎȑȒșȭȡȘșȎȒȘȖȘȎȔȒȜȑȜȏșȜȘȎȘȞȜȚȓȝȜ
ȟșȓȒțȓȑȜȐȞȓȕȡșȪȠȎȠȓȥȓȑȜȓȗțȎȒȜȟȜȐȓȞȦȖȠȪlength - 1
ȝȓȞȓȚȓȧȓțȖȗȀȎȘȖȚȜȏȞȎȕȜȚȢȡțȘȤȖȭbuildWall()ȝȜ
ȕȐȜșȭȓȠȟȠȞȜȖȠȪȟȠȓțȩșȬȏȜȗȒșȖțȩ
ǸȜȑȒȎȥȓȞȓȝȎȦȘȎȝȜȟȠȞȜȖȠȝȓȞȐȡȬȤȓȝȜȥȘȡȏșȜȘȜȐȒșȭ
țȎȦȓȗȟȠȓțȩȞȎȕȚȓȞȜȚðȏșȜȘȎȞȓȕȡșȪȠȎȠȏȡȒȓȠȐȩȑșȭ
ȒȓȠȪȠȎȘȘȎȘȝȜȘȎȕȎțȜțȎȞȖȟ
Конец
Начало
ˀ̛̭͘ϭϭ͘ϰ͘ˋ̡̨̡̨̨̨̛̛̖̬̖̪̹̙̖̯̭̪̖̬̖͕̬̥̖̺̣̪̭̜̌̌̔̏́̏̔̌̌́̍̔̍̚
ȅȓȞȓȝȎȦȘȎȝȜȐȠȜȞȭȓȠȫȠȜȠȝȞȜȤȓȟȟȕȎȖȟȘșȬȥȓțȖȓȚȠȜȑȜ
ȥȠȜțȎȫȠȜȠȞȎȕȜțȎȒȐȖȔȓȠȟȭțȎȕȎȒȘȎȘȝȜȘȎȕȎțȜțȎȞȖȟ
Конец
Начало
ˀ̛̭͘ϭϭ͘ϱ͘ˋ̵̡̨̡̨̨̨̛̛̖̬̖̪̹̙̖̯̭̖̬͕̯̖̥̦͕̬̥̖̺̣̪̭̜̌̌̔̏́̏̏̌̌̌̌̔̌̌́̍̔̍̚̚̚
ǰǼǵǰdzDzdzǻǶdzǿȀdzǻ
203
dzȟșȖȏȩȥȓȞȓȝȎȦȘȓȏȩșȜȕȎȒȎțȜȏȜșȪȦȓȓȘȜșȖȥȓȟȠȐȜ
ȞȭȒȜȐȜțȎȝȜȐȠȜȞȖșȎȏȩȐȓȟȪȝȞȜȤȓȟȟȟȜȜȠȐȓȠȟȠȐȡȬȧȓȓȘȜ
șȖȥȓȟȠȐȜȞȎȕȒȐȖȑȎȭȟȪȐȝȓȞȓȒȖțȎȕȎȒǻȜȝȜȟȘȜșȪȘȡȥȓȞȓ
ȝȎȦȘȎȝȜȟȠȞȜȖșȎȕȎȒȎțțȜȓȘȜșȖȥȓȟȠȐȜȞȭȒȜȐȡȘȎȕȎțțȜȓȐ
țȎȦȓȚȝȞȖȚȓȞȓȜțȎȜȟȠȎțȎȐșȖȐȎȓȠȟȭǰȑșȎȐȓȚȩȐȜȕ
ȐȓȒȓȚȥȓȠȩȞȓȟȠȓțȩȥȠȜȏȩȝȜȟȠȞȜȖȠȪȘȜȚțȎȠȡȝȜȫȠȜȚȡȎș
ȑȜȞȖȠȚȒȜșȔȓțȐȟȓȑȒȎȐȜȕȐȞȎȧȎȠȪȥȓȞȓȝȎȦȘȡțȎȕȓȚșȬțȎ
ȝȞȜȠȖȐȜȝȜșȜȔțȜȚȘȜțȤȓȜȠțȎȥȎșȎȟȠȞȜȖȠȓșȪȟȠȐȎȀȎȘȖȚ
ȜȏȞȎȕȜȚȥȓȞȓȝȎȦȘȎȟȚȜȔȓȠțȎȥȎȠȪȝȜȟȠȞȜȗȘȡȟșȓȒȡȬȧȓȗ
ȟȠȓțȩ
ǿȡȧȓȟȠȐȡȓȠȒȐȎȐȎȞȖȎțȠȎȝȓȞȓȚȓȧȓțȖȭȥȓȞȓȝȎȦȘȖ
ȐȘȜțȓȤȟȠȓțȩȐȕȎȐȖȟȖȚȜȟȠȖȜȠȠȜȑȜȐȘȎȘȜȚțȎȝȞȎȐșȓ
țȖȖȜțȎȒȐȖȑȎșȎȟȪȐȝȜȟșȓȒțȖȗȞȎȕdzȟșȖȥȓȞȓȝȎȦȘȎȐȝȜ
ȟșȓȒțȖȗȞȎȕȒȐȖȑȎșȎȟȪȐȝȓȞȓȒȓȓțȎȒȜȝȓȞȓȚȓȟȠȖȠȪȐțȖȕ
heightȞȎȕdzȟșȖȥȓȞȓȝȎȦȘȎȐȝȜȟșȓȒțȖȗȞȎȕȒȐȖȑȎșȎȟȪ
ȐȜȏȞȎȠțȜȚțȎȝȞȎȐșȓțȖȖȓȓțȡȔțȜȝȓȞȓȚȓȟȠȖȠȪȐȝȓȞȓȒ
lengthȞȎȕȎȕȎȠȓȚȜȝȡȟȠȖȠȪheightȞȎȕǼȏȎȐȎȞȖȎțȠȎȝȜ
ȚȓȟȠȭȠȥȓȞȓȝȎȦȘȡțȎȕȓȚșȓȐȘȜțȤȓȟȠȓțȩȘȎȘȝȜȘȎȕȎțȜțȎ
ȞȖȟ
Начало
ˀ̛̭͘ϭϭ͘ϲ͘ˋ̸̡̡̨̨̛̛̖̬̖̪̹̦̖̯̭̯̬̯̖̣̭̯̦̖̥̣̖̣̦̖̥̌̌̌̌̏̌̽̏̌̏̔̌̽̚̚
̶̡̨̦̖̭̯̖̦̼
ȂȡțȘȤȖȭbuildWall()ȝȜȕȐȜșȭȓȠȟȠȞȜȖȠȪȟȠȓțȩșȬȏȜȗ
ȒșȖțȩȖȐȩȟȜȠȩǻȎȝȞȖȚȓȞȓȟșȖȡȠȓȏȭȒȜȟȠȎȠȜȥțȜȏșȜ
ȘȜȐȠȩȚȜȔȓȦȪȟȒȓșȎȠȪȐȩȟȜȘȡȬȟȠȓțȡȘȎȘȝȜȘȎȕȎțȜțȎ
ȞȖȟDzșȭȥȓȞȓȝȎȦȘȖȫȠȜțȓȖȚȓȓȠȕțȎȥȓțȖȭ
204
DZǹǮǰǮ
ˀ̛̭͘ϭϭ͘ϳ͘ʦ̨̡̨̼̭̭̯̖̦̬̥̖̬̥̌́̌̌̚ϰпϭϮ̨̡̨̨̨̨̨̣̪̭̯̬̖̦̪̯̥̱̙̖̍̏̌
̸̨̨̨̛̛̣̬̯̥̱͕̯̭̯̖̦̬̥̖̬̥̌̐̌̌̚ϰпϮ̨̡̣̍̌
DzȎȐȎȗȞȎȟȟȚȜȠȞȖȚȢȡțȘȤȖȬȘȜȠȜȞȎȭȞȓȎșȖȕȡȓȠȫȠȜȠ
ȎșȑȜȞȖȠȚ
ĠğęĖĢĔī*=14,?)44
ȂȡțȘȤȖȭbuildWall()țȎȥȖțȎȓȠȟȭȟȝȜȒȟȥȓȠȎȘȜșȖȥȓȟȠȐȎ
ȝȞȓȒȚȓȠȜȐȐȖțȐȓțȠȎȞȓȥȓȞȓȝȎȦȘȖǽȞȓȒȝȜșȎȑȎȓȠȟȭȥȠȜ
ȐȟȓȫȠȖȫșȓȚȓțȠȩ²ȫȠȜȏșȜȘȖȘȜȠȜȞȩȓȏȡȒȡȠȖȟȝȜșȪȕȜȐȎȠȪȟȭ
ȒșȭȟȠȞȜȖȠȓșȪȟȠȐȎȟȠȓțȩǸȜșȖȥȓȟȠȐȜȏșȜȘȜȐțȓȜȏȣȜȒȖȚȜȓ
ȒșȭȝȜȟȠȞȜȓțȖȭȟȠȓțȩȒșȖțȜȗlengthȖȐȩȟȜȠȜȗheight
ȟȜȟȠȎȐșȭȓȠlength * heightȦȠȡȘȥȠȜȖȝȞȜȐȓȞȭȓȠȟȭȐ
ȟȠȞȜȘȓ
hare
64. -- buildWall ɫɨɡɞɚɟɬɫɬɟɧɭ
65. -- ɪɚɫɩɨɥɨɠɟɧɧɭɸɩɟɪɟɞɱɟɪɟɩɚɲɤɨɣ
ǰǼǵǰdzDzdzǻǶdzǿȀdzǻ
205
66. function buildWall(length, height)
67.
if hare.countInventory() < length * height then
68.
return false -- ɧɟɞɨɫɬɚɬɨɱɧɨɛɥɨɤɨɜ
69.
end
dzȟșȖȡȥȓȞȓȝȎȦȘȖțȓȒȜȟȠȎȠȜȥțȜȏșȜȘȜȐȒșȭȝȜȟȠȞȜȓțȖȭ
ȟȠȓțȩȢȡțȘȤȖȭȐȟȠȞȜȘȓȐȜȕȐȞȎȧȎȓȠȕțȎȥȓțȖȓfalseȎ
ȕȎȠȓȚȕȎȐȓȞȦȎȓȠȐȩȝȜșțȓțȖȓȢȡțȘȤȖȖ
dzȟșȖȏșȜȘȜȐȒȜȟȠȎȠȜȥțȜȖȟȝȜșțȓțȖȓȝȓȞȓȣȜȒȖȠȘȟȠȞȜ
ȘȓȖȥȓȞȓȝȎȦȘȎȝȓȞȓȚȓȧȎȓȠȟȭȐȐȓȞȣțȎȜȒȖțȏșȜȘȥȠȜ
ȏȩțȎȥȎȠȪȟȠȞȜȖȠȓșȪȟȠȐȜȤȓȝȜȥȘȖȏșȜȘȜȐǵȎȠȓȚȝȓȞȓȚȓț
țȜȗmovingForwardȝȞȖȟȐȎȖȐȎȓȠȟȭȕțȎȥȓțȖȓtrue.
hare
71.
72.
73.
turtle.up()
local movingForward = true
ȋȠȎȝȓȞȓȚȓțțȎȭȜȠȟșȓȔȖȐȎȓȠțȎȝȞȎȐșȓțȖȓȒȐȖȔȓțȖȭ
ȥȓȞȓȝȎȦȘȖǽȞȖȟȠȞȜȖȠȓșȪȟȠȐȓȝȓȞȐȜȑȜȞȭȒȎȥȓȞȓȝȎȦȘȎ
ȒȐȖȔȓȠȟȭȐȝȓȞȓȒȝȜȫȠȜȚȡȕțȎȥȓțȖȓȝȓȞȓȚȓțțȜȗmovingForwardȡȟȠȎțȎȐșȖȐȎȓȠȟȭȞȎȐțȩȚtrueǻȜȒșȭȝȜȟȠȞȜȗ
ȘȖȟșȓȒȡȬȧȓȑȜȞȭȒȎȥȓȞȓȝȎȦȘȓțȡȔțȜȒȐȖȑȎȠȪȟȭțȎȕȎȒ
ȝȜȫȠȜȚȡȕțȎȥȓțȖȓȝȓȞȓȚȓțțȜȗȖȕȚȓțȭȓȠȟȭțȎfalseǵțȎ
ȥȓțȖȓȝȓȞȓȚȓțțȜȗȏȡȒȓȠȥȓȞȓȒȜȐȎȠȪȟȭȐȘȎȔȒȜȗȤȓȝȜȥȘȓ
ȏșȜȘȜȐȝȜȟȘȜșȪȘȡȥȓȞȓȝȎȦȘȎȏȡȒȓȠȚȓțȭȠȪțȎȝȞȎȐșȓțȖȓ
ȒȐȖȔȓțȖȭ
ȅȠȜȏȩȟșȓȒȖȠȪȕȎȐȩȟȜȠȜȗȟȠȓțȩȝȜȟȠȞȜȓțțȜȗȥȓȞȓȝȎȦ
ȘȜȗȝȞȜȑȞȎȚȚȓțȡȔțȎȓȧȓȜȒțȎȝȓȞȓȚȓțțȎȭȘȜȠȜȞȡȬȚȩ
țȎȕȜȐȓȚcurrentHeightǰȟȠȞȜȘȓȕȎȝȡȟȘȎȓȠȟȭȤȖȘșfor
ȐȘȜȠȜȞȜȚȝȓȞȓȚȓțțȎȭcurrentHeightȐȩȝȜșțȭȓȠȖȠȓȞȎ
ȤȖȖȜȠ1ȒȜheightǻȎȝȓȞȐȜȗȖȠȓȞȎȤȖȖȝȓȞȓȚȓțțȜȗcurrentHeightȝȞȖȟȐȎȖȐȎȓȠȟȭȕțȎȥȓțȖȓ1țȎȟșȓȒȡȬȧȓȗ²
ȕțȎȥȓțȖȓ2ȖȠȎȘȒȎșȓȓȒȜȝȜȟșȓȒțȓȗȖȠȓȞȎȤȖȖȑȒȓȝȓȞȓ
ȚȓțțȜȗcurrentHeightȝȞȖȟȐȎȖȐȎȓȠȟȭȕțȎȥȓțȖȓȝȓȞȓȚȓț
țȜȗheight.
hare
75.
76.
206
DZǹǮǰǮ
for currentHeight = 1, height do
for currentLength = 1, length do
77.
78.
79.
80.
81.
82.
83.
selectAndPlaceDown() -- ɪɚɡɦɟɳɟɧɢɟ ɛɥɨɤɚ
if movingForward and currentLength ~= length
then
turtle.forward()
elseif not movingForward and currentLength ~=
length then
turtle.back()
end
end
ǻȜȝȜȚȓȞȓȡȐȓșȖȥȓțȖȭȐȩȟȜȠȩȟȠȓțȩȠȎȘȔȓțȓȜȏȣȜȒȖȚȜ
ȜȠȟșȓȔȖȐȎȠȪȒșȖțȡȘȎȔȒȜȑȜȞȭȒȎțȎȘȎȔȒȜȚȦȎȑȓȐȩȟȜ
ȠȩDzșȭȫȠȜȑȜȚȩȏȡȒȓȚȖȟȝȜșȪȕȜȐȎȠȪȒȞȡȑȡȬȝȓȞȓȚȓțțȡȬ
țȎȕȩȐȎȓȚȡȬcurrentLengthȘȜȠȜȞȎȭȜȏȨȭȐșȭȓȠȟȭȐȜȐșȜ
ȔȓțțȜȚȤȖȘșȓforȐȟȠȞȜȘȓȋȠȜȠȤȖȘșȐșȜȔȓțȐȤȖȘș
forțȎȥȎȐȦȖȗȟȭȐȟȠȞȜȘȓǻȎȘȎȔȒȜȗȖȠȓȞȎȤȖȖȜȟțȜȐțȜ
ȑȜȤȖȘșȎforȝȞȜȑȞȎȚȚȎȕȎȝȡȟȘȎȓȠȖȐșȜȔȓțțȩȗȤȖȘșfor.
ǶȠȓȞȎȤȖȖȫȠȜȑȜȐșȜȔȓțțȜȑȜȤȖȘșȎȝȞȜȖȕȐȜȒȭȠȟȭȟȜȑșȎȟțȜ
ȕțȎȥȓțȖȬȝȓȞȓȚȓțțȜȗcurrentLengthȜȠ1ȒȜlengthǻȎ
ȞȖȟȝȜȘȎȕȎțȜȘȎȘȖȓȕțȎȥȓțȖȭȝȓȞȓȚȓțțȩȓcurrentHeightȖcurrentLengthȝȞȖțȖȚȎȬȠȐȘȎȔȒȜȗȠȜȥȘȓȝȜ
ȟȠȞȜȓțȖȭȟȠȓțȩȞȎȕȚȓȞȜȚðȏșȜȘȎǸȞȎȟțȎȭȟȠȞȓșȘȎȡȘȎ
ȕȩȐȎȓȠțȎȝȞȎȐșȓțȖȓȒȐȖȔȓțȖȭȥȓȞȓȝȎȦȘȖ
currentHeight
Start
currentLength
4
1
2
3
4
3
4
3
2
1
2
1
2
3
4
1
4
3
2
1
Start
ˀ̛̭͘ϭϭ͘ϴ͘ʯ̸̵̛̦̖̦̪̖̬̖̥̖̦̦̼̌́currentHeight̛currentLength̏
̶̡̨̨̨̨̨̛̛̛̛̙̜̪̪̭̯̬̖̦̭̯̖̦̼̬̥̖̬̥̌̔́̌̚̚ϰпϰ̨̡̣̍̌
ǰțȡȠȞȖȤȖȘșȎȐȟȠȞȜȘȓȐȩȕȩȐȎȓȠȟȭȢȡțȘȤȖȭselectAndPlaceDown()ȥȠȜȏȩȡȟȠȎțȜȐȖȠȪȏșȜȘȝȜȒȥȓȞȓȝȎȦȘȜȗ
ǸȜȒȐȟȠȞȜȘȎȣ²ȝȓȞȓȚȓȧȎȓȠȥȓȞȓȝȎȦȘȡȐȝȓȞȓȒȖșȖțȎ
ǰǼǵǰdzDzdzǻǶdzǿȀdzǻ
207
ȕȎȒȐȕȎȐȖȟȖȚȜȟȠȖȜȠȕțȎȥȓțȖȭȝȓȞȓȚȓțțȜȗmovingForward
ȖȠȓȘȡȧȓȑȜȝȜșȜȔȓțȖȭȥȓȞȓȝȎȦȘȖǽȓȞȓȚȓțțȎȭcurrentLengthȝȜȒȟȥȖȠȩȐȎȓȠȟȘȜșȪȘȜȏșȜȘȜȐȝȜȐȟȓȗȒșȖțȓȞȭȒȎ
ȡȔȓȝȜșȜȔȓțȜǸȜȑȒȎȓȓȕțȎȥȓțȖȓȒȜȟȠȖȑȎȓȠlengthȥȓȞȓ
ȝȎȦȘȎȜȟȠȎțȎȐșȖȐȎȓȠȟȭȥȠȜȏȩțȓȐȩȗȠȖȕȎȘȞȎȗȟȠȓțȩ
ǻȎȝȜȚțȬȥȠȜȥȓȞȓȝȎȦȘȓțȓțȡȔțȜȒȐȖȑȎȠȪȟȭțȎȝȜ
ȟșȓȒțȓȗȖȠȓȞȎȤȖȖǽȜȟȘȜșȪȘȡȤȖȘșforțȎȥȎȐȦȖȗȟȭȐ
ȟȠȞȜȘȓȝȞȜȖȕȐȜȒȖȠȖȠȓȞȎȤȖȖȜȠ1ȒȜlengthțȎȝȜȟșȓȒ
țȓȚȦȎȑȓȝȓȞȓȚȓțțȎȭcurrentLengthȝȞȖțȖȚȎȓȠȕțȎȥȓțȖȓ
lengthǽȜȫȠȜȚȡȡȟșȜȐȖȭȐȟȠȞȜȘȎȣȖȐȩȝȜșțȭȬȠȟȭ
ȠȜșȪȘȜȐȠȜȚȟșȡȥȎȓȓȟșȖȕțȎȥȓțȖȓȝȓȞȓȚȓțțȜȗcurrentLengthțȓȞȎȐțȜ ~= length.
ǶțȟȠȞȡȘȤȖȭendȐȟȠȞȜȘȓȕȎȐȓȞȦȎȓȠȤȖȘșforțȎȥȎȐ
ȦȖȗȟȭȐȟȠȞȜȘȓȋȠȜȠȤȖȘșȕȎȐȓȞȦȎȓȠȟȭȘȜȑȒȎȝȜșțȜ
ȟȠȪȬȕȎȘȎțȥȖȐȎȓȠȟȭȟȠȞȜȖȠȓșȪȟȠȐȜȞȭȒȎ
DzȎșȓȓȓȟșȖȥȓȞȓȝȎȦȘȎțȓțȎȣȜȒȖȠȟȭțȎȝȜȟșȓȒțȓȗȖȠȓ
ȞȎȤȖȖȤȖȘșȎforțȎȥȎȐȦȓȑȜȟȭȐȟȠȞȜȘȓȓȗțȎȒȜȝȓȞȓ
ȚȓȟȠȖȠȪȟȭțȎȜȒțȡȝȜȕȖȤȖȬȐȐȓȞȣǰȩȕȜȐȢȡțȘȤȖȖturtle.
up()ȐȟȠȞȜȘȓȐȩȝȜșțȖȠȫȠȜȝȓȞȓȚȓȧȓțȖȓȠȜșȪȘȜȐȠȜȚ
ȟșȡȥȎȓȓȟșȖȕțȎȥȓțȖȓȝȓȞȓȚȓțțȜȗcurrentHeightțȓȞȎȐ
țȜheight ȠȜȓȟȠȪȓȟșȖȤȖȘșforțȓȟȜȐȓȞȦȎȓȠȝȜȟșȓȒțȬȬ
ȖȠȓȞȎȤȖȬ
hare
84.
85.
86.
87.
88.
if currentHeight ~= height then
turtle.up()
end
movingForward = not movingForward
end
ǸȜȒȐȟȠȞȜȘȓȝȓȞȓȘșȬȥȎȓȠ²ȝȞȖȟȐȎȖȐȎȓȠȝȞȜȠȖȐȜȝȜ
șȜȔțȜȓȕțȎȥȓțȖȓ²șȜȑȖȥȓȟȘȜȗȝȓȞȓȚȓțțȜȗmovingForward.
dzȟșȖȝȓȞȓȚȓțțȜȗȝȞȖȟȐȜȓțȜȕțȎȥȓțȖȓtrueȘȜȒȝȞȖȟȐȎȖȐȎ
ȓȠȓȗȕțȎȥȓțȖȓ falseȖțȎȜȏȜȞȜȠdzȟșȖȥȓȞȓȝȎȦȘȎȒȐȖȑȎ
șȎȟȪȐȝȓȞȓȒȥȠȜȏȩȝȜȟȠȞȜȖȠȪȟȎȚȩȗȐȩȟȜȘȖȗȞȭȒȏșȜȘȜȐ
ȠȜȝȓȞȓȘșȬȥȎȠȓșȪȝȞȖȟȐȜȖȠȝȓȞȓȚȓțțȜȗmovingForward
ȕțȎȥȓțȖȓfalsedzȟșȖȥȓȞȓȝȎȦȘȎȒȐȖȑȎșȎȟȪțȎȕȎȒȥȠȜȏȩ
ȝȜȟȠȞȜȖȠȪȟȎȚȩȗȐȩȟȜȘȖȗȞȭȒȏșȜȘȜȐȠȜȝȓȞȓȘșȬȥȎȠȓșȪ
ȐȟȠȞȜȘȓȝȞȖȟȐȜȖȠȝȓȞȓȚȓțțȜȗmoveForwardȕțȎȥȓțȖȓ
208
DZǹǮǰǮ
trueǸȜȒȐȟȠȞȜȘȓȖȕȚȓțȭȓȠșȜȑȖȥȓȟȘȜȓȕțȎȥȓțȖȓȝȓȞȓ
ȚȓțțȜȗmovingForwardțȎȝȞȜȠȖȐȜȝȜșȜȔțȜȓȟȝȜȚȜȧȪȬ
ȝȞȜȟȠȜȗȘȜȚȎțȒȩnot movingForward.
ǶțȟȠȞȡȘȤȖȭendȐȟȠȞȜȘȓȕȎȐȓȞȦȎȓȠȤȖȘșforȘȜ
ȠȜȞȩȗțȎȥȎșȟȭȐȟȠȞȜȘȓȋȠȜȠȤȖȘșȕȎȐȓȞȦȎȓȠȟȭȓȟșȖ
ȝȜȟȠȞȜȗȘȎȟȠȓțȩȕȎȐȓȞȦȓțȎȀȓȝȓȞȪȥȓȞȓȝȎȦȘȓțȡȔțȜȐȓȞ
țȡȠȪȟȭțȎȕȓȚșȬDzșȭȫȠȜȑȜȓȗțȡȔțȜȝȜȝȎȟȠȪțȎȟȠȜȞȜțȡ
ȝȞȜȠȖȐȜȝȜșȜȔțȡȬțȎȥȎșȡȟȠȞȜȖȠȓșȪȟȠȐȎȎȕȎȠȓȚȟȝȡȟȠȖȠȪ
ȟȭțȎȕȓȚșȬ
ǻȎȝȜȚțȬȥȠȜȘȜȒȐȟȠȞȜȘȓȝȓȞȓȘșȬȥȎȓȠȕțȎȥȓțȖȓ
ȝȓȞȓȚȓțțȜȗmovingForwardȥȠȜȏȩȖȕȚȓțȖȠȪțȎȝȞȎȐșȓțȖȓ
ȒȐȖȔȓțȖȭȥȓȞȓȝȎȦȘȖȀȎȘȓȟșȖȝȓȞȓȚȓțțȜȗmovingForwardȝȞȖȟȐȜȓțȜȕțȎȥȓțȖȓtrueȥȓȞȓȝȎȦȘȎȏșȖȔȓȐȟȓȑȜȘ
ȖȟȣȜȒțȜȗȠȜȥȘȓǽȜȫȠȜȚȡȥȠȜȏȩȟȜȗȠȖȟȜȟȠȓțȩȥȓȞȓȝȎȦȘȓ
țȓȜȏȣȜȒȖȚȜȝȓȞȓȚȓȟȠȖȠȪȟȭȐȝȓȞȓȒlengthȞȎȕȥȠȜȜțȎȖȒȓ
șȎȓȠȐȟȠȞȜȘȎȣȖ
hare
90.
91.
92.
93.
94.
95.
-- ɫɬɟɧɚɝɨɬɨɜɚɩɟɪɟɯɨɞɤɮɢɧɚɥɶɧɨɣɩɨɡɢɰɢɢ
if movingForward then
-- ɱɟɪɟɩɚɲɤɚɨɤɨɥɨɧɚɱɚɥɶɧɨɣɩɨɡɢɰɢɢ
for currentLength = 1, length do
turtle.forward()
end
ǻȜȓȟșȖȝȓȞȓȚȓțțȜȗmovingForwardȝȞȖȟȐȜȓțȜȕțȎȥȓ
țȖȓfalseȥȓȞȓȝȎȦȘȎȡȔȓțȎȣȜȒȖȠȟȭțȎȝȞȜȠȖȐȜȝȜșȜȔțȜȚ
ȘȜțȤȓȟȠȓțȩȖȝȜȫȠȜȚȡȓȗȒȜȟȠȎȠȜȥțȜȝȓȞȓȚȓȟȠȖȠȪȟȭȠȜșȪ
ȘȜțȎȜȒȖțȦȎȑȐȝȓȞȓȒȥȠȜȖȝȞȜȖȟȣȜȒȖȠȐȟȠȞȜȘȓ
hare
96.
97.
98.
99.
else
-- ɱɟɪɟɩɚɲɤɚɨɤɨɥɨɮɢɧɚɥɶɧɨɣɩɨɡɢɰɢɢ
turtle.forward()
end
ǻȓȕȎȐȖȟȖȚȜȜȠȠȜȑȜȒȐȖȑȎșȎȟȪȥȓȞȓȝȎȦȘȎȐȝȓȞȓȒȖșȖ
țȎȕȎȒȥȠȜȏȩȜȝȡȟȠȖȠȪȟȭțȎȕȓȚșȬȓȗțȡȔțȜȝȓȞȓȚȓȟȠȖȠȪ
ȟȭțȎheightȦȎȑȜȐȐțȖȕȝȜȫȠȜȚȡȤȖȘșforȐȟȠȞȜȘȓ
ǰǼǵǰdzDzdzǻǶdzǿȀdzǻ
209
ȐȩȕȩȐȎȓȠȢȡțȘȤȖȬturtle.dow n()ȟȜȐȓȞȦȎȭheight
ȖȠȓȞȎȤȖȗ.
hare
101.
-- ɫɩɭɫɤ ɧɚ ɡɟɦɥɸ
102.
for currentHeight = 1, height do
103.
turtle.down()
104.
end
105.
106.
return true
107. end
ǸȜȑȒȎȟȠȓțȎȝȜȟȠȞȜȓțȎȎȥȓȞȓȝȎȦȘȎțȎȣȜȒȖȠȟȭȐȢȖ
țȎșȪțȜȗȝȜȕȖȤȖȖȢȡțȘȤȖȭbuildWall()ȐȜȕȐȞȎȧȎȓȠȕțȎ
ȥȓțȖȓtrueȐȟȠȞȜȘȓȡȘȎȕȩȐȎȭțȎȠȜȥȠȜȟȠȓțȎȡȟȝȓȦ
țȜȝȜȟȠȞȜȓțȎǶțȟȠȞȡȘȤȖȭendȐȟȠȞȜȘȓȕȎȐȓȞȦȎȓȠȘȜȒ
ȢȡțȘȤȖȖbuildWall().
ȂȡțȘȤȖȭbuildWall()ȘȜȠȜȞȡȬȚȩȒȜȏȎȐȖșȖȐȚȜȒȡșȪ
hareȜȥȓțȪȝȜșȓȕțȎȝȜȠȜȚȡȥȠȜȐȜȕȐȓȒȓțȖȓȟȠȓț²ȫȠȜȝȞȜ
ȤȓȟȟȘȜȠȜȞȩȗȠȩȐȜȕȚȜȔțȜȕȎȣȜȥȓȦȪȝȜȐȠȜȞȖȠȪȐȜȚțȜ
ȑȖȣȝȞȜȑȞȎȚȚȎȣǻȜȓȟșȖȠȩȝȞȜȟȠȜȣȜȥȓȦȪȝȜȟȠȞȜȖȠȪȟȠȓ
țȡȖțȓțȎȚȓȞȓțȕȎȝȡȟȘȎȠȪȜȏȜșȜȥȘȡ/XDȝȜȠȜȚțȎȏȖȞȎȠȪ
ȘȜȚȎțȒȩos.loadAPI('hare')Ȗhare.buildWall(4, 2)
ȚȜȔțȜțȎȝȖȟȎȠȪȝȞȜȑȞȎȚȚȡȘȜȠȜȞȎȭȐȟȓȫȠȜȟȒȓșȎȓȠȟȎȚȜ
ȟȠȜȭȠȓșȪțȜDzȎȐȎȗȟȜȕȒȎȒȖȚȠȎȘȡȬȝȞȜȑȞȎȚȚȡȖțȎȕȜȐȓȚ
ȓȓbuildwall.
ĜČēĜČčĚĞĖČĔēČěğĝĖěĜĚďĜČĘĘħ
*=14,?)44
ǰȜȏȜșȜȥȘȓȘȜȚȎțȒțȜȗȟȠȞȜȘȖȐȩȝȜșțȖȘȜȚȎțȒȡe d it
buildwallȖȐȐȓȒȖȟșȓȒȡȬȧȖȗȘȜȒ
buildwall
>>ɉɪɨɝɪɚɦɦɚɞɥɹɫɬɪɨɢɬɟɥɶɫɬɜɚɫɬɟɧɗɥɚɋɜɟɣɝɚɪɬɚ
ɋɬɪɨɢɬɫɬɟɧɵ@@
3.
4. os.loadAPI('hare')
5.
210
DZǹǮǰǮ
ɨɛɪɚɛɨɬɤɚɚɪɝɭɦɟɧɬɨɜɤɨɦɚɧɞɧɨɣɫɬɪɨɤɢ
7. local cliArgs = {...}
8. local length = tonumber(cliArgs[1])
9. local height = tonumber(cliArgs[2])
10.
11. if length == nil or height == nil or cliArgs[1] ==
" WKHQ
12.
print('Usage: buildwall ')
13.
return
14. end
15.
16. print('Building...')
17. if hare.buildWall(length, height) == false then
HUURU ɇɟɞɨɫɬɚɬɨɱɧɨɛɥɨɤɨɜ¾
19. end
20. print('Done.')
ǿȜȣȞȎțȖȝȞȜȑȞȎȚȚȡȖȐȩȗȒȖȖȕȞȓȒȎȘȠȜȞȎȝȜȟșȓȐȐȜȒȎ
ȐȟȓȣȖțȟȠȞȡȘȤȖȗ
ȁȟȠȎțȜȐȖȐȥȓȞȓȝȎȦȘȡȖȝȜȚȓȟȠȖȐȏșȜȘȖȘȎȚȓțțȜȑȜȘȖȞ
ȝȖȥȎ ȖșȖșȬȏȜȑȜȒȞȡȑȜȑȜȟȠȞȜȖȠȓșȪțȜȑȜȏșȜȘȎ ȐȓȓȖțȐȓț
ȠȎȞȪȧȓșȘțȖȝȜțȓȗȝȞȎȐȜȗȘțȜȝȘȜȗȚȩȦȖȒșȭȜȠȘȞȩȠȖȭ
ȓȓȑȞȎȢȖȥȓȟȘȜȑȜȖțȠȓȞȢȓȗȟȎȅȠȜȏȩȝȜȟȚȜȠȞȓȠȪȘȎȘȥȓȞȓ
ȝȎȦȘȎȟȠȞȜȖȠȟȠȓțȡȐȥȓȠȩȞȓȏșȜȘȎȒșȖțȜȗȖȒȐȎȏșȜȘȎȐȩ
ȟȜȠȜȗȐȜȏȜșȜȥȘȓȘȜȚȎțȒțȜȗȟȠȞȜȘȖȐȐȓȒȖedit buildwall
4 2ȖțȎȔȚȖȠȓȘșȎȐȖȦȡEnter.
dzȟșȖȝȞȖȕȎȝȡȟȘȓȫȠȜȗȝȞȜȑȞȎȚȚȩȐȜȕțȖȘȎȬȠȜȦȖȏȘȖ
ȠȧȎȠȓșȪțȜȟȞȎȐțȖȟȐȜȗȘȜȒȟșȖȟȠȖțȑȜȚȐȫȠȜȗȘțȖȑȓȥȠȜ
ȏȩȖȟȘșȬȥȖȠȪȐȜȕȚȜȔțȩȓȜȝȓȥȎȠȘȖdzȟșȖȖȟȝȞȎȐȖȠȪȝȞȜ
ȑȞȎȚȚȡțȓȡȒȎȓȠȟȭȡȒȎșȖȢȎȗșȐȩȝȜșțȖȐȘȜȚȎțȒȡdelete
buildwallȎȕȎȠȓȚȕȎȑȞȡȕȖȘȜȒȐȩȝȜșțȖȐȘȜȚȎțȒȡpastebin get 1aZ8BhNX buildwall.
ēČďĜğēĖČĘĚĐğėī0):ɉɟɪɜɚɹɱɚɫɬɶɩɪɨɝɪɚɦɦɵbuildwallɡɚɝɪɭɠɚɟɬɦɨɞɭɥɶhareɢ
ɜɵɡɵɜɚɟɬɮɭɧɤɰɢɸhare.buildWall()
buildwall
>>ɉɪɨɝɪɚɦɦɚɞɥɹɫɬɪɨɢɬɟɥɶɫɬɜɚɫɬɟɧɗɥɚɋɜɟɣɝɚɪɬɚ
ɋɬɪɨɢɬɫɬɟɧɵ@@
ǰǼǵǰdzDzdzǻǶdzǿȀdzǻ
211
3.
4. os.loadAPI('hare')
ȃȜȠȭȕțȎȥȖȠȓșȪțȎȭȥȎȟȠȪȞȎȏȜȠȩȐȩȝȜșțȭȓȠȟȭȟȝȜȚȜ
ȧȪȬȘȜȒȎȚȜȒȡșȭhareȝȞȜȑȞȎȚȚȎbuildwallȟȜȒȓȞȔȖȠ
țȓȘȜȠȜȞȩȓȒȜȝȜșțȖȠȓșȪțȩȓȢȡțȘȤȖȖǽȞȖȐȩȕȜȐȓȢȡțȘ
ȤȖȖhare.buildWall()ȝȞȜȑȞȎȚȚȎȒȜșȔțȎȕțȎȠȪȘȎȘȖȓ
ȕțȎȥȓțȖȭȟșȓȒȡȓȠȝȓȞȓȒȎȐȎȠȪȐȐȖȒȓȝȎȞȎȚȓȠȞȜȐlengthȖ
heightǽȞȜȑȞȎȚȚȎbuildwallȚȜȔȓȠȝȜșȡȥȎȠȪȫȠȖȕțȎȥȓ
țȖȭȖȕȎȞȑȡȚȓțȠȜȐȘȜȚȎțȒțȜȗȟȠȞȜȘȖȘȜȠȜȞȩȓȐȐȓȒȓȠȖȑȞȜȘ
ȝȞȖȕȎȝȡȟȘȓȝȞȜȑȞȎȚȚȩbuildwallȖȕȜȏȜșȜȥȘȖȘȜȚȎțȒțȜȗ
ȟȠȞȜȘȖǾȎțȓȓȠȩȝȓȞȓȒȎșȝȞȜȑȞȎȚȚȓbuildwallȐȘȎȥȓȟȠȐȓ
ȎȞȑȡȚȓțȠȜȐȘȜȚȎțȒțȜȗȟȠȞȜȘȖȕțȎȥȓțȖȭ4Ȗ2ǮȞȑȡȚȓțȠȩ
ȘȜȚȎțȒțȜȗȟȠȞȜȘȖȠȩȡȔȓȖȟȝȜșȪȕȜȐȎșȝȞȖȕȎȝȡȟȘȓȒȞȡȑȖȣ
ȝȞȜȑȞȎȚȚǻȎȝȞȖȚȓȞȐȑșȎȐȓȘȜȑȒȎȠȩȕȎȝȡȟȘȎșȝȞȜ
ȑȞȎȚȚȡlabelȠȩțȎȕțȎȥȎșȖȚȭȥȓȞȓȝȎȦȘȓȘȜȚȎțȒȜȗset
SofonisbaȐȟȠȞȜȘȓlabel set SofonisbaǮȞȑȡȚȓțȠȩȘȜ
ȚȎțȒțȜȗȟȠȞȜȘȖȟȜȣȞȎțȭȬȠȟȭȘȎȘȟȝȓȤȖȎșȪțȩȓȠȎȏșȖȥțȩȓ
ȕțȎȥȓțȖȭțȎȕȩȐȎȓȚȩȓȚȎȟȟȖȐȜȚȋȠȜȜȏȨȓȘȠ/XDȟȖȚȓțȓȚ
{...}ȘȜȠȜȞȩȗȟȜȟȠȜȖȠȖȕȒȐȡȣȢȖȑȡȞțȩȣȟȘȜȏȜȘȟȠȞȓȚȭ
ȝȞȜȏȓșȎȚȖȚȓȔȒȡțȖȚȖǽȞȓȔȒȓȥȓȚȞȎȟȟȚȜȠȞȓȠȪȘȜȒȘȜ
ȠȜȞȩȗȜȏȞȎȏȎȠȩȐȎȓȠȎȞȑȡȚȓțȠȩȘȜȚȎțȒțȜȗȟȠȞȜȘȖȒȎȐȎȗ
ȝȜȟȚȜȠȞȖȚȘȎȘȞȎȏȜȠȎȬȠȚȎȟȟȖȐȩ
ĔĝěĚėĨēĚĎČęĔđĘČĝĝĔĎĚĎ
ȀȎȏșȖȤȩȜȘȜȠȜȞȩȣȠȩȡȕțȎșȖȕȑșȎȐȩȚȜȑȡȠȣȞȎțȖȠȪ
țȓȟȘȜșȪȘȜȕțȎȥȓțȖȗǺȎȟȟȖȐȩ²ȫȠȜȒȞȡȑȜȗȠȖȝȒȎțțȩȣ
ȘȜȠȜȞȩȗȠȜȔȓȚȜȔȓȠȟȜȣȞȎțȭȠȪțȓȟȘȜșȪȘȜȕțȎȥȓțȖȗȜȒțȜ
ȐȞȓȚȓțțȜǵțȎȥȓțȖȭȐȠȎȏșȖȤȓȣȞȎțȭȠȟȭȐȐȖȒȓȝȎȞȘșȬȥ
ȕțȎȥȓțȖȓȠȜȑȒȎȘȎȘȕțȎȥȓțȖȭȐȚȎȟȟȖȐȎȣȣȞȎțȭȠȟȭȡȝȜȞȭȒȜ
ȥȓțțȜǵțȎȥȓțȖȭȐȚȎȟȟȖȐȓȠȎȘȔȓțȎȕȩȐȎȬȠȟȭȫșȓȚȓțȠȎȚȖ
ȚȎȟȟȖȐȎȅȠȜȏȩȝȜșȡȥȖȠȪȒȜȟȠȡȝȘȘȎȘȜȚȡșȖȏȜȕțȎȥȓțȖȬ
ȣȞȎțȭȧȓȚȡȟȭȐȚȎȟȟȖȐȓțȡȔțȜȡȘȎȕȎȠȪȥȖȟșȜȐȜȓȕțȎȥȓțȖȓ
ȘȜȠȜȞȜȓȜȝȞȓȒȓșȭȓȠȞȎȟȝȜșȜȔȓțȖȓȫȠȜȑȜȫșȓȚȓțȠȎȚȎȟȟȖȐȎ
ȖțȎȕȩȐȎȓȠȟȭȖțȒȓȘȟȜȚ.
ǽȞȖȚȓȥȎțȖȓ ȀȓȣțȖȥȓȟȘȖȚȎȟȟȖȐȩȐLua²ȫȠȜȓȧȓȜȒȖț
ȠȖȝȠȎȏșȖȥțȩȣȒȎțțȩȣȀȎȏșȖȤȩȟȝȎȞȎȚȖȘșȬȥȕțȎȥȓțȖȓ
212
DZǹǮǰǮ
ȘȜȠȜȞȩȓ Țȩ ȖȟȝȜșȪȕȜȐȎ șȖ Ȑ ȝȞȓȒȩȒȡȧȖȣ ȑșȎȐȎȣ țȎȕȩȐȎȬȠȟȭ ȘȎȞȠȜȝȜȒȜȏțȩȚȖ ȠȎȏșȖȤȎȚȖ Ȏ ȚȎȟȟȖȐȩ ²
ȚȎȟȟȖȐȜȝȜȒȜȏțȩȚȖȠȎȏșȖȤȎȚȖ.
ǸȜȒȒșȭȚȎȟȟȖȐȜȐȎțȎșȜȑȖȥȓțȘȜȒȡȒșȭȠȎȏșȖȤǽȞȖȟȜȕ
ȒȎțȖȖȚȎȟȟȖȐȎȖȟȝȜșȪȕȡȗȢȖȑȡȞțȩȓȟȘȜȏȘȖ{}ȘȎȘȖȝȞȖ
ȟȜȕȒȎțȖȖȠȎȏșȖȤțȜȜȝȡȟȠȖȘșȬȥȖǸșȬȥȖȐȐȜȒȖȠȪțȓțȡȔ
țȜȝȜȠȜȚȡȥȠȜȐȚȎȟȟȖȐȓȝȜȕȖȤȖȭȕțȎȥȓțȖȭ²ȫȠȜȓȑȜȖțȒȓȘȟ
ȅȠȜȏȩȟȜȕȒȎȠȪȟȜȏȟȠȐȓțțȩȗȚȎȟȟȖȐȐȖțȠȓȞȎȘȠȖȐțȜȗ
ȜȏȜșȜȥȘȓȐȐȓȒȖȟșȓȒȡȬȧȡȬȘȜȚȎțȒȡ
lua> pets = {'mouse', 'cat', 'dog'}
ȅȠȜȏȩȝȜșȡȥȖȠȪȒȜȟȠȡȝȘȘȎȘȜȚȡșȖȏȜȕțȎȥȓțȖȬȟȜȣȞȎ
țȓțțȜȚȡȐȚȎȟȟȖȐȓȐȐȓȒȖȖȚȭȚȎȟȟȖȐȎȖȡȘȎȔȖȐȘȐȎȒȞȎȠ
țȩȣȟȘȜȏȘȎȣ[] ȖțȒȓȘȟțȡȔțȜȑȜȫșȓȚȓțȠȎ
lua> pets[1]
mouse
lua> pets[2]
cat
lua> 'I have a pet ' .. pets[3]
I have a pet dog
ǰȭȕȩȘȓ/XDȐȜȠșȖȥȖȓȜȠȒȞȡȑȖȣȭȕȩȘȜȐȝȞȜȑȞȎȚȚȖ
ȞȜȐȎțȖȭțȡȚȓȞȎȤȖȭȫșȓȚȓțȠȜȐȚȎȟȟȖȐȎțȎȥȖțȎȓȠȟȭȟ
ȝȜȫȠȜȚȡȒșȭȒȜȟȠȡȝȎȘȝȓȞȐȜȚȡȕțȎȥȓțȖȬȐȚȎȟȟȖȐȓpets
țȡȔțȜȐȐȓȟȠȖȘȜȚȎțȒȡpets[1].
ĔĝěĚėĨēĚĎČęĔđČĜďğĘđęĞĚĎ
ĖĚĘČęĐęĚĕĝĞĜĚĖĔ
ǰȜȕȐȞȎȧȎȭȟȪȘȝȞȜȑȞȎȚȚȓbuildwallȟȘȎȔȡȥȠȜȘȜȒȐ
ȟȠȞȜȘȓȟȜȣȞȎțȭȓȠȕțȎȥȓțȖȭȚȎȟȟȖȐȎȎȞȑȡȚȓțȠȜȐȘȜȚȎțȒ
țȜȗȟȠȞȜȘȖȐȝȓȞȓȚȓțțȜȗȟȖȚȓțȓȚcliArgsȋȠȎȝȓȞȓȚȓț
țȎȭȝȜȕȐȜșȭȓȠȝȜșȡȥȎȠȪȒȜȟȠȡȝȘȜȠȒȓșȪțȩȚȕțȎȥȓțȖȭȚ
ȐțȡȠȞȖȚȎȟȟȖȐȎȟȝȜȚȜȧȪȬȘȐȎȒȞȎȠțȩȣȟȘȜȏȜȘcliArgs
[1]²ȫȠȜȝȓȞȐȩȗȎȞȑȡȚȓțȠȘȜȚȎțȒțȜȗȟȠȞȜȘȖcliArgs
[2]²ȐȠȜȞȜȗȖȠȒ
ǰǼǵǰdzDzdzǻǶdzǿȀdzǻ
213
buildwall
ɨɛɪɚɛɨɬɤɚɚɪɝɭɦɟɧɬɨɜɤɨɦɚɧɞɧɨɣɫɬɪɨɤɢ
7. local cliArgs = {...}
8. local length = tonumber(cliArgs[1])
9. local height = tonumber(cliArgs[2])
ǰȟȓȕțȎȥȓțȖȭȎȞȑȡȚȓțȠȜȐȘȜȚȎțȒțȜȗȟȠȞȜȘȖȟȜȣȞȎțȭȬȠ
ȟȭȐȐȖȒȓȟȠȞȜȘȒȎȔȓȓȟșȖȜțȖȐȩȑșȭȒȭȠȘȎȘȥȖȟșȎțȎȝȞȖ
ȚȓȞ'4'ȖșȖ'2'ȅȠȜȏȩȝȞȓȜȏȞȎȕȜȐȎȠȪȕțȎȥȓțȖȭȖȕȟȠȞȜȘȜȐȜ
ȑȜȠȖȝȎȐȥȖȟșȜȐȜȗȘȜȒȐȟȠȞȜȘȎȣȖȝȓȞȓȒȎȓȠȎȞȑȡȚȓțȠȩ
ȘȜȚȎțȒțȜȗȟȠȞȜȘȖȐȢȡțȘȤȖȬtonumber()ȘȜȠȜȞȎȭȐȜȕȐȞȎ
ȧȎȓȠȥȖȟșȜȐȩȓȕțȎȥȓțȖȭȝȓȞȓȒȎțțȩȣȟȠȞȜȘǺȩȟȜȣȞȎțȖȚ
ȫȠȖȥȖȟșȜȐȩȓȕțȎȥȓțȖȭȐȝȓȞȓȚȓțțȩȣlengthȖheight.
ĎħĎĚĐĝĚĚčĥđęĔĕěĚėĨēĚĎČĞđėĪ
dzȟșȖȖȑȞȜȘțȓȐȐȜȒȖȠȎȞȑȡȚȓțȠȩȘȜȚȎțȒțȜȗȟȠȞȜȘȖ ȖșȖ
ȐȐȜȒȖȠȠȜșȪȘȜȜȒȖțȐȚȓȟȠȜȒȐȡȣ ȖțȢȜȞȚȎȤȖȖȒșȭȕȎȝȡȟȘȎ
ȝȞȜȑȞȎȚȚȩȏȡȒȓȠțȓȒȜȟȠȎȠȜȥțȜǰȜȕȚȜȔțȜȖȑȞȜȘțȓȕțȎ
ȓȠȥȠȜȒȜșȔȓțȐȐȓȟȠȖȕțȎȥȓțȖȭȒșȭȝȓȞȓȚȓțțȩȣlength
ȖheightȖșȖȚȜȔȓȠȏȩȠȪȜțȕȎȏȩșțȎȏȞȎȠȪȖȣǰȠȎȘȖȣ
ȟșȡȥȎȭȣȝȜșȓȕțȜȥȠȜȏȩȝȞȜȑȞȎȚȚȎȜȠȜȏȞȎȔȎșȎȟȜȜȏȧȓțȖȓ
ȘȜȠȜȞȜȓțȎȝȜȚțȖȠȖȑȞȜȘȡȘȎȘȓȓȝȞȎȐȖșȪțȜȕȎȝȡȟȠȖȠȪdzȟ
șȖȖȑȞȜȘȡȘȎȔȓȠȟȖȚȐȜș"ȐȘȎȥȓȟȠȐȓȝȓȞȐȜȑȜȎȞȑȡȚȓțȠȎȘȜ
ȚȎțȒțȜȗȟȠȞȜȘȖȠȎȘȔȓȝȜȭȐȖȠȟȭȟȜȜȏȧȓțȖȓ
buildwall
11. if length == nil or height == nil or cliArgs[1] ==
" WKHQ
12.
print('Usage: buildwall ')
13.
return
14. end
dzȟșȖȎȞȑȡȚȓțȠȩȘȜȚȎțȒțȜȗȟȠȞȜȘȖȜȠȟȡȠȟȠȐȡȬȠȖșȖțȓ
ȭȐșȭȬȠȟȭȥȖȟșȎȚȖȝȓȞȓȚȓțțȩȚcliArgs[1]ȖcliArgs[2]
ȏȡȒȓȠȝȞȖȟȐȜȓțȜȕțȎȥȓțȖȓnildzȟșȖȐȢȡțȘȤȖȬtonumber()
ȝȓȞȓȒȎȠȪȕțȎȥȓțȖȓnilȖșȖȟȠȞȜȘȡȘȜȠȜȞȎȭțȓȟȜȒȓȞȔȖȠ
ȥȖȟșȎȜțȎȐȓȞțȓȠnilǻȎȝȞȖȚȓȞȓȟșȖȖȑȞȜȘțȓȡȘȎȔȓȠȎȞ
ȑȡȚȓțȠȩȘȜȚȎțȒțȜȗȟȠȞȜȘȖȐȟȠȞȜȘȓȝȓȞȓȚȓțțȜȗlength
ȏȡȒȓȠȝȞȖȟȐȜȓțȜȕțȎȥȓțȖȓnildzȟșȖȖȑȞȜȘȝȓȞȓȒȎȓȠȠȜșȪȘȜ
214
DZǹǮǰǮ
ȜȒȖțȎȞȑȡȚȓțȠȐȟȠȞȜȘȓȕțȎȥȓțȖȓnilȏȡȒȓȠȝȞȖȟȐȜȓțȜȝȓȞȓ
ȚȓțțȜȗheightȁȟșȜȐȖȓȐȟȠȞȜȘȓȝȞȜȐȓȞȭȓȠȝȞȖȟȐȜȓțȜșȖ
ȝȓȞȓȚȓțțȜȗlengthȖșȖheightȕțȎȥȓțȖȓnilȖțȓȡȘȎȕȎțșȖ
ȟȖȚȐȜș " ȐȘȎȥȓȟȠȐȓȝȓȞȐȜȑȜȎȞȑȡȚȓțȠȎȘȜȚȎțȒțȜȗȟȠȞȜȘȖ
ǰȟȖȠȡȎȤȖȭȣȘȜȑȒȎȖȑȞȜȘȐȐȜȒȖȠțȓȝȞȎȐȖșȪțȩȓȎȞȑȡ
ȚȓțȠȩȖșȖțȓȐȐȜȒȖȠȖȣȐȜȐȟȓȢȡțȘȤȖȭprint()ȐȩȐȜȒȖȠ
ȟȜȜȏȧȓțȖȓȘȜȠȜȞȜȓȝȞȓȒșȎȑȎȓȠȖȑȞȜȘȡȐȐȓȟȠȖȖȚȭbuildwallȖȎȞȑȡȚȓțȠȩȘȜȚȎțȒțȜȗȟȠȞȜȘȖ²lengthȖheight.
ȁȑșȜȐȩȓȟȘȜȏȘȖȐȘȜȠȜȞȩȓȕȎȘșȬȥȓțȩȟșȜȐȎlengthȖ
heightȡȘȎȕȩȐȎȬȠțȎȠȜȥȠȜȖȑȞȜȘțȓȒȜșȔȓțȐȐȜȒȖȠȪȟȎ
ȚȖȟșȜȐȎlengthȖheightȎȡȘȎȕȎȠȪȥȖȟșȜȐȩȓȕțȎȥȓțȖȭ
ĎħēĚĎĠğęĖĢĔĔ0):-*=14,?)44
ĐėīěĚĝĞĜĚĕĖĔĝĞđęħ
ǰȟȬȞȎȏȜȠȡȐȝȞȜȑȞȎȚȚȓbuildwallȐȩȝȜșțȭȬȠȢȡțȘȤȖȖ
buildWall()selectAndPlaceDown()ȖcountInventory()ȚȜȒȡșȭhareȀȎȘȖȚȜȏȞȎȕȜȚȘȜȒȝȞȜȑȞȎȚȚȩbuildwallȜȥȓțȪȝȞȜȟȠǽȜȟșȓȜȏȞȎȏȜȠȘȖȎȞȑȡȚȓțȠȜȐȘȜȚȎțȒțȜȗ
ȟȠȞȜȘȖȜțȝȞȜȟȠȜȐȩȕȩȐȎȓȠȢȡțȘȤȖȬhare.buildWall()Ȑ
ȟȠȞȜȘȓȖȝȞȖȟȐȎȖȐȎȓȠȕțȎȥȓțȖȭȝȓȞȓȚȓțțȩȚlengthȖ
height.
buildwall
16. print('Building...')
17. if hare.buildWall(length, height) == false then
HUURU ɇɟɞɨɫɬɚɬɨɱɧɨɛɥɨɤɨɜ¾
19. end
20. print('Done.')
ǸȜȒȐȟȠȞȜȘȓȐȩȕȩȐȎȓȠȢȡțȘȤȖȬprint()ȐȩȐȜȒȭ
ȧȡȬȟȜȜȏȧȓțȖȓȖțȢȜȞȚȖȞȡȬȧȓȓȝȜșȪȕȜȐȎȠȓșȭȜȕȎȝȡȟȘȓ
ȝȞȜȑȞȎȚȚȩdzȟșȖȏșȜȘȜȐțȓȒȜȟȠȎȠȜȥțȜȢȡțȘȤȖȭhare.
buildWall()ȐȜȕȐȞȎȧȎȓȠȕțȎȥȓțȖȓfalseȖȝȞȜȑȞȎȚȚȎțȓ
ȕȎȝȡȟȘȎȓȠȟȭȋȠȜȝȞȜȐȓȞȭȓȠȟȭȐȟȠȞȜȘȓȐȫȠȜȚȟșȡȥȎȓ
ȝȜșȪȕȜȐȎȠȓșȪȐȖȒȖȠȟȜȜȏȧȓțȖȓȜȏȜȦȖȏȘȓǸȜȒȐȟȠȞȜȘȓ
ȐȩȐȜȒȖȠȟȜȜȏȧȓțȖȓȜȠȜȚȥȠȜȝȞȜȑȞȎȚȚȎȕȎȐȓȞȦȖșȎȝȜ
ȟȠȞȜȗȘȡȟȠȓțȩȖșȖȟȜȜȏȧȎȓȠȜȏȜȦȖȏȘȓ
ǰǼǵǰdzDzdzǻǶdzǿȀdzǻ
215
ǰȜȠȖȐȓȟȪȘȜȒȝȞȜȑȞȎȚȚȩbuildwallǵȎȐȟȓȜȟȠȎșȪțȜȓ
ȜȠȐȓȥȎȓȠȘȜȒȚȜȒȡșȭhare.
ĐĚěĚėęĔĞđėĨęĚđēČĐČęĔđ"ěĜĚďĜČĘĘČ5A4)*-4
ĝČĜďğĘđęĞČĘĔĖĚĘČęĐęĚĕĝĞĜĚĖĔ
Вернись к программе mylabel из главы 3 и измени код так,
чтобы игрок мог указать имя черепашки не с помощью функции io.read(), а с помощью аргумента командной строки.
Для этого добавь строку кода local cliArgs = {...}. Теперь записать новое имя черепашки можно, используя код
cliArgs[1] вместо функции io.read(). Обязательно добавь вывод сообщения пользователю, если он не укажет новое имя в качестве аргумента командной строки.
Обрати внимание: встроенная программа label также поддерживает работу аргументов командной строки. Использование аргументов командной строки ускоряет выполнение
программ, так как игрок может вводить значения параметров
непосредственно при запуске программы.
ģĞĚĘħğēęČėĔ
ǰȫȠȜȗȑșȎȐȓȚȩȒȜȝȜșțȖșȖȚȜȒȡșȪharețȜȐȩȚȖȢȡțȘȤȖ
ȭȚȖȂȡțȘȤȖȭcountInventory()ȐȜȕȐȞȎȧȎȓȠȜȏȧȓȓȘȜ
șȖȥȓȟȠȐȜȏșȜȘȜȐ ȝȞȓȒȚȓȠȜȐ ȐȖțȐȓțȠȎȞȓȥȓȞȓȝȎȦȘȖȋȠȜ
ȝȜșȓȕțȜȠȎȘȘȎȘȚȜȔțȜȝȞȜȐȓȞȖȠȪȒȜȟȠȎȠȜȥțȜșȖȡȥȓȞȓ
ȝȎȦȘȖȏșȜȘȜȐȒșȭȟȠȞȜȖȠȓșȪȟȠȐȎȂȡțȘȤȖȭselectAndPlaceDown()ȝȜȕȐȜșȭȓȠȥȓȞȓȝȎȦȘȓȐȩȏȞȎȠȪȜȝȞȓȒȓșȓț
țȩȗȏșȜȘȐȖțȐȓțȠȎȞȓȖȖȟȝȜșȪȕȜȐȎȠȪȓȑȜȐȚȖȞȓ0LQHFUDIW.
ǿȝȜȚȜȧȪȬȫȠȖȣȢȡțȘȤȖȗȠȩȚȜȔȓȦȪțȎȝȖȟȎȠȪȘȜȒȒșȭȝȜ
ȟȠȞȜȗȘȖȟȠȓțșȬȏȜȑȜȞȎȕȚȓȞȎ
ȀȩȡȕțȎșȘȎȘȝȖȟȎȠȪȝȞȜȑȞȎȚȚȩȘȜȠȜȞȩȓȝȞȖțȖȚȎȬȠ
ȎȞȑȡȚȓțȠȩȘȜȚȎțȒțȜȗȟȠȞȜȘȖȀȩȡȔȓȖȟȝȜșȪȕȜȐȎșȎȞȑȡ
ȚȓțȠȩȘȜȚȎțȒțȜȗȟȠȞȜȘȖȐȑșȎȐȓ țȎȝȞȖȚȓȞȘȜȑȒȎȐȐȜ
ȒȖșȘȜȚȎțȒȡset SofonisbaȐȟȠȞȜȘȓlabel set Sofonisba ǻȜȐȫȠȜȗȑșȎȐȓȠȩȡȕțȎșȥȠȜȚȜȔȓȦȪȝȜșȡȥȖȠȪȒȜȟȠȡȝ
ȘȠȎȏșȖȥțȩȚȕțȎȥȓțȖȭȚȜȏȨȓȘȠȎ{...}ȖȝȞȜȥȖȠȎȠȪȎȞȑȡ
ȚȓțȠȩȘȜȚȎțȒțȜȗȟȠȞȜȘȖȘȜȠȜȞȩȓȖȑȞȜȘȐȐȓșȝȞȖȕȎȝȡȟȘȓ
ȝȞȜȑȞȎȚȚȩ
216
DZǹǮǰǮ
dzȟșȖȠȐȜȖȝȞȜȑȞȎȚȚȩȏȡȒȡȠȕȎȝȡȟȘȎȠȪȒȞȡȑȖȓȝȜșȪȕȜ
ȐȎȠȓșȖȜțȖȐȓȞȜȭȠțȜțȓȏȡȒȡȠȥȖȠȎȠȪȘȜȒ/XDȥȠȜȏȩȐȩ
ȭȟțȖȠȪȘȎȘȖȓȎȞȑȡȚȓțȠȩȘȜȚȎțȒțȜȗȟȠȞȜȘȖțȓȜȏȣȜȒȖȚȜ
ȝȓȞȓȒȎȠȪȠȐȜȓȗȝȞȜȑȞȎȚȚȓǽȜȫȠȜȚȡȝȞȜȑȞȎȚȚȎȚȜȔȓȠȐȩ
ȐȜȒȖȠȪȟȜȜȏȧȓțȖȓȘȜȠȜȞȜȓȝȞȓȒȜȟȠȎȐȖȠȘȞȎȠȘȜȓȜȝȖȟȎțȖȓ
țȓȜȏȣȜȒȖȚȩȣȎȞȑȡȚȓțȠȜȐȘȜȚȎțȒțȜȗȟȠȞȜȘȖ
ǰȑșȎȐȓȚȩȟȜȕȒȎȒȖȚȟȠȓțȜȟȠȞȜȖȠȓșȪțȡȬȝȞȜȑȞȎȚȚȡ
ȐȜȠȠȎȘȖȓȡȚȓțȭȘȎșȎȚȏȡȞȩ ȥȠȜȏȩȟȠȞȜȖȠȪȘȜȚțȎȠȩȟȥȓ
ȠȩȞȪȚȭȟȠȓțȎȚȖ
12
ĝĞĜĚĔĞđėĨĝĞĎĚĖĚĘęČĞ
dzȟșȖ ȟȜȓȒȖțȖȠȪ ȥȓȠȩȞȓ ȟȠȓțȩ ȝȜșȡ ȥȖȠȟȭ
ȘȜȚțȎȠȎǰȫȠȜȗȑșȎȐȓȚȩȟȜȕȒȎȒȖȚȢȡțȘȤȖȬ
buildRoom()ȘȜȠȜȞȎȭȏȡȒȓȠȐȩȕȩȐȎȠȪȢȡțȘ
ȤȖȬbuildWall()ȥȓȠȩȞȓȞȎȕȎȥȠȜȏȩȝȜȟȠȞȜ
ȖȠȪȘȜȚțȎȠȡȝȜȒȜȏțȡȬȠȜȗȥȠȜȝȜȘȎȕȎțȎțȎ
ȞȖȟȋȠȎȑșȎȐȎȘȜȞȜȠȘȎȭȖȝȞȜȟȠȎȭȝȜȠȜȚȡȥȠȜ
ȠȩȡȔȓȐȩȝȜșțȖșȕțȎȥȖȠȓșȪțȡȬȥȎȟȠȪȞȎȏȜȠȩȘȜȑȒȎ
ȝȖȟȎșȢȡțȘȤȖȬbuildWall()ȐȑșȎȐȓǮȘȜȑȒȎȠȩȕȎȘȜț
ȥȖȦȪȞȎȏȜȠȡțȎȒȢȡțȘȤȖȓȗbuildRoom()ȠȜȟȓȓȝȜȚȜȧȪȬ
ȟȚȜȔȓȦȪȝȜȟȠȞȜȖȠȪȟșȜȔțȜȓȟȜȜȞȡȔȓțȖȓțȎȝȞȖȚȓȞȕȎȚȜȘ
ˀ̛̭͘ϭϮ͘ϭ͘ʶ̸̨̡̨̨̡̨̛̛̛̥̦̯̥̖̦̦̬̪͕̬̥̖̬̥̌̌̌̐̌̌̚̚ϱпϲпϰ̨̡̨̣̍̏
218
DZǹǮǰǮ
ěĜĚđĖĞĔĜĚĎČęĔđČėďĚĜĔĞĘČ
ěĚĝĞĜĚđęĔīĖĚĘęČĞ
DzȎȐȎȗȞȎȕȞȎȏȜȠȎȓȚȎșȑȜȞȖȠȚȘȜȠȜȞȩȗȝȜȕȐȜșȖȠȟȠȞȜȖȠȪ
ȘȜȚțȎȠȩșȬȏȜȑȜȞȎȕȚȓȞȎǸȜȒȫȠȜȑȜȎșȑȜȞȖȠȚȎȝȜȚȓȟȠȖȚ
ȐȢȡțȘȤȖȬȟȖȚȓțȓȚbuildRoom()ȐȚȜȒȡșȪhareǻȎȝȞȖ
ȚȓȞȓȟșȖȥȓȞȓȝȎȦȘȓțȡȔțȜȝȜȟȠȞȜȖȠȪȘȜȚțȎȠȡȒșȖțȜȗȐ
ȠȞȖȏșȜȘȎȖȦȖȞȖțȜȗȐȥȓȠȩȞȓȏșȜȘȎȜțȎȚȜȔȓȠȝȜȟȠȞȜȖȠȪ
ȥȓȠȩȞȓȟȠȓțȩȘȎȘȝȜȘȎȕȎțȜțȎȞȖȟȅȓȞȓȝȎȦȘȎțȎȥȖ
țȎȓȠȟșȓȐȜȑȜțȖȔțȓȑȜȡȑșȎȘȜȚțȎȠȩȎȕȎȠȓȚȟȠȞȜȖȠȟȠȓțȩ
ȒȐȖȑȎȭȟȪȝȜȥȎȟȜȐȜȗȟȠȞȓșȘȓ
ˀ̛̭͘ϭϮ͘Ϯ͘ʦ̵̸̡̨̡̨̨̛̭̖̬̱̦̖̬̖̪̹̱͕̭̯̬̺̱̥̦̯̱̬̥̖̬̥̔̏̌̌́̀̌̌̚ϯпϰ̨̡̣̍̌͘
ʻ̸̸̨̨̡̨̨̡̛̛̛̛̭̯̬̯̖̣̭̯͕̖̬̖̪̹̪̖̬̦̱̯̦̪̬̣̖̦̖̣̜̭̯̬̖̣̌̌̏̽̏̌̌̏̌̏̌̌̏̍
ǽȜȟȘȜșȪȘȡȟȠȓțȩȝȓȞȓȘȞȩȐȎȬȠȟȭȐȡȑșȎȣȘȜȚțȎȠȩ
ȒșȖțȎȖȦȖȞȖțȎȘȜȚțȎȠȩȜȠșȖȥȎȬȠȟȭȜȠȞȎȕȚȓȞȜȐȓȓȟȠȓț
ǻȎȝȞȖȚȓȞȥȠȜȏȩȝȜȟȠȞȜȖȠȪȘȜȚțȎȠȡȞȎȕȚȓȞȜȚðȏșȜȘȎ
ȘȎȘȝȜȘȎȕȎțȜțȎȞȖȟȠȩțȓȟȚȜȔȓȦȪȝȞȜȟȠȜȝȜȟȠȞȜ
ȖȠȪȒȐȓȟȠȓțȩȒșȖțȜȗȐȠȞȖȏșȜȘȎȖȒȐȓȟȠȓțȩȒșȖțȜȗȐ
ȥȓȠȩȞȓȏșȜȘȎȠȎȘȘȎȘȡȑșȩȒȜșȔțȩȝȓȞȓȘȞȩȐȎȠȪȟȭȅȠȜ
ȏȩȝȞȎȐȖșȪțȜȕȎȒȎȠȪȒșȖțȡȟȠȓțȘȜȚțȎȠȩțȎȒȜȡȥȖȠȩ
ȐȎȠȪȝȓȞȓȘȞȩȠȖȓȡȑșȜȐǰȕȑșȭțȖțȎȞȎȕȚȓȞȘȎȔȒȜȗȟȠȓțȩ
țȎȞȖȟȑȒȓȖȕȜȏȞȎȔȓțȩȘȜȚțȎȠȩȟȞȎȕȚȓȞȎȚȖðȖ
ðȏșȜȘȜȐ
ǸȎȘȐȖȒȖȦȪȘȜȚțȎȠȎȞȎȕȚȓȞȜȚðȏșȜȘȎȟȜȟȠȜȖȠȖȕ
ȒȐȡȣȟȠȓțȒșȖțțȜȬȐȏșȜȘȎȖȒȐȡȣȟȠȓțȒșȖțȜȗȐȏșȜȘȎ
ǸȜȚțȎȠȎȞȎȕȚȓȞȜȚðȏșȜȘȜȐȟȜȟȠȜȖȠȖȕȒȐȡȣȟȠȓțȒșȖțȜȗ
ȏșȜȘȎȖȒȐȡȣȟȠȓțȒșȖțȜȗȏșȜȘȜȐ
ǿȀǾǼǶȀdzǹȊǿȀǰǼǸǼǺǻǮȀ
219
6
5
4
3
3
4
3
2
Комната размером 3 έ 4 блока
Комната размером 4 έ 6 блоков
ˀ̛̭͘ϭϮ͘ϯ͘ʶ̨̛̥̦̯̼̭̬̥̖̬̥̌̌̌̚ϯпϰ;̭̣̖̏̌Ϳ̛ϰпϲ;̭̪̬̌̏̌Ϳ̨̡̨̣̍̏
ǼȏȞȎȠȖȐțȖȚȎțȖȓțȎȦȎȏșȜțțȜȐȜȑȜȎșȑȜȞȖȠȚȎȅȓȠȩ
ȞȓȟȠȓțȩȖȚȓȬȠȒȐȎȞȎȕțȩȣȞȎȕȚȓȞȎȜȒȖțȞȎȕȚȓȞ²ȦȖȞȖ
țȎȘȜȚțȎȠȩȚȖțȡȟȜȒȖțȖȐȠȜȞȜȗ²ȒșȖțȎȘȜȚțȎȠȩȚȖțȡȟ
ȜȒȖțǮșȑȜȞȖȠȚȐȩȕȩȐȎȓȠȢȡțȘȤȖȬbuildWall()ȘȜȠȜȞȡȬ
ȚȩȟȜȕȒȎșȖȐȑșȎȐȓȅȓȞȓȝȎȦȘȎțȎȥȖțȎȓȠȒȐȖȔȓțȖȓȐ
șȓȐȜȚțȖȔțȓȚȡȑșȡȘȎȘȝȜȘȎȕȎțȜțȎȞȖȟȖțȎȥȖțȎ
ȓȠȟȠȞȜȖȠȓșȪȟȠȐȜȟșȓȐȜȗȟȠȜȞȜțȩȘȜȚțȎȠȩ ȜțȎȝȜȘȎȕȎțȎ
ȘȞȎȟțȩȚȤȐȓȠȜȚ ǵȎȠȓȚȐșȓȐȜȚȐȓȞȣțȓȚȡȑșȡȞȖȟȡțȘȎ
ȥȓȞȓȝȎȦȘȎȝȜȐȜȞȎȥȖȐȎȓȠțȎȝȞȎȐȜȐȟȜȜȠȐȓȠȟȠȐȖȖȟȎșȑȜ
ȞȖȠȚȜȚȖȟȠȞȜȖȠȒȞȡȑȡȬȟȠȓțȡ ȝȜȘȎȕȎțȎȟȖțȖȚȤȐȓȠȜȚ
ǵȎȠȓȚțȎȦȞȜȏȜȠȟțȜȐȎȝȜȐȜȞȎȥȖȐȎȓȠțȎȝȞȎȐȜȟȠȞȜȖȠ
ȘȞȎȟțȡȬȟȠȓțȡȟȝȞȎȐȜȗȟȠȜȞȜțȩȘȜȚțȎȠȩȖțȎȘȜțȓȤȝȜ
ȐȜȞȎȥȖȐȎȭțȎȝȞȎȐȜȟȠȞȜȖȠȟȖțȬȬȟȠȓțȡȐțȖȕȡȘȜȚțȎȠȩ
ǸȜȑȒȎȥȓȞȓȝȎȦȘȎȕȎȘȎțȥȖȐȎȓȠȟȠȞȜȖȠȓșȪȟȠȐȜȥȓȠȐȓȞȠȜȗ
ȟȠȓțȩȠȜȜȘȎȕȩȐȎȓȠȟȭȠȎȚȜȠȘȡȒȎȜțȎțȎȥȖțȎșȎǶȟȝȜșȪ
ȕȡȭȫȠȜȠȦȎȏșȜțȐȘȎȥȓȟȠȐȓȎșȑȜȞȖȠȚȎȢȡțȘȤȖȭbuildRoom()ȝȜȕȐȜșȭȓȠȟȜȕȒȎȐȎȠȪȘȜȚțȎȠȩșȬȏȜȑȜȞȎȕȚȓȞȎ
ĐĚĜČčĚĞĖČĘĚĐğėī0):ǽȜȚȓȟȠȖȚȢȡțȘȤȖȬbuildRoom()ȐȚȜȒȡșȪhareȘȎȘȫȠȜ
ȏȩșȜȟȒȓșȎțȜȟȢȡțȘȤȖȓȗbuildWall()ȥȠȜȏȩȓȓȚȜȑșȖȖȟ
ȝȜșȪȕȜȐȎȠȪȖȒȞȡȑȖȓȝȞȜȑȞȎȚȚȩǰȜȏȜșȜȥȘȓȘȜȚȎțȒțȜȗ
ȟȠȞȜȘȖȐȩȝȜșțȖȘȜȚȎțȒȡedit hareǽȓȞȓȚȓȟȠȖȘȡȞȟȜȞȐ
ȘȜțȓȤȢȎȗșȎȖȒȜȏȎȐȪȟșȓȒȡȬȧȖȗȘȜȒ
220
DZǹǮǰǮ
hare
ɩɪɨɩɭɫɤ
EXLOG5RRP ɫɬɪɨɢɬɱɟɬɵɪɟɫɬɟɧɵ
ɢɩɨɬɨɥɨɤ
112.
function buildRoom(length, width, height)
113.
if hare.countInventory() < (((length - 1) *
height * 2) +
((width - 1) * height * 2)) then
UHWXUQIDOVHɧɟɞɨɫɬɚɬɨɱɧɨɛɥɨɤɨɜ
115.
end
116.
ɫɬɪɨɢɬɟɥɶɫɬɜɨɱɟɬɵɪɟɯɫɬɟɧ
118.
buildWall(length - 1, height)
119.
turtle.turnRight()
120.
121.
buildWall(width - 1, height)
122.
turtle.turnRight()
123.
124.
buildWall(length - 1, height)
125.
turtle.turnRight()
126.
127.
buildWall(width - 1, height)
128.
turtle.turnRight()
129.
130.
return true
131. end
ǿȜȣȞȎțȖȝȞȜȑȞȎȚȚȡȖȐȩȗȒȖȖȕȞȓȒȎȘȠȜȞȎȝȜȟșȓȐȐȜȒȎ
ȐȟȓȣȖțȟȠȞȡȘȤȖȗȋȠȜȠȚȜȒȡșȪȚȜȔțȜȠȎȘȔȓȕȎȑȞȡȕȖȠȪȐȩ
ȝȜșțȖȐȘȜȚȎțȒȡpastebin get wwzvaKuW hare.
ĎħģĔĝėđęĔđĚčĥđďĚĖĚėĔģđĝĞĎČ
čėĚĖĚĎęđĚčġĚĐĔĘĚďĚ
ĐėīĝĞĜĚĔĞđėĨĝĞĎČĖĚĘęČĞħ
ǽȞȓȔȒȓȥȓȚȢȡțȘȤȖȭbuildRoom()țȎȥțȓȠȟȠȞȜȖȠȓșȪȟȠȐȜ
ȘȜȚțȎȠȩțȓȜȏȣȜȒȖȚȜȝȞȜȐȓȞȖȠȪȥȠȜȐȖțȐȓțȠȎȞȓȥȓȞȓȝȎȦ
ȘȖȒȜȟȠȎȠȜȥțȜȟȠȞȜȖȠȓșȪțȩȣȏșȜȘȜȐDzșȭȫȠȜȑȜțȡȔțȜȐȩ
ȥȖȟșȖȠȪȘȜșȖȥȓȟȠȐȜȏșȜȘȜȐțȓȜȏȣȜȒȖȚȜȓȒșȭȐȜȕȐȓȒȓțȖȭ
ȐȟȓȣȥȓȠȩȞȓȣȟȠȓțȘȜȚțȎȠȩǸȜșȖȥȓȟȠȐȜȏșȜȘȜȐțȓȜȏȣȜȒȖ
ǿȀǾǼǶȀdzǹȊǿȀǰǼǸǼǺǻǮȀ
221
ȚȜȓȒșȭȜȒțȜȗȟȠȓțȩȞȎȟȟȥȖȠȩȐȎȓȠȟȭȐȟȠȞȜȘȓȚȜȒȡșȭ
hareȐȜȠȠȎȘ
length * height
ǻȜțȎȫȠȜȠȞȎȕȒșȖțȎȟȠȓțȩțȎȜȒȖțȏșȜȘȘȜȞȜȥȓȒșȖ
țȩȘȜȚțȎȠȩǽȓȞȐȎȭȖȕȥȓȠȩȞȓȣȟȠȓțȒȜșȔțȎȏȩȠȪȒșȖțȜȗ
length – 1ȝȜȫȠȜȚȡțȎȦȖȐȩȥȖȟșȓțȖȭȝȞȖțȖȚȎȬȠȐȖȒ
(length – 1) * height
ǶȝȜȟȘȜșȪȘȡȥȓȞȓȝȎȦȘȎȝȜȟȠȞȜȖȠȒȐȓȠȎȘȖȣȟȠȓțȩȚȩ
ȡȚțȜȔȖȚȫȠȜȥȖȟșȜțȎ2:
(length – 1) * height * 2
ǼȟȠȎșȪțȩȓȒȐȓȟȠȓțȩȏȡȒȡȠțȎȜȒȖțȏșȜȘȘȜȞȜȥȓȦȖ
ȞȖțȩȘȜȚțȎȠȩȠȜȓȟȠȪȒșȖțȜȗȐwidth – 1ȏșȜȘȝȜȫȠȜȚȡ
ȚȩȒȜȏȎȐȖȚȏșȜȘȖȒșȭȫȠȖȣȟȠȓțȐȞȎȟȥȓȠȟșȓȒȡȬȧȖȚȜȏ
ȞȎȕȜȚ
((length – 1) * height * 2) + ((width – 1) * height *2)
ȋȠȜȜȘȜțȥȎȠȓșȪțȎȭȢȜȞȚȡșȎȒșȭȐȩȥȖȟșȓțȖȭȘȜșȖȥȓ
ȟȠȐȎȏșȜȘȜȐȘȜȠȜȞȜȓȝȜȠȞȓȏȡȓȠȟȭȒșȭȟȠȞȜȖȠȓșȪȟȠȐȎȘȜȚ
țȎȠȩdzȓȚȩȏȡȒȓȚȖȟȝȜșȪȕȜȐȎȠȪȐȢȡțȘȤȖȖbuildRoom().
ĖĚĐĠğęĖĢĔĔ*=14,:775
ȅȠȜȏȩȡȕțȎȠȪȟȘȜșȪȘȜȏșȜȘȜȐțȎȣȜȒȖȠȟȭȐȖțȐȓțȠȎȞȓ
ȥȓȞȓȝȎȦȘȖȘȜȒȐȟȠȞȜȘȓȐȩȕȩȐȎȓȠȢȡțȘȤȖȬhare.
countInventory()dzȟșȖȫȠȜȥȖȟșȜȚȓțȪȦȓțȓȜȏȣȜȒȖȚȜ
ȑȜȘȜșȖȥȓȟȠȐȎȏșȜȘȜȐȘȜȠȜȞȜȓȞȎȟȟȥȖȠȩȐȎȓȠȟȭȝȜȢȜȞ
ȚȡșȓȖȕȝȞȓȒȩȒȡȧȓȑȜȞȎȕȒȓșȎȖȟȝȜșțȓțȖȓȝȓȞȓȣȜȒȖȠȘ
ȟȠȞȜȘȓǰȫȠȜȗȟȠȞȜȘȓȢȡțȘȤȖȭbuildRoom()ȐȜȕȐȞȎ
ȧȎȓȠȕțȎȥȓțȖȓfalseǸȜȒȢȡțȘȤȖȖȖȟȝȜșȪȕȡȓȠȫȠȜȐȜȕ
ȐȞȎȧȎȓȚȜȓȕțȎȥȓțȖȓȒșȭȜȝȜȐȓȧȓțȖȭȜȠȜȚȥȠȜȘȜȚțȎȠȎ
țȓȏȩșȎȝȜȟȠȞȜȓțȎ
hare
EXLOG5RRP
222
DZǹǮǰǮ
ɫɬɪɨɢɬɱɟɬɵɪɟɫɬɟɧɵ
ɢɩɨɬɨɥɨɤ
112.
function buildRoom(length, width, height)
113.
if hare.countInventory() < (((length - 1) *
height * 2) +
((width - 1) * height * 2)) then
UHWXUQIDOVHɧɟɞɨɫɬɚɬɨɱɧɨɛɥɨɤɨɜ
115.
end
ǰȝȞȜȠȖȐțȜȚȟșȡȥȎȓȖȟȝȜșțȓțȖȓȝȓȞȓȣȜȒȖȠȘȘȜȒȡȟșȓ
ȒȡȬȧȓȚȡȕȎȫȠȜȗȢȡțȘȤȖȓȗȀȎȘȖȚȜȏȞȎȕȜȚȓȟșȖȏșȜȘȜȐ
ȒȜȟȠȎȠȜȥțȜȝȞȜȖȟȣȜȒȖȠȐȩȕȜȐȢȡțȘȤȖȖbuildWall()Ȗ
ȘȜȒȐȟȠȞȜȘȓțȎȥȖțȎȓȠȟȠȞȜȖȠȓșȪȟȠȐȜȝȓȞȐȜȗȟȠȓțȩ
hare
118.
buildWall(length - 1, height)
ǸȜȑȒȎȥȓȞȓȝȎȦȘȎȝȜȟȠȞȜȖȠȜȒțȡȟȠȓțȡȝȜȜȘȜțȥȎțȖȖ
ȟȠȞȜȖȠȓșȪȟȠȐȎȢȡțȘȤȖȭbuildWall()ȝȓȞȓȚȓȧȎȓȠȥȓȞȓ
ȝȎȦȘȡȜȏȞȎȠțȜțȎȕȓȚșȬdzȟșȖȥȓȞȓȝȎȦȘȎȟȠȞȜȖȠȘȜȚ
țȎȠȡȞȎȕȚȓȞȜȚðȏșȜȘȎȠȜȝȜȟșȓȖȟȝȜșțȓțȖȭȘȜȒȎȐ
ȟȠȞȜȘȓȟȠȞȜȓțȖȓȏȡȒȓȠȐȩȑșȭȒȓȠȪȠȎȘȘȎȘȝȜȘȎȕȎțȜ
țȎȞȖȟ
ˀ̛̭͘ϭϮ͘ϰ͘ʦ̡̨̨̛̥̦̯̼̬̥̖̬̥̔̌̌̚ϯпϰ̨̡̨̛̣̪̭̣̖̖̬̹̖̦̍̌̌̏́̚
̨̨̛̭̯̬̯̖̣̭̯̪̖̬̜̭̯̖̦̼̽̏̌̏
ǽȞȓȔȒȓȥȓȚȥȓȞȓȝȎȦȘȎȟȚȜȔȓȠȝȜȟȠȞȜȖȠȪȐȠȜȞȡȬȟȠȓțȡ
ȜțȎȒȜșȔțȎȝȜȐȓȞțȡȠȪțȎȝȞȎȐȜȀȎȘȜȗȝȜȐȜȞȜȠȝȞȜȖȕȐȜȒȖȠ
ȟȭȐȟȠȞȜȘȓȟȝȜȚȜȧȪȬȢȡțȘȤȖȖturtle.turnRight()Ȏ
ȘȜȒȐȟȠȞȜȘȓțȎȥȖțȎȓȠȟȠȞȜȖȠȓșȪȟȠȐȜȐȠȜȞȜȗȟȠȓțȩ
ǿȀǾǼǶȀdzǹȊǿȀǰǼǸǼǺǻǮȀ
223
hare
119.
120.
121.
turtle.turnRight()
buildWall(width - 1, height)
ǼȏȞȎȠȖȐțȖȚȎțȖȓȥȠȜȒșȖțȎȫȠȜȗȟȠȓțȩȞȎȐțȎwidth
– 1ȑȒȓwidth²ȦȖȞȖțȎȘȜȚțȎȠȩdzȟșȖȥȓȞȓȝȎȦȘȎȟȠȞȜȖȠ
ȘȜȚțȎȠȡȞȎȕȚȓȞȜȚðȏșȜȘȎȝȜȟșȓȖȟȝȜșțȓțȖȭȘȜȒȎȐ
ȟȠȞȜȘȓȘȜȚțȎȠȎȏȡȒȓȠȐȩȑșȭȒȓȠȪȠȎȘȘȎȘȝȜȘȎȕȎțȜțȎ
ȞȖȟ
ˀ̛̭͘ϭϮ͘ϱ͘ʦ̡̨̨̛̥̦̯̼̬̥̖̬̥̔̌̌̚ϯпϰ̨̡̨̨̨̡̨̨̛̣̪̭̣̖̪̭̯̬̜̯̬̜̍̌̏
̭̯̖̦̼
ǰȟȠȞȜȘȎȣ²ȝȞȜȖȟȣȜȒȖȠȟȠȞȜȖȠȓșȪȟȠȐȜȒȐȡȣȒȞȡ
ȑȖȣȟȠȓț
hare
122.
turtle.turnRight()
123.
124.
buildWall(length - 1, height)
125.
turtle.turnRight()
126.
127.
buildWall(width - 1, height)
128.
turtle.turnRight()
129.
130.
return true
131. end
224
DZǹǮǰǮ
ǽȜȟșȓȖȟȝȜșțȓțȖȭȫȠȜȑȜȘȜȒȎȟȠȞȜȖȠȓșȪȟȠȐȜȘȜȚțȎȠȩȕȎ
ȐȓȞȦȎȓȠȟȭȖȢȡțȘȤȖȭbuildRoom()ȐȜȕȐȞȎȧȎȓȠȕțȎȥȓțȖȓ
trueȐȟȠȞȜȘȓȟȜȜȏȧȎȭȜȏȡȟȝȓȦțȜȗȝȜȟȠȞȜȗȘȓȘȜȚțȎ
ȠȩȅȓȞȓȝȎȦȘȎȐȜȕȐȞȎȧȎȓȠȟȭȐȖȟȣȜȒțȡȬȝȜȕȖȤȖȬțȎȥȎșȎ
ȟȠȞȜȖȠȓșȪȟȠȐȎȝȜȐȜȞȎȥȖȐȎȓȠȟȭȐȝȓȞȐȜțȎȥȎșȪțȜȚțȎȝȞȎȐ
șȓțȖȖțȜȜȟȠȎțȓȠȟȭțȎȐȓȞȣȡȟȠȓțȘȜȠȜȞȩȓȜțȎȝȜȟȠȞȜȖșȎ
ȘȎȘȝȜȘȎȕȎțȜțȎȞȖȟ
ˀ̛̭͘ϭϮ͘ϲ͘ʶ̨̨̥̦̯̬̥̖̬̥̌̌̌̚ϯпϰ̸̨̡̨̨̡̣̪̭̯̬̖̦͕̖̬̖̪̹̍̌̌̌̌
̵̶̵̨̡̨̨̨̨̨̛̛̛̛̬̺̖̯̭̭̦̜̪͕̦̭̯̖̯̭̦̖̬̱̏̏̌̌́̔̌́̌̏̚̚
ǶțȟȠȞȡȘȤȖȭendȐȟȠȞȜȘȓȕȎȘȎțȥȖȐȎȓȠȏșȜȘȘȜȒȎ
ȢȡțȘȤȖȖbuildRoom().
ĖĚĐěĜĚďĜČĘĘħ*=14,?)44
ǰȑșȎȐȓȚȩȟȜȕȒȎșȖȝȞȜȑȞȎȚȚȡbuildwallȘȜȠȜȞȎȭȐȩ
ȕȩȐȎȓȠȢȡțȘȤȖȬhare.buildWall()ȥȠȜȏȩȖȑȞȜȘȚȜȑșȓȑȘȜ
ȝȜȟȠȞȜȖȠȪȟȠȓțȡȐȜȏȜșȜȥȘȓȘȜȚȎțȒțȜȗȟȠȞȜȘȖȀȓȝȓȞȪȟȜȕ
ȒȎȒȖȚȝȞȜȑȞȎȚȚȡȎțȎșȜȑȖȥțȡȬbuildroomȥȠȜȏȩȐȩȕȩ
ȐȎȠȪȢȡțȘȤȖȬhare.buildRoom()ǰȜȏȜșȜȥȘȓȘȜȚȎțȒțȜȗ
ȟȠȞȜȘȖȐȩȝȜșțȖȘȜȚȎțȒȡedit buildroomȖȐȐȓȒȖȟșȓȒȡ
ȬȧȖȗȘȜȒ
buildroom
>>ɉɪɨɝɪɚɦɦɚɞɥɹɫɬɪɨɢɬɟɥɶɫɬɜɚɤɨɦɧɚɬɗɥɚɋɜɟɣɝɚɪɬɚ
ǿȀǾǼǶȀdzǹȊǿȀǰǼǸǼǺǻǮȀ
225
ɋɬɪɨɢɬɤɨɦɧɚɬɵɢɡɱɟɬɵɪɟɯɫɬɟɧ@@
3.
4. os.loadAPI('hare')
5.
ɨɛɪɚɛɨɬɤɚɚɪɝɭɦɟɧɬɨɜɤɨɦɚɧɞɧɨɣɫɬɪɨɤɢ
7. local cliArgs = {...}
8. local length = tonumber(cliArgs[1])
9. local width = tonumber(cliArgs[2])
10. local height = tonumber(cliArgs[3])
11.
12. if length == nil or width == nil or height == nil or
FOL$UJV>@ " WKHQ
13.
print('Usage: buildroom ')
14.
return
15. end
16.
17. print('Building...')
18. if hare.buildRoom(length, width, height) == false
then
HUURU ɇɟɞɨɫɬɚɬɨɱɧɨɛɥɨɤɨɜ¾
20. end
21. print('Done.')
ǿȜȣȞȎțȖȝȞȜȑȞȎȚȚȡȖȐȩȗȒȖȖȕȞȓȒȎȘȠȜȞȎȝȜȟșȓȐȐȜȒȎ
ȐȟȓȣȖțȟȠȞȡȘȤȖȗȀȓȏȓȠȎȘȔȓȝȜțȎȒȜȏȖȠȟȭȚȜȒȡșȪhareȘȜ
ȠȜȞȩȗȚȜȔțȜȟȘȎȥȎȠȪȐȩȝȜșțȖȐȘȜȚȎțȒȡpastebin get
wwzvaKuW hare.
ǸȎȘȖbuildwallȝȞȜȑȞȎȚȚȎbuildroomȜȟțȜȐȩȐȎȓȠȟȭ
ȑșȎȐțȩȚȜȏȞȎȕȜȚțȎȢȡțȘȤȖȭȣȚȜȒȡșȭhareǼțȎȝȜșȡȥȎ
ȓȠȎȞȑȡȚȓțȠȩȘȜȚȎțȒțȜȗȟȠȞȜȘȖȖȕȚȎȟȟȖȐȎ{...}ȐȩȐȜȒȖȠ
ȟȜȜȏȧȓțȖȓȝȜșȪȕȜȐȎȠȓșȬȓȟșȖȫȠȜțȓȜȏȣȜȒȖȚȜȎȕȎȠȓȚȐȩ
ȕȩȐȎȓȠȢȡțȘȤȖȬhare.buildRoom()ǻȎȦȎȝȞȜȑȞȎȚȚȎȝȜȥ
ȠȖȖȒȓțȠȖȥțȎȝȞȜȑȞȎȚȚȓbuildwallȕȎȖȟȘșȬȥȓțȖȓȚȠȜ
ȑȜȥȠȜȚȩȖȟȝȜșȪȕȡȓȚȢȡțȘȤȖȬhare.buildRoom()ȐȚȓȟȠȜ
hare.buildWall().
ēČěğĝĖěĜĚďĜČĘĘħ*=14,?)44
ȁȟȠȎțȜȐȖȐȥȓȞȓȝȎȦȘȡȖȝȜșȜȔȖȐȐȓȓȖțȐȓțȠȎȞȪȏșȜȘȎ
ȘȎȚȓțțȩȣȘȖȞȝȖȥȓȗ ȖșȖșȬȏȩȣȒȞȡȑȖȣȟȠȞȜȖȠȓșȪțȩȣȏșȜ
ȘȎ ȧȓșȘțȖȝȜțȓȗȝȞȎȐȜȗȘțȜȝȘȜȗȚȩȦȖȥȠȜȏȩȜȠȘȞȩȠȪ
226
DZǹǮǰǮ
ȑȞȎȢȖȥȓȟȘȖȗȖțȠȓȞȢȓȗȟȅȠȜȏȩȝȜȟȚȜȠȞȓȠȪȘȎȘȥȓȞȓȝȎȦ
ȘȎȟȠȞȜȖȠȘȜȚțȎȠȡȖȕȝȭȠȖȏșȜȘȜȐȐȒșȖțȡȦȓȟȠȖȏșȜȘȜȐȐ
ȦȖȞȖțȡȖȥȓȠȩȞȓȣȏșȜȘȜȐȐȐȩȟȜȠȡȐȜȏȜșȜȥȘȓȘȜȚȎțȒțȜȗ
ȟȠȞȜȘȖȐȩȝȜșțȖȘȜȚȎțȒȡbuildroom 5 6 4.
ǿȝȜȚȜȧȪȬȝȞȜȑȞȎȚȚbuildwallȖbuildroomȠȩȚȜ
ȔȓȦȪȏȩȟȠȞȜȐȜȕȐȜȒȖȠȪȐȩȟȜȘȖȓȕȎȚȘȖȖșȖȒȞȡȑȖȓȟȠȞȡȘ
ȠȡȞȩțȓȡȘșȎȒȩȐȎȭȐȞȡȥțȡȬțȖȜȒțȜȑȜȏșȜȘȎȀȩȚȜȔȓȦȪ
ȟȜȕȒȎȠȪțȓȟȘȜșȪȘȜȥȓȞȓȝȎȦȓȘȕȎȝȡȟȘȎȬȧȖȣșȖȏȜȝȞȜȑȞȎȚ
ȚȡbuildRoomșȖȏȜbuildWallȒșȭȟȜȐȚȓȟȠțȜȗȞȎȏȜȠȩȘȎȘ
ȝȜȘȎȕȎțȜțȎȞȖȟ
ˀ̛̭͘ϭϮ͘ϳ͘ˋ̡̨̨̡̨̨̛̛̛̖̬̖̪̹͕̭̯̬̺̖̥͕̪̱̪̬̣̖̦̖̥̪̬̬̥̥̌́̌̔̌̏̐̌̚buildwall̛buildroom
dzȟșȖȝȞȖȕȎȝȡȟȘȓȫȠȜȗȝȞȜȑȞȎȚȚȩȐȜȕțȖȘȎȬȠȜȦȖȏȘȖ
ȠȧȎȠȓșȪțȜȟȞȎȐțȖȟȐȜȗȘȜȒȟșȖȟȠȖțȑȜȚȐȫȠȜȗȘțȖȑȓȥȠȜȏȩ
țȎȗȠȖȐȜȕȚȜȔțȩȓȜȝȓȥȎȠȘȖdzȟșȖȖȟȝȞȎȐȖȠȪȝȞȜȑȞȎȚȚȡțȓ
ȡȒȎȓȠȟȭȡȒȎșȖȢȎȗșȐȩȝȜșțȖȐȘȜȚȎțȒȡdelete buildroomȎȕȎȠȓȚȕȎȑȞȡȕȖȓȓȟțȜȐȎȐȩȝȜșțȖȐȘȜȚȎțȒȡpastebin get U0WVM4wg buildroom.
ǿȀǾǼǶȀdzǹȊǿȀǰǼǸǼǺǻǮȀ
227
ĐĚěĚėęĔĞđėĨęĚđēČĐČęĔđ"
ĖĚĘęČĞČĎĠĚĜĘđĖĜđĝĞČ
Попробуй создать программу, которая построит комнату в
форме креста, а не прямоугольную, как показано на рис. 12.8.
Такая программа будет похожа на buildroom, но будет включать двенадцать вызовов функции hare.buildWall() вместо четырех, а также нужно будет просчитать все повороты,
которые должна совершить черепашка.
ˀ̛̭͘ϭϮ͘ϴ͘ˋ̴̡̨̨̡̨̨̡̛̖̬̖̪̹̪̭̯̬̣̥̦̯̱̬̥̖̬̖̭̯̌̌̌̌̏̌
ģĞĚĘħğēęČėĔ
ȃȜȠȭȐȫȠȜȗȑșȎȐȓȭȖțȓȜȏȨȭȟțȖșțȜȐȩȣȘȜțȤȓȝȤȖȗȝȞȜ
ȑȞȎȚȚȖȞȜȐȎțȖȭȫȠȜȏȩșȎȣȜȞȜȦȎȭȝȞȎȘȠȖȘȎȝȜȞȎȕȞȎȏȜȠȘȓ
ȎșȑȜȞȖȠȚȜȐȅȓȚȏȜșȪȦȓȖȒȓȗȜȠȜȚȥȠȜȠȩȣȜȥȓȦȪȝȜșȡ
ȥȖȠȪȜȠȥȓȞȓȝȎȦȘȖȝȞȓȐȞȎȧȎȓȠȟȭȐȘȜțȘȞȓȠțȩȓȜȝȖȟȎțȖȭ
ȒȓȗȟȠȐȖȗȒșȭțȓȓȠȓȚșȡȥȦȖȚȝȞȜȑȞȎȚȚȖȟȠȜȚȠȩȟȠȎțȜ
ȐȖȦȪȟȭ
ǰȑșȎȐȓȠȩțȎȝȖȟȎșȢȡțȘȤȖȬȒșȭȝȜȟȠȞȜȗȘȖȟȠȓțȐ
ȫȠȜȗȑșȎȐȓ²ȢȡțȘȤȖȬȒșȭȟȠȞȜȖȠȓșȪȟȠȐȎȘȜȚțȎȠǮȐȟșȓ
ȒȡȬȧȓȗȑșȎȐȓȞȎȕȞȎȏȜȠȎȓȦȪȎșȑȜȞȖȠȚȝȜȟȠȞȜȓțȖȭȝȜșȜȐȖ
ȝȜȠȜșȘȜȐ
13
ĝĞĜĚĔĞđėĨĝĞĎĚěĚėČĔěĚĞĚėĖČ
ǸȜȚțȎȠȩȘȜȠȜȞȩȓȚȩȝȜȟȠȞȜȖșȖȟȝȜȚȜȧȪȬ
ȢȡțȘȤȖȖbuildRoom()ȐȑșȎȐȓȘȞȓȝȘȖțȜ
țȓȕȎȧȖȧȎȬȠȜȠȒȜȔȒȭǰȫȠȜȗȑșȎȐȓȚȩțȎȝȖ
ȦȓȚȢȡțȘȤȖȬbuildFloor()ȒșȭȟȠȞȜȖȠȓșȪ
ȟȠȐȎȝȜșȜȐȖȝȜȠȜșȘȜȐȎȠȎȘȔȓȞȎȕȞȎȏȜȠȎȓȚ
ȝȞȜȑȞȎȚȚȡEXLOGÀRRUȒșȭȐȩȕȜȐȎȫȠȜȗȢȡțȘȤȖȖ
DzșȭȟȠȞȜȖȠȓșȪȟȠȐȎȝȜșȎȖȝȜȠȜșȘȎȏȡȒȓȠȖȟȝȜșȪȕȜ
ȐȎȠȪȟȭȜȒțȎȖȠȎȔȓȢȡțȘȤȖȭȝȜȠȜȚȡȥȠȜȝȜȠȜșȜȘ²ȫȠȜȐȟȓȑȜ
șȖȦȪȝȜșȝȜȟȠȞȜȓțțȩȗȟȐȓȞȣȡȘȎȘȝȜȘȎȕȎțȜțȎȞȖȟ
ǿȜȑșȎȟțȜȎșȑȜȞȖȠȚȡȟȜȕȒȎțȖȭȝȜșȜȐȥȓȞȓȝȎȦȘȎȏȡ
ȒȓȠȝȓȞȓȚȓȧȎȠȪȟȭȐȒȜșȪȖȝȜȝȓȞȓȘȝȞȭȚȜȡȑȜșȪțȜȗȜȏșȎ
ȟȠȖȐȩȝȜșțȭȭȜȝȞȓȒȓșȓțțȩȓȒȓȗȟȠȐȖȭȐȘȎȔȒȜȗȓȓȠȜȥȘȓ
ǰȫȠȜȗȑșȎȐȓȥȓȞȓȝȎȦȘȎȏȡȒȓȠȞȎȕȚȓȧȎȠȪȏșȜȘȖȝȜȐȟȓȗ
ȝșȜȧȎȒȖȝȞȭȚȜȡȑȜșȪțȜȗȜȏșȎȟȠȖțȜȫȠȜȠȎșȑȜȞȖȠȚȒȜȟȠȎ
ȠȜȥțȜȑȖȏȜȘȥȠȜȏȩȐȩȝȜșțȭȠȪȖȒȞȡȑȖȓȕȎȒȎȥȖǸȝȞȖȚȓȞȡ
ȐȑșȎȐȓȚȩȖȟȝȜșȪȕȡȓȚȫȠȜȠȎșȑȜȞȖȠȚȒșȭȞȎȕȞȎȏȜȠȘȖ
ȝȞȜȑȞȎȚȚȩȥȓȞȓȝȎȦȘȖȢȓȞȚȓȞȎȘȜȠȜȞȎȭȏȡȒȓȠȕȎȟȓȖȐȎȠȪ
ȝȜșȭȝȞȭȚȜȡȑȜșȪțȜȗȢȜȞȚȩǶȟȝȜșȪȕȜȐȎțȖȓȑȖȏȘȖȣȎșȑȜ
ȞȖȠȚȜȐȐȚȓȟȠȜȔȓȟȠȘȜȕȎȝȞȜȑȞȎȚȚȖȞȜȐȎțțȩȣȞȓȦȓțȖȗȝȜ
ȕȐȜșȭȓȠȖȟȝȜșȪȕȜȐȎȠȪȜȒȖțȖȠȜȠȔȓȘȜȒȒșȭȞȓȦȓțȖȭȚțȜ
ȔȓȟȠȐȎȕȎȒȎȥ
ǿȀǾǼǶȀdzǹȊǿȀǰǼǽǼǹǮǶǽǼȀǼǹǸǮ
229
ˀ̛̭͘ϭϯ͘ϭ͘ʶ̨̨̨̨̨̨̨̡̛̛̛̛̣̭̯̬̯̖̣̭̯̪̣̥̙̖̯̭̯̬̯̪̯̣̔̔́̽̏̌̌̽
ěĜĚđĖĞĔĜĚĎČęĔđČėďĚĜĔĞĘČ
ĎħĖėČĐħĎČęĔīěđĜđĖĜħĞĔī
ǽȜȟȠȞȜȓțȖȓȑȜȞȖȕȜțȠȎșȪțȜȗȝȜȐȓȞȣțȜȟȠȖȝȜȒȜȏțȜȟȠȞȜ
ȖȠȓșȪȟȠȐȡȟȠȓțȩțȜȐȚȓȟȠȜȠȜȑȜȥȠȜȏȩȒȐȖȑȎȠȪȟȭȐȐȓȞȣ
ȝȜȟșȓȡȘșȎȒȘȖȞȭȒȎ ȟȠȞȜȘȖ ȏșȜȘȜȐȒșȭȟȠȞȜȖȠȓșȪȟȠȐȎ
ȟșȓȒȡȬȧȓȑȜȞȭȒȎȥȓȞȓȝȎȦȘȎȏȡȒȓȠȝȓȞȓȚȓȧȎȠȪȟȭȐșȓ
ȐȜ ȖșȖ ȐȝȞȎ ȐȜ ȝȓȞȓȣȜȒȭ Ș ȟșȓȒ ȡ ȬȧȓȚ ȡ Ȟȭ Ȓ ȡ ȟȠ Ȝșȏ
Ȥȡ ǽȞȜȤȓȟȟȞȎȕȚȓȧȓțȖȭȏșȜȘȜȐȝȜșȎȝȜȠȜșȘȎȭțȎȕȜȐȡ
ȐȩȘșȎȒȩȐȎțȖȓȚȎȐȩȟȠȞȎȖȐȎȓȚȡȬȑȜȞȖȕȜțȠȎșȪțȡȬȝȜ
ȐȓȞȣțȜȟȠȪ²ȝȓȞȓȘȞȩȠȖȓȚ.
ǿȘȜțȟȠȞȡȖȞȡȓȚȢȡțȘȤȖȬsweepField()ȘȜȠȜȞȎȭȏȡȒȓȠ
ȝȞȖțȖȚȎȠȪȠȞȖȝȎȞȎȚȓȠȞȎlengthwidthȖsweepFunc.
ǽȎȞȎȚȓȠȞȩlengthȖwidthȏȡȒȡȠȜȝȞȓȒȓșȭȠȪȞȎȕȚȓȞȝȓȞȓ
ȘȞȩȠȖȭȘȎȘȝȜȘȎȕȎțȜțȎȞȖȟ
ȍȕȩȘȝȞȜȑȞȎȚȚȖȞȜȐȎțȖȭ/XDȒȜȝȡȟȘȎȓȠȖȟȝȜșȪȕȜȐȎțȖȓ
ȢȡțȘȤȖȗȐȐȖȒȓȝȎȞȎȚȓȠȞȜȐǽȎȞȎȚȓȠȞȡsweepFuncȏȡȒȓȠ
ȝȓȞȓȒȎȐȎȠȪȟȭȢȡțȘȤȖȭȘȜȠȜȞȎȭȏȡȒȓȠȐȩȕȩȐȎȠȪȟȭȐȘȎȔ
ȒȜȗȝȜȕȖȤȖȖȝȓȞȓȘȞȩȠȖȭȑȒȓȝȜȠȞȓȏȡȓȠȟȭȐȩȝȜșțȓțȖȓȘȎ
ȘȖȣșȖȏȜȒȓȗȟȠȐȖȗ
230
DZǹǮǰǮ
ǸȜȑȒȎȢȡțȘȤȖȭbuildFloor()ȏȡȒȓȠȐȩȕȩȐȎȠȪȢȡțȘȤȖȬ
sweepField()ȒșȭȟȠȞȜȖȠȓșȪȟȠȐȎȝȓȞȓȘȞȩȠȖȭȠȜȐȐȖȒȓ
ȝȎȞȎȚȓȠȞȎsweepFuncȏȡȒȓȠȝȓȞȓȒȎțȎȢȡțȘȤȖȭȘȜȠȜȞȎȭ
ȡȘșȎȒȩȐȎȓȠȏșȜȘȖȝȜȒȥȓȞȓȝȎȦȘȜȗȝȞȖȘȎȔȒȜȚȓȓȝȓȞȓȚȓ
ȧȓțȖȖǰȘȎȥȓȟȠȐȓȕțȎȥȓțȖȗȝȎȞȎȚȓȠȞȜȐȚȜȔțȜȝȓȞȓȒȎȐȎȠȪ
șȬȏȩȓȢȡțȘȤȖȖȠȎȘȖȚȜȏȞȎȕȜȚȢȡțȘȤȖȬsweepField()
ȚȜȔțȜțȎȟȠȞȜȖȠȪțȎȐȩȝȜșțȓțȖȓșȬȏȩȣȒȓȗȟȠȐȖȗǻȜȝȜ
ȟȘȜșȪȘȡȜȟțȜȐțȜȓȐțȖȚȎțȖȓȐȫȠȜȗȑșȎȐȓȡȒȓșȭȓȠȟȭȟȜȕȒȎ
țȖȬȝȓȞȓȘȞȩȠȖȗȚȩȞȎȟȟȚȜȠȞȖȚȎșȑȜȞȖȠȚȝȞȜȑȞȎȚȚȩ
EXLOGÀRRUȘȜȠȜȞȎȭȏȡȒȓȠȟȠȞȜȖȠȪȖȚȓțțȜȝȓȞȓȘȞȩȠȖȭ²ȝȜ
șȩȖȝȜȠȜșȘȖ
Длина
Ширина
ˀ̛̭͘ϭϯ͘Ϯ͘ˁ̨̨̡̛̛̯̬̯̖̣̭̯̪̖̬̖̬̼̯̪̬̥̖̯̬̽̏́͗̌̌lengthʹ̨̯̾
̸̨̡̨̛̬̭̭̯̦̖̪̖̬̖̖̬̖̪̹̜͕̪̬̥̖̯̬̌́̔̌̌̌̌widthʹ̨̨̛̯̬̭̭̯̦̖̾̌́
̸̨̡̛̭̪̬̯̖̬̖̪̹̌̏̌̌
ĝĞĜĚĔĞđėĨĝĞĎĚěđĜđĖĜħĞĔĕ
ǽȞȜȑȞȎȚȚȎEXLOG ÀRRUȏȡȒȓȠȝȞȖțȖȚȎȠȪȒȐȎȎȞȑȡȚȓțȠȎ
ȘȜȚȎțȒțȜȗȟȠȞȜȘȖlengthȖwidthǸȎȘȡȝȜȚȖțȎșȜȟȪȞȎ
țȓȓȫȠȖȎȞȑȡȚȓțȠȩȜȝȞȓȒȓșȭȬȠȞȎȕȚȓȞțȎȦȓȑȜȝȓȞȓȘȞȩ
ȠȖȭ
ǿȀǾǼǶȀdzǹȊǿȀǰǼǽǼǹǮǶǽǼȀǼǹǸǮ
231
ǻȎȞȖȟȟȠȞȓșȘȜȗȟȐȓȞȣȡȐțȖȕȜȏȜȕțȎȥȓțȝȡȠȪȘȜȠȜȞȩȗ
ȝȞȜȒȓșȎȓȠȥȓȞȓȝȎȦȘȎȥȠȜȏȩȐȩșȜȔȖȠȪȝȓȞȓȘȞȩȠȖȓȞȎȕȚȓ
ȞȜȚðȏșȜȘȎ
ˀ̛̭͘ϭϯ͘ϯ͘ʿ̸̸̡̨̨̨̡̨̨̛̱̯͕̯̬̼̜̪̬̖̣̖̯̖̬̖̪̹͕̯̼̼̣̙̯̽̔̌̌̌̍̏̽
̡̨̛̪̖̬̖̬̼̯̖̬̥̖̬̥̌̚ϯпϰ̨̡̣̍̌
ȅȠȜȏȩȝȜȟȠȞȜȖȠȪȝȓȞȓȘȞȩȠȖȓȥȓȞȓȝȎȦȘȎȟțȎȥȎșȎȒȐȖ
ȔȓȠȟȭȐȝȓȞȓȒȐȒȜșȪȝȓȞȐȜȑȜȞȭȒȎ ȟȠȜșȏȤȎ ȓȟșȖȟȚȜȠȞȓȠȪ
țȎȞȖȟȡțȜȘ ȝȜȚȓȧȎȭȝȜȒȟȓȏȭȘȎȚȓțȪȝȞȖȘȎȔȒȜȚȝȓȞȓȚȓ
ȧȓțȖȖDzșȭȐȩȏȜȞȎȢȡțȘȤȖȖȘȜȠȜȞȎȭȏȡȒȓȠȝȞȜȖȕȐȜȒȖȠȪ
ȠȞȓȏȡȓȚȩȓȒȓȗȟȠȐȖȭȖȟȝȜșȪȕȡȓȠȟȭȝȎȞȎȚȓȠȞsweepFunc
ȘȜȠȜȞȩȗȚȩȞȎȟȟȚȜȠȞȖȚȏȜșȓȓȝȜȒȞȜȏțȜȐȞȎȕȒȓșȓ«ǰȩȕȜȐ
ȢȡțȘȤȖȖsweepFunc()ªȒȎșȓȓȐȫȠȜȗȑșȎȐȓǽȜȘȎȝȞȜȟȠȜȕȎ
ȝȜȚțȖȥȠȜȐȫȠȜȠȝȎȞȎȚȓȠȞȝȓȞȓȒȎȓȠȟȭȢȡțȘȤȖȭȘȜȠȜȞȎȭ
ȏȡȒȓȠȐȩȕȩȐȎȠȪȟȭȝȞȖȘȎȔȒȜȚȝȓȞȓȚȓȧȓțȖȖȥȓȞȓȝȎȦȘȖȐ
ȝȞȓȒȓșȎȣȟȠȞȜȭȧȓȑȜȟȭȝȓȞȓȘȞȩȠȖȭǰȝȞȜȑȞȎȚȚȓbuildÀRRUȢȡțȘȤȖȭȝȓȞȓȒȎȐȎȓȚȎȭȝȎȞȎȚȓȠȞȡsweepFunc²ȫȠȜ
selectAndPlaceDown()ȋȠȜȢȡțȘȤȖȭȚȜȒȡșȭhareȘȜȠȜȞȎȭ
ȐȩȏȖȞȎȓȠțȓȝȡȟȠȡȬȭȥȓȗȘȡȖțȐȓțȠȎȞȭȥȓȞȓȝȎȦȘȖȖȡȟȠȎ
țȎȐșȖȐȎȓȠȏșȜȘȖȕȐȩȏȞȎțțȜȗȭȥȓȗȘȖȝȜȒȥȓȞȓȝȎȦȘȜȗȀȎȘ
ȘȎȘȥȓȞȓȝȎȦȘȎțȎȥȖțȎȓȠȒȐȖȔȓțȖȓȐșȓȐȜȚțȖȔțȓȚȡȑșȡ
ȓȟșȖȟȚȜȠȞȓȠȪȟȐȓȞȣȡ ȓȗțȡȔțȜȟȜȐȓȞȦȖȠȪlength - 1
ȝȓȞȓȚȓȧȓțȖȗȐȒȜșȪȝȓȞȐȜȑȜȞȭȒȎ ȟȠȜșȏȤȎ ȥȠȜȏȩȒȜȟȠȖȑ
țȡȠȪȝȜȟșȓȒțȓȑȜȏșȜȘȎȘȎȘȝȜȘȎȕȎțȜțȎȞȖȟ
232
DZǹǮǰǮ
ˀ̛̭͘ϭϯ͘ϰ͘ʿ̨̭̣̖length - 1̸̵̡̨̛̛̪̖̬̖̥̖̺̖̦̜̖̬̖̪̹̦̯̭̦̌̌̌̔́̌̔
̨̨̡̨̨̨̛̪̭̣̖̦̥̣̥̪̖̬̬̔̍̏̐́̔̌;̶̨̭̯̣̍̌Ϳ
ȅȠȜȏȩȝȓȞȓȗȠȖȘȟșȓȒȡȬȧȓȚȡȞȭȒȡ ȟȠȜșȏȤȡ ȥȓȞȓȝȎȦ
ȘȎȒȜșȔțȎȝȜȐȓȞțȡȠȪțȎȝȞȎȐȜȖȝȓȞȓȒȐȖțȡȠȪȟȭțȎȜȒțȡȝȜ
ȕȖȤȖȬȎȕȎȠȓȚȟțȜȐȎȝȜȐȓȞțȡȠȪțȎȝȞȎȐȜȥȠȜȏȩȜȘȎȕȎȠȪȟȭȐ
ȝȜșȜȔȓțȖȖȝȜȘȎȕȎțțȜȚțȎȞȖȟȟȝȞȎȐȎ
ˀ̛̭͘ϭϯ͘ϱ͘ˋ̸̡̨̨̨̨̛̛̛̖̬̖̪̹̪̬̖̯̭̦̪̬͕̙̖̯̭̪̖̬̖̭̦̌̌̏̌̏̌́̌̌̏̔̏́̏̔̏̌
̸̸̨̨̨̨̨̨̡̨̨̨̛̛̛̪̬̖̯̭͕̯̼̪̯̯̭̪̭̯̬̖̦̭̣̖̱̺̖̬̏̌̏̌́̍̔̐̏̽́̀̔̀̐́̔̌
;̶̨̭̯̣̍̌Ϳ
DzȎșȓȓȥȓȞȓȝȎȦȘȎȐȩȝȜșțȭȓȠȘȜȒȎțȎșȜȑȖȥțȩȗȖȟȝȜșȪ
ȕȜȐȎțțȜȚȡȝȞȖȟȠȞȜȖȠȓșȪȟȠȐȓȝȓȞȐȜȑȜȞȭȒȎ ȟȠȜșȏȤȎ ǼțȎ
ȝȓȞȓȚȓȧȎȓȠȟȭȐȝȓȞȓȒlength - 1ȞȎȕȐȩȕȩȐȎȭȢȡțȘȤȖȬ
selectAndPlaceDown()ȝȞȖȘȎȔȒȜȚȝȓȞȓȒȐȖȔȓțȖȖȥȠȜȏȩ
ȡȟȠȎțȜȐȖȠȪȝȜȒȟȜȏȜȗȏșȜȘȀȎȘȖȚȜȏȞȎȕȜȚȐȩȟȠȞȎȖȐȎȓȠȟȭ
ȒȐȎȞȭȒȎ ȟȠȜșȏȤȎ ȏșȜȘȜȐȘȎȘȝȜȘȎȕȎțȜțȎȞȖȟ
ǿȀǾǼǶȀdzǹȊǿȀǰǼǽǼǹǮǶǽǼȀǼǹǸǮ
233
ˀ̛̭͘ϭϯ͘ϲ͘ʿ̸̨̨̡̨̨̛̛̛̛̣̙̖̦̖̖̬̖̪̹̪̭̣̖̖̬̹̖̦̭̯̬̯̖̣̭̯̌̌̏́̽̏̌̚
̨̨̨̯̬̬̏̐́̔̌;̶̨̭̯̣̍̌Ϳ
ȀȓȝȓȞȪȥȠȜȏȩȝȓȞȓȗȠȖȘȟșȓȒȡȬȧȓȚȡȞȭȒȡ ȟȠȜșȏȤȡ ȥȓ
ȞȓȝȎȦȘȎȒȜșȔțȎȝȜȐȓȞțȡȠȪțȎșȓȐȜȝȓȞȓȒȐȖțȡȠȪȟȭȐȝȓȞȓȒ
ȖȟțȜȐȎȝȜȐȓȞțȡȠȪțȎșȓȐȜȘȎȘȝȜȘȎȕȎțȜțȎȞȖȟ
ˀ̛̭͘ϭϯ͘ϳ͘ʿ̨̨̨̡̡̨̨̨̨̭̣̖̯͕̪̭̯̬̖̦̯̬̜̬̐̌̏́̔;̶̨̭̯̣̖̍Ϳ̸̡͕̖̬̖̪̹̌̌
̨̨̨̨̨̨̛̣̙̦̪̖̬̦̱̯̦̣̖͕̹̦̱̯̪̖̬̖͕̭̦̪̖̬̦̱̯̦̣̖̔̌̏̽̌̏̌̐̽̏̔̏̌̏̽̌̏
ȀȎȘȥȓȞȓȝȎȦȘȎȝȞȜȒȜșȔȎȓȠȒȐȖȑȎȠȪȟȭȐȝȓȞȓȒȖțȎȕȎȒ
ȝȜȞȭȒȎȚȒȜȠȓȣȝȜȞȝȜȘȎȘȜșȖȥȓȟȠȐȜȝȜȟȠȞȜȓțțȩȣȞȭȒȜȐ
ȟȠȜșȏȤȜȐ țȓȟȠȎțȓȠȞȎȐțȩȚȕȎȒȎțțȜȗȦȖȞȖțȓȝȓȞȓȘȞȩ
ȠȖȭǸȜȑȒȎȥȓȞȓȝȎȦȘȎȕȎȐȓȞȦȖȠȐȩȝȜșțȓțȖȓȫȠȜȗȥȎȟȠȖ
ȎșȑȜȞȖȠȚȎȝȓȞȓȘȞȩȠȖȓȏȡȒȓȠȝȜȟȠȞȜȓțȜțȜȞȎȏȜȠȎȓȧȓțȓ
ȏȡȒȓȠȕȎȘȜțȥȓțȎǽȜȟșȓȠȜȑȜȘȎȘȝȓȞȓȘȞȩȠȖȓȑȜȠȜȐȜȚȜȔțȜ
ȏȩșȜȏȩȕȎȝȡȟȠȖȠȪȝȞȜȑȞȎȚȚȡbuildroomȥȠȜȏȩȝȜȟȠȞȜȖȠȪ
ȘȜȚțȎȠȡǻȜȐȠȎȘȜȚȟșȡȥȎȓțȎȚțȡȔțȜȥȠȜȏȩȥȓȞȓȝȎȦȘȎ
țȎȣȜȒȖșȎȟȪȐȠȜȗȔȓȝȜȕȖȤȖȖȖȏȩșȎȜȞȖȓțȠȖȞȜȐȎțȎȐȠȜȚ
234
DZǹǮǰǮ
ȔȓțȎȝȞȎȐșȓțȖȖȥȠȜȖȝȞȖțȎȥȎșȓȟȠȞȜȖȠȓșȪȟȠȐȎȝȓȞȓ
ȘȞȩȠȖȭǰȜȕȐȞȎȧȓțȖȓȥȓȞȓȝȎȦȘȖȐȖȟȣȜȒțȜȓȝȜșȜȔȓțȖȓ
ȑȎȞȎțȠȖȞȡȓȠȥȠȜȟȠȓțȩȘȜȠȜȞȩȓȜțȎȝȜȟȠȞȜȖȠȝȞȖȝȜȚȜȧȖ
ȝȞȜȑȞȎȚȚȩbuildroomȏȡȒȡȠȠȜȥțȜȟȜȜȠȐȓȠȟȠȐȜȐȎȠȪȝȜ
ȟȠȞȜȓțțȜȚȡȝȓȞȓȘȞȩȠȖȬ
ĎĚēĎĜČĞĖĔĝġĚĐęĚĕěĚēĔĢĔĔ
ǰȜȕȐȞȎȠȥȓȞȓȝȎȦȘȖȐȖȟȣȜȒțȜȓȝȜșȜȔȓțȖȓȖțȎȝȞȎȐșȓțȖȓ
ȟȜȜȠȐȓȠȟȠȐȡȬȧȖȓțȎȥȎșȡȟȠȞȜȖȠȓșȪȟȠȐȎȐȜȕȚȜȔțȜȒȐȡȚȭ
ȝȡȠȭȚȖȐȕȎȐȖȟȖȚȜȟȠȖȜȠȠȜȑȜȖȕȥȓȠțȜȑȜȖșȖțȓȥȓȠțȜȑȜ
ȘȜșȖȥȓȟȠȐȎȏșȜȘȜȐȟȜȟȠȎȐșȓțȎȦȖȞȖțȎȝȓȞȓȘȞȩȠȖȭ
dzȟșȖȝȓȞȓȘȞȩȠȖȓȝȜȦȖȞȖțȓȟȜȟȠȜȖȠȖȕȥȓȠțȜȑȜȘȜșȖȥȓ
ȟȠȐȎȏșȜȘȜȐȥȓȞȓȝȎȦȘȎȏȡȒȓȠțȎȣȜȒȖȠȪȟȭȐȝȞȎȐȜȚțȖȔțȓȚ
ȡȑșȡȘȎȘȝȜȘȎȕȎțȜțȎȞȖȟ
ˀ̛̭͘ϭϯ͘ϴ͘ˋ̵̡̨̨̨̨̡̨̛̛̖̬̖̪̹̦̯̭̭̥̥̪̬̥̣̖̦̙̦̖̬̌̌̌̔́̏̌̌̏̍̐́̔̌
;̨̡̛̭̯̬Ϳ̸̸̡̨̨̨̨̨̡̨̛̛̛̛̛̛̛͕̖̭̣̪̖̬̖̬̼̯̖̪̹̬̦̖̭̭̯̯̖̯̦̣̖̭̯̐̏̌̚
̨̡̨̣̍̏
ǸȞȎȟțȎȭșȖțȖȭțȎȞȖȟȝȜȘȎȕȩȐȎȓȠȝȡȠȪȘȜȠȜȞȩȗ
ȒȜșȔțȎȟȜȐȓȞȦȖȠȪȥȓȞȓȝȎȦȘȎȥȠȜȏȩȐȓȞțȡȠȪȟȭȐȖȟȣȜȒțȜȓ
ȝȜșȜȔȓțȖȓȖȝȜȐȓȞțȡȠȪȟȭȐȖȟȣȜȒțȜȚțȎȝȞȎȐșȓțȖȖǰȫȠȜȚ
ȟșȡȥȎȓȥȓȞȓȝȎȦȘȎȒȜșȔțȎ
1. ȝȜȐȓȞțȡȠȪțȎȝȞȎȐȜ
ǿȀǾǼǶȀdzǹȊǿȀǰǼǽǼǹǮǶǽǼȀǼǹǸǮ
235
2. ȝȓȞȓȚȓȟȠȖȠȪȟȭȐȝȓȞȓȒwidth - 1ȞȎȕ
3. ȝȜȐȓȞțȡȠȪțȎȝȞȎȐȜ
ǼȒțȎȘȜȓȟșȖȝȓȞȓȘȞȩȠȖȓȝȜȦȖȞȖțȓȟȜȟȠȜȖȠȖȕțȓȥȓȠ
țȜȑȜȘȜșȖȥȓȟȠȐȎȏșȜȘȜȐȥȓȞȓȝȎȦȘȎȕȎȘȎțȥȖȐȎȓȠȐȐȓȞȣțȓȗ
ȥȎȟȠȖȝȓȞȓȘȞȩȠȖȭȘȎȘȝȜȘȎȕȎțȜțȎȞȖȟ
ˀ̛̭͘ϭϯ͘ϵ͘ˋ̵̵̡̨̨̨̨̡̨̛̖̬̖̪̹̦̯̭̭̥̥̪̬̥̣̖̖̬̦̖̬̌̌̌̔́̏̌̌̏̍̏̐́̔̌
;̨̡̛̭̯̬Ϳ̸̸̡̨̨̨̨̨̡̨̛̛̛̛̛̛̛͕̖̭̣̪̖̬̖̬̼̯̖̪̹̬̦̖̭̭̯̯̦̖̖̯̦̣̖̭̯̐̏̌̚
̨̡̨̣̍̏
ǸȞȎȟțȎȭșȖțȖȭțȎȞȖȟȝȜȘȎȕȩȐȎȓȠȝȡȠȪȘȜȠȜȞȩȗ
ȒȜșȔțȎȟȜȐȓȞȦȖȠȪȥȓȞȓȝȎȦȘȎȥȠȜȏȩȐȓȞțȡȠȪȟȭȘȖȟȣȜȒțȜ
ȚȡȝȜșȜȔȓțȖȬȖțȎȝȞȎȐșȓțȖȬǰȫȠȜȚȟșȡȥȎȓȥȓȞȓȝȎȦȘȎ
ȒȜșȔțȎ
1. ȝȓȞȓȚȓȟȠȖȠȪȟȭțȎȕȎȒlength - 1ȞȎȕ
2. ȝȜȐȓȞțȡȠȪțȎșȓȐȜ
3. ȝȓȞȓȚȓȟȠȖȠȪȟȭȐȝȓȞȓȒwidth - 1ȞȎȕ
4. ȝȜȐȓȞțȡȠȪțȎȝȞȎȐȜ
Ǯ ș ȑ ȜȞȖ Ƞ Ț ȐȜȕȐȞȎ ȧȓț Ȗȭ Ƞ ȩ ȕȎ șȜȔȖ Ȧ Ȫ Ȑ Ȣȡ ț ȘȤ Ȗ Ȭ
sweepField()țȜȝȞȓȔȒȓȥȓȚȝȖȟȎȠȪȟȎȚȡȢȡțȘȤȖȬțȡȔ
țȜȝȜțȭȠȪȘȎȘȝȓȞȓȒȎȐȎȠȪȜȒțȡȢȡțȘȤȖȬȒȞȡȑȜȗ
236
DZǹǮǰǮ
ěđĜđĐČģČĚĐęĚĕĠğęĖĢĔĔĎĐĜğďğĪ
ȂȡțȘȤȖȖbuildWall()ȖbuildRoom()ȘȜȠȜȞȩȓȚȩȖȟȝȜșȪ
ȕȜȐȎșȖȐȑșȎȐȎȣȖțȎȟȠȞȎȖȐȎȓȚȩȓȖȝȜȕȐȜșȭȬȠȟȠȞȜ
ȖȠȪȟȠȓțȩȖȘȜȚțȎȠȩșȬȏȜȑȜȞȎȕȚȓȞȎȝȜȠȜȚȡȥȠȜȝȞȖțȖȚȎ
ȬȠȝȎȞȎȚȓȠȞȩȒșȖțȩȦȖȞȖțȩȖȐȩȟȜȠȩ²lengthwidthȖ
heightȋȠȖȝȎȞȎȚȓȠȞȩȝȜȕȐȜșȭȬȠȟȜȕȒȎȐȎȠȪȟȠȓțȩȖȘȜȚ
țȎȠȩȞȎȕțȩȣȞȎȕȚȓȞȜȐȏȓȕȖȕȚȓțȓțȖȭȖȟȣȜȒțȜȑȜȘȜȒȎ
ǰ ȫȠȜȗ ȑșȎȐȓ Țȩ ȒȜȏȎȐȖȚ Ȑ ȚȜȒȡșȪ h a r e ȢȡțȘȤȖȬ
sweepField()ȖțȎȝȖȦȓȚȝȞȜȑȞȎȚȚȡbuildFloorȒșȭȐȩ
ȕȜȐȎȒȎțțȜȗȢȡțȘȤȖȖǰțȎȟȠȜȭȧȓȓȐȞȓȚȭȢȡțȘȤȖȭsweepField()ȝȓȞȓȚȓȧȎȓȠȥȓȞȓȝȎȦȘȡȝȜȝȞȭȚȜȡȑȜșȪțȜȚȡȝȓȞȓ
ȘȞȩȠȖȬȝȜȚȓȧȎȭȝȜȒȥȓȞȓȝȎȦȘȡȘȎȚȓțțȩȗȘȖȞȝȖȥȝȞȖ
ȘȎȔȒȜȚȓȓȝȓȞȓȚȓȧȓțȖȖ
ǻȜȢȡțȘȤȖȬsweepField()ȚȜȔțȜȖȕȚȓțȖȠȪȠȎȘȥȠȜȏȩ
ȥȓȞȓȝȎȦȘȎȝȓȞȓȚȓȧȎȭȟȪȝȜȝȞȭȚȜȡȑȜșȪțȜȗȢȓȞȚȓȟȎȔȎ
șȎȟȓȚȓțȎȟȜȏȖȞȎșȎȝȦȓțȖȤȡșȖȏȜȞȩșȎȝȜȒȟȜȏȜȗȝȞȭȚȜ
ȡȑȜșȪțȩȓȦȎȣȠȩǸȜȒȘȜȠȜȞȩȗȝȓȞȓȚȓȧȎȓȠȥȓȞȓȝȎȦȘȡȝȜ
ȦȎȏșȜțȡȐȩȘșȎȒȩȐȎțȖȭȜȟȠȎȓȠȟȭțȓȖȕȚȓțțȩȚțȜȒȓȗ
ȟȠȐȖȭȥȓȞȓȝȎȦȘȖȚȜȑȡȠȏȩȠȪȞȎȕșȖȥțȩȚȖ
ȀȎȘȡȬȑȖȏȘȜȟȠȪȐțȎȟȠȞȜȗȘȓȢȡțȘȤȖȖsweepField()
ȜȏȓȟȝȓȥȖȐȎȓȠȝȎȞȎȚȓȠȞsweepFuncȐȘȜȠȜȞȩȗȝȓȞȓȒȎȓȠȟȭ
ȢȡțȘȤȖȭȜȝȞȓȒȓșȭȬȧȎȭȒȓȗȟȠȐȖȭȝȞȜȖȕȐȜȒȖȚȩȓȥȓȞȓ
ȝȎȦȘȜȗȝȞȖȓȓȝȓȞȓȒȐȖȔȓțȖȖȝȜȝȞȭȚȜȡȑȜșȪțȜȚȡȝȜșȬǰ
/XDȠȩȚȜȔȓȦȪȝȓȞȓȒȎȐȎȠȪȐȐȖȒȓȎȞȑȡȚȓțȠȜȐȢȡțȘȤȖȖȠȎȘ
ȔȓȘȎȘȠȩȝȓȞȓȒȎȐȎșȢȡțȘȤȖȭȚȤȓșȩȓȥȖȟșȎȖșȖȟȠȞȜȘȖ
DzȎȐȎȗȒșȭȝȞȖȚȓȞȎȟȜȕȒȎȒȖȚȝȞȜȟȠȡȬȝȞȜȑȞȎȚȚȡȘȜȠȜȞȎȭ
ȝȓȞȓȒȎȓȠȢȡțȘȤȖȬȐȐȖȒȓȝȎȞȎȚȓȠȞȎȒȞȡȑȜȗȢȡțȘȤȖȖǰ
ȜȏȜșȜȥȘȓȘȜȚȎțȒțȜȗȟȠȞȜȘȖȐȐȓȒȖȘȜȚȎțȒȡedit announce
ȒșȭȟȜȕȒȎțȖȭțȜȐȜȗȝȞȜȑȞȎȚȚȩȖȐȐȓȒȖȟșȓȒȡȬȧȖȗȘȜȒ
announce
1. function hello()
2. print('Hello there!')
3. end
4.
5. function goodbye()
6. print('Goodbye!')
ǿȀǾǼǶȀdzǹȊǿȀǰǼǽǼǹǮǶǽǼȀǼǹǸǮ
237
7. end
8.
9. function announce(func)
10. print('About to call the function.')
11. func()
12. print('Function called.')
13. end
14.
DQQRXQFH KHOOR ±ɩɨɫɥɟɢɦɟɧɢKHOORɧɟɬɤɪɭɝɥɵɯ
ɫɤɨɛɨɤ
DQQRXQFH JRRGE\H ɩɨɫɥɟɢɦɟɧɢJRRGE\Hɧɟɬɤɪɭɝɥɵɯ
ɫɤɨɛɨɤ
ǿȜȣȞȎțȖȝȞȜȑȞȎȚȚȡȖȐȩȗȒȖȖȕȞȓȒȎȘȠȜȞȎȝȜȟșȓȐȐȜ
ȒȎȐȟȓȣȖțȟȠȞȡȘȤȖȗȀȩȠȎȘȔȓȚȜȔȓȧȪȕȎȑȞȡȕȖȠȪȫȠȡȝȞȜ
ȑȞȎȚȚȡȐȩȝȜșțȖȐȘȜȚȎțȒȡpastebin get sML2CbZ3 announce.
ǽȜȟșȓȕȎȝȡȟȘȎȫȠȜȗȝȞȜȑȞȎȚȚȩȐȜȏȜșȜȥȘȓȘȜȚȎțȒțȜȗ
ȟȠȞȜȘȖȠȩȡȐȖȒȖȦȪȟȜȜȏȧȓțȖȓ
> announce
About to call the function.
Hello there!
Function called.
About to call the function.
Goodbye!
Function called.
ȁ ȢȡțȘȤȖȖ announce() ȓȟȠȪ ȜȒȖț ȝȎȞȎȚȓȠȞ²func.
ǽȞȖȝȓȞȐȜȚȐȩȕȜȐȓȫȠȜȗȢȡțȘȤȖȖȐȟȠȞȜȘȓȐȘȎȥȓȟȠȐȓ
ȎȞȑȡȚȓțȠȎȓȗȝȓȞȓȒȎȓȠȟȭȢȡțȘȤȖȭhello()ȘȎȘȕțȎȥȓțȖȓ
ȝȎȞȎȚȓȠȞȎfuncǼȏȞȎȠȖȐțȖȚȎțȖȓȥȠȜȟȘȜȏȘȖȐȖȚȓțȖ
ȝȓȞȓȒȎȐȎȓȚȜȗȢȡțȘȤȖȖțȓȡȘȎȕȩȐȎȬȠȟȭǿȘȜȏȘȖȡȘȎȕȩȐȎ
ȬȠ/XDȥȠȜȟșȓȒȡȓȠ©ȐȩȕȐȎȠȪȫȠȡȢȡțȘȤȖȬªțȜȓȟșȖȘȞȡȑ
șȩȣȟȘȜȏȜȘțȓȠȠȜȐȚȓȟȠȜȐȩȕȜȐȎ/XDȝȓȞȓȒȎȓȠȢȡțȘȤȖȬ
hello()ȝȎȞȎȚȓȠȞȡfuncȢȡțȘȤȖȖannounce()ȂȡțȘȤȖȭ
hello()ȟȜȣȞȎțȭȓȠȟȭȐȐȖȒȓȝȎȞȎȚȓȠȞȎfuncȠȜȥțȜȠȎȘȔȓ
ȘȎȘȟȜȣȞȎțȭșȖȟȪȏȩȤȓșȜȓȥȖȟșȜȖșȖȟȠȞȜȘȎǵȎȠȓȚȐȟȠȞȜ
ȘȓȐȩȕȩȐȎȓȠȟȭȢȡțȘȤȖȭfunc()ȝȜȟȘȜșȪȘȡȜțȎȖȚȓȓȠ
ȘȞȡȑșȩȓȟȘȜȏȘȖǻȡȖȝȜȟȘȜșȪȘȡȐȘȎȥȓȟȠȐȓȕțȎȥȓțȖȭȝȎ
ȞȎȚȓȠȞȎfuncȏȩșȜȝȓȞȓȒȎțȜȕțȎȥȓțȖȓhelloȐȩȕȩȐȎȓȠȟȭ
238
DZǹǮǰǮ
ȢȡțȘȤȖȭhello()ȖȝȞȜȑȞȎȚȚȎȐȩȐȜȒȖȠȟȜȜȏȧȓțȖȓHello
there!.
ǵȎȠȓȚȐȟȠȞȜȘȓȝȞȜȖȟȣȜȒȖȠȝȜȐȠȜȞțȩȗȐȩȕȜȐȢȡțȘ
ȤȖȖannounce()țȜțȎȫȠȜȠȞȎȕȝȎȞȎȚȓȠȞȡfuncȝȓȞȓȒȎȓȠȟȭ
ȕțȎȥȓțȖȓgoodbyeȎȕțȎȥȖȠȐȟȠȞȜȘȓȐȩȕȩȐȎȓȠȟȭȢȡțȘ
ȤȖȭgoodbye()ȖȐȩȐȜȒȖȠȟȭȟȜȜȏȧȓțȖȓGoodbye!.
ǸȜȒȢȡțȘȤȖȖannounce()țȓȖȕȚȓțȭȓȠȟȭǽȞȜȟȠȜȜțȚȜ
ȔȓȠȐȩȕȩȐȎȠȪșȬȏȡȬȢȡțȘȤȖȬȝȓȞȓȒȎțțȡȬȝȎȞȎȚȓȠȞȡ
funcǮțȎșȜȑȖȥțȜȢȡțȘȤȖȭsweepField()ȘȜȠȜȞȡȬȚȩ
ȟȜȕȒȎȒȖȚȏȡȒȓȠȐȩȕȩȐȎȠȪȢȡțȘȤȖȬȝȓȞȓȒȎțțȡȬȝȎȞȎȚȓ
ȠȞȡsweepFuncȂȡțȘȤȖȭbuildFloor()ȏȡȒȓȠȝȓȞȓȒȎȐȎȠȪ
ȢȡțȘȤȖȬhare.selectAndPlaceDown()ȐȘȎȥȓȟȠȐȓȝȎȞȎȚȓ
ȠȞȎȢȡțȘȤȖȖsweepField()ȝȜȫȠȜȚȡȥȓȞȓȝȎȦȘȎȏȡȒȓȠȞȎȕ
ȚȓȧȎȠȪȝȜȒȟȜȏȜȗȏșȜȘȖȝȓȞȓȚȓȧȎȭȟȪȝȜȝȞȭȚȜȡȑȜșȪțȜȚȡ
ȝȓȞȓȘȞȩȠȖȬ
ĐĚĜČčĚĞĖČĘĚĐğėī0):ǽȜȟȘȜșȪȘȡȢȡțȘȤȖȭsweepField()ȝȜșȓȕțȎȒșȭȚțȜȑȖȣ
ȒȞȡȑȖȣȝȞȜȑȞȎȚȚȚȩȝȜȚȓȟȠȖȚȓȓȐȚȜȒȡșȪhareȘȜȠȜȞȩȗ
țȎȥȎșȖȞȎȕȞȎȏȎȠȩȐȎȠȪȐȑșȎȐȓȂȡțȘȤȖȭbuildFloor()
ȘȜȠȜȞȡȬȚȩȠȎȘȔȓȒȜȏȎȐȖȚȐȫȠȜȠȚȜȒȡșȪȏȡȒȓȠȐȩȕȩȐȎȠȪ
ȢȡțȘȤȖȬsweepField()ǰȜȏȜșȜȥȘȓȘȜȚȎțȒțȜȗȟȠȞȜȘȖȐȩ
ȝȜșțȖȘȜȚȎțȒȡedit hareǽȓȞȓȚȓȟȠȖȘȡȞȟȜȞȐțȖȔțȬȬ
ȥȎȟȠȪȢȎȗșȎȖȝȞȜȒȜșȔȖȘȜȒȐȐȓȒȭȟșȓȒȡȬȧȓȓ
hare
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
...ɩɪɨɩɭɫɤ...
-- sweepField() ɩɟɪɟɦɟɳɚɟɬɫɹɩɨ
–- ɫɬɪɨɤɚɦɢɫɬɨɥɛɰɚɦɨɛɥɚɫɬɢɫɩɟɪɟɞɢ
-- ɢɫɩɪɚɜɚɨɬɱɟɪɟɩɚɲɤɢɨɛɪɚɳɚɹɫɶɤ
-- ɩɚɪɚɦɟɬɪɭsweepFuncɜɤɚɠɞɨɣɩɨɡɢɰɢɢ
function sweepField(length, width, sweepFunc)
local turnRightNext = true
for x = 1, width do
for y = 1, length do
sweepFunc()
ǿȀǾǼǶȀdzǹȊǿȀǰǼǽǼǹǮǶǽǼȀǼǹǸǮ
239
145.
-- ɧɟɩɟɪɟɦɟɳɚɬɶɫɹɜɩɟɪɟɞɜɩɨɫɥɟɞɧɟɣɫɬɪɨɤɟ
146.
if y ~= length then
147.
turtle.forward()
148.
end
149.
end
150.
151.
-- ɧɟɩɨɜɨɪɚɱɢɜɚɬɶɫɹɜɩɨɫɥɟɞɧɟɦɫɬɨɥɛɰɟ
152.
if x ~= width then
153.
-- ɩɟɪɟɯɨɞɤɫɥɟɞɭɸɳɟɦɭɫɬɨɥɛɰɭ
154.
if turnRightNext then
155.
turtle.turnRight()
156.
turtle.forward()
157.
turtle.turnRight()
158.
else
159.
turtle.turnLeft()
160.
turtle.forward()
161.
turtle.turnLeft()
162.
end
163.
164.
turnRightNext = not turnRightNext
165.
end
166.
end
167.
168.
-- ɜɨɡɜɪɚɳɟɧɢɟɤɢɫɯɨɞɧɨɣɩɨɡɢɰɢɢ
169.
if width % 2 == 0 then
170.
turtle.turnRight()
171.
else
172.
for y = 1, length - 1 do
173.
turtle.back()
174.
end
175.
turtle.turnLeft()
176.
end
177.
178.
for x = 1, width - 1 do
179.
turtle.forward()
180.
end
181.
turtle.turnRight()
182.
183.
return true
184. end
185.
240
DZǹǮǰǮ
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
-- buildFloor() ɜɵɤɥɚɞɵɜɚɟɬ
-- ɩɪɹɦɨɭɝɨɥɶɧɨɟɩɟɪɟɤɪɵɬɢɟ
-- ɢɡ ɛɥɨɤɨɜ ɜ ɢɧɜɟɧɬɚɪɟ
function buildFloor(length, width)
if countInventory() < length * width then
return false -- ɧɟɞɨɫɬɚɬɨɱɧɨɛɥɨɤɨɜ
end
turtle.up()
sweepField(length, width, selectAndPlaceDown)
end
ǿȜȣȞȎțȖȝȞȜȑȞȎȚȚȡȖȐȩȗȒȖȖȕȞȓȒȎȘȠȜȞȎȝȜȟșȓȐȐȜȒȎ
ȐȟȓȣȖțȟȠȞȡȘȤȖȗȀȩȠȎȘȔȓȚȜȔȓȦȪȟȘȎȥȎȠȪȫȠȜȠȚȜȒȡșȪ
ȐȩȝȜșțȖȐȘȜȚȎțȒȡpastebin get wwzvaKuW hare.
ĎħēĚĎĠğęĖĢĔĔ;?--8.=6+
DzȎȐȎȗȞȎȟȟȚȜȠȞȖȚțȜȐȩȓȢȡțȘȤȖȖȐȚȜȒȡșȓhareȖțȎȥțȓȚ
ȟsweepField()ȋȠȎȢȡțȘȤȖȭȝȓȞȓȚȓȧȎȓȠȥȓȞȓȝȎȦȘȡȝȜ
ȐȟȓȚȡȐȩȘșȎȒȩȐȎȓȚȜȚȡȝȓȞȓȘȞȩȠȖȬȐȩȕȩȐȎȭȢȡțȘȤȖȬ
ȝȓȞȓȒȎțțȡȬȐȐȖȒȓȝȎȞȎȚȓȠȞȎǽȎȞȎȚȓȠȞȩlengthȖwidth
ȡȘȎȕȩȐȎȬȠȢȡțȘȤȖȖsweepField()ȟȘȜșȪȘȜȟȠȞȜȘȖȟȠȜșȏ
ȤȜȐȟȜȟȠȎȐșȭȓȠȝȓȞȓȘȞȩȠȖȓ
ȅȠȜȏȩȢȡțȘȤȖȭsweepField()ȒȓȗȟȠȐȜȐȎșȎțȎȐȟȓȚ
ȕȎȒȎțțȜȚȝȞȜȟȠȞȎțȟȠȐȓȚȩȖȟȝȜșȪȕȡȓȚȜȒȖțȤȖȘșȒșȭ
ȝȞȜȣȜȒȎ ȝȜȟȠȜșȏȤȎȚȎȒȞȡȑȜȗ²ȒșȭȝȞȜȣȜȒȎȝȜȟȠȞȜȘȎȚ
hare
134. -- sweepField() ɩɟɪɟɦɟɳɚɟɬɫɹɩɨɝɨɪɢɡɨɧɬɚɥɶɧɵɦ
135. -- ɢɜɟɪɬɢɤɚɥɶɧɵɦɪɹɞɚɦɫɩɟɪɟɞɢɢɫɩɪɚɜɚɨɬ
ɱɟɪɟɩɚɲɤɢ
136. -- to the right of the turtle, calling
137. -- ɨɛɪɚɳɚɹɫɶɤɩɚɪɚɦɟɬɪɭsweepFuncɜɤɚɠɞɨɣɩɨɡɢɰɢɢ
138. function sweepField(length, width, sweepFunc)
139.
local turnRightNext = true
140.
141.
for x = 1, width do
142.
for y = 1, length do
143.
sweepFunc()
ǿȀǾǼǶȀdzǹȊǿȀǰǼǽǼǹǮǶǽǼȀǼǹǸǮ
241
ǰȘȜțȤȓȘȎȔȒȜȑȜȟȠȜșȏȤȎȥȓȞȓȝȎȦȘȎȥȓȞȓȒȡȓȠȝȜȐȜȞȜȠ
țȎȝȞȎȐȜȖțȎșȓȐȜȝȜȫȠȜȚȡȘȜȒȐȟȠȞȜȘȓȖȕțȎȥȎșȪțȜ
ȝȞȖȟȐȎȖȐȎȓȠȝȓȞȓȚȓțțȜȗturnRightNextȕțȎȥȓțȖȓtrue.
DzȎșȓȓȟșȓȒȡȬȠȒȐȎȐșȜȔȓțțȩȣȤȖȘșȎȝȜȕȐȜșȭȬȧȖȓ
ȜȠȟșȓȒȖȠȪȐȘȎȘȜȚȟȠȜșȏȤȓȖȐȘȎȘȜȗȟȠȞȜȘȓțȎȣȜȒȖȠȟȭ
ȥȓȞȓȝȎȦȘȎǽȓȞȓȚȓțțȎȭxȜȠȟșȓȔȖȐȎȓȠȟȠȜșȏȤȩȎȝȓȞȓ
ȚȓțțȎȭy²ȟȠȞȜȘȖǸȜȑȒȎȕțȎȥȓțȖȓȝȓȞȓȚȓțțȜȗyȞȎȐțȜ
ȕțȎȥȓțȖȬle ng t hȥȓȞȓȝȎȦȘȎțȎȣȜȒȖȠȟȭȐȝȜȟșȓȒțȓȗ
ȟȠȞȜȘȓȠȓȘȡȧȓȑȜȟȠȜșȏȤȎǸȜȑȒȎȕțȎȥȓțȖȓȝȓȞȓȚȓțțȜȗx
ȞȎȐțȜȕțȎȥȓțȖȬwidthȥȓȞȓȝȎȦȘȎțȎȣȜȒȖȠȟȭȐȝȜȟșȓȒțȓȚ
ȟȠȜșȏȤȓȠȓȘȡȧȓȗȟȠȞȜȘȖǻȎȞȖȟȝȜȘȎȕȎțȩȕțȎȥȓțȖȭ
ȝȓȞȓȚȓțțȩȣxȖyȒșȭȐȟȓȣȏșȜȘȜȐȖȕȘȜȠȜȞȩȣȥȓȞȓȝȎȦȘȎ
ȟȠȞȜȖȠȝȓȞȓȘȞȩȠȖȓǼȏȞȎȠȖȐțȖȚȎțȖȓȥȠȜȕțȎȥȓțȖȭȝȓȞȓ
ȚȓțțȜȗyțȎȥȖțȎȬȠȟȭȟ1ȟȜȏȓȖȣȟȠȜȞȜțȝȜȠȜȚȡȥȠȜȥȓȞȓ
ȝȎȦȘȎȥȓȞȓȒȡȓȠȒȐȖȔȓțȖȓȐȐȓȞȣȖȐțȖȕȝȞȖȝȓȞȓȚȓȧȓțȖȖ
ȝȜȟȠȜșȏȤȎȚ
x=1
y=3
x=2
y=1
x=3
y=3
x=4
y=1
x=1
y=2
x=2
y=2
x=3
y=2
x=4
y=2
x=1
y=1
x=2
y=3
x=3
y=1
x=4
y=3
ˀ̛̭͘ϭϯ͘ϭϬ͘ʿ̸̨̡̨̨̨̡̡̨̨̛̱̯͕̪̯̬̥̱̙̖̯̭̖̬̖̪̹͕̦̽̔̏́̌̌̐̔̌̌
̡̡̛̼̣̼̖̯̪̖̬̖̬̼̯̖̏̌̔̏̌;̭̣̖̏̌Ϳ̸̵̛̛͕̦̖̦̪̖̬̖̥̖̦̦̼̌́̚x̛y̡̨̨̙̌̔̐
̨̡̣̍̌;̭̪̬̌̏̌Ϳ
ǰțȡȠȞȖȐșȜȔȓțțȜȑȜȤȖȘșȎȘȜȒȐȟȠȞȜȘȓȐȩȕȩȐȎȓȠ
ȢȡțȘȤȖȬsweepFunc()ǻȎȝȜȚțȬȥȠȜsweepFunc²ȫȠȜȝȎ
ȞȎȚȓȠȞȎțȓȖȚȭȢȡțȘȤȖȖǰțȎȦȓȗȝȞȜȑȞȎȚȚȓțȓȠȢȡțȘ
ȤȖȖsweepFunc()ȝȜȫȠȜȚȡȥȠȜȏȩȜȝȞȓȒȓșȖȠȪȢȡțȘȤȖȬȟ
ȠȎȘȖȚȖȚȓțȓȚțȎȒȜȝȓȞȓȒȎȠȪȘȎȘȡȬșȖȏȜȢȡțȘȤȖȬȝȎȞȎ
ȚȓȠȞȡsweepFuncȀȎȘȖȚȜȏȞȎȕȜȚȐsweepField()ȚȜȔȓȠ
ȏȩȠȪȝȓȞȓȒȎțȎșȬȏȎȭȢȡțȘȤȖȭȘȜȠȜȞȎȭȖȏȡȒȓȠȐȩȕȩȐȎȠȪ
ȟȭȐȟȠȞȜȘȓȘȎȘsweepFunc().
242
DZǹǮǰǮ
ěđĜđĘđĥđęĔđěĚĝĞĜĚĖČĘ
ĔĝĞĚėčĢČĘ
ǽȜȟșȓȐȩȕȜȐȎȢȡțȘȤȖȖsweepFunc()ȥȓȞȓȝȎȦȘȓțȡȔțȜ
ȝȞȜȗȠȖȘȝȜȕȖȤȖȖȟșȓȒȡȬȧȓȑȜȐȩȘșȎȒȩȐȎȓȚȜȑȜȏșȜȘȎ
ǰțȡȠȞȓțțȖȗȤȖȘșforțȎȥȖțȎȬȧȖȗȟȭȐȟȠȞȜȘȓȏȡȒȓȠ
ȟȜȐȓȞȦȎȠȪȖȠȓȞȎȤȖȖȝȜȝȓȞȓȚȓțțȜȗyȜȠ1ȒȜlengthȅȓȞȓ
ȝȎȦȘȓțȡȔțȜȝȓȞȓȚȓȧȎȠȪȟȭȐȐȓȞȣȖșȖȐțȖȕȝȜlength - 1
ȟȠȞȜȘȓȐȘȎȔȒȜȚȟȠȜșȏȤȓȀȎȘȖȚȜȏȞȎȕȜȚȐȟȠȞȜȘȎȣ²
ȏȡȒȓȠȝȞȜȖȟȣȜȒȖȠȪȐȩȕȜȐȢȡțȘȤȖȖturtle.forward()
ȝȞȖȘȎȔȒȜȗȖȠȓȞȎȤȖȖȤȖȘșȎforȕȎȖȟȘșȬȥȓțȖȓȚȝȜȟșȓȒ
țȓȗ ȘȜȑȒȎȕțȎȥȓțȖȓȝȓȞȓȚȓțțȜȗyȞȎȐțȜlength
hare
145.
146.
147.
148.
149.
-- ɧɟɩɟɪɟɦɟɳɚɬɶɫɹɜɩɟɪɟɞɜɩɨɫɥɟɞɧɟɣɫɬɪɨɤɟ
if y ~= length then
turtle.forward()
end
end
ǸȜȑȒȎȖȟȝȜșțȓțȖȓȒȜȟȠȖȑȎȓȠȟȠȞȜȘȖȤȖȘșforȘȜ
ȠȜȞȩȗțȎȥȎșȟȭȐȟȠȞȜȘȓȕȎȐȓȞȦȎȓȠȟȭȎȥȓȞȓȝȎȦȘȎțȎ
ȣȜȒȖȠȟȭȐȝȜȟșȓȒțȓȗȟȠȞȜȘȓȠȓȘȡȧȓȑȜȟȠȜșȏȤȎdzȟșȖȥȓȞȓ
ȝȎȦȘȎȓȧȓțȓȒȜȟȠȖȑșȎȝȜȟșȓȒțȓȑȜȟȠȜșȏȤȎ ȫȠȜȠȎȘȓȟșȖ
ȕțȎȥȓțȖȓȝȓȞȓȚȓțțȜȗxțȓȞȎȐțȜȕțȎȥȓțȖȬwidth ȓȗțȡȔ
țȜȝȓȞȓȚȓȟȠȖȠȪȟȭȐȟșȓȒȡȬȧȖȗȟȠȜșȏȓȤ
ǻȎȝȞȎȐșȓțȖȓȐȘȜȠȜȞȜȚȥȓȞȓȝȎȦȘȎȒȜșȔțȎȝȜȐȓȞțȡȠȪ
ȥȠȜȏȩȝȓȞȓȗȠȖȘȟșȓȒȡȬȧȓȚȡȟȠȜșȏȤȡȕȎȐȖȟȖȠȜȠȠȜȑȜȘȎ
ȘȜȓȕțȎȥȓțȖȓȝȞȖȟȐȜȓțȜȝȓȞȓȚȓțțȜȗturnRightNexttrue
ȖșȖfalse ǿȚȞȖȟȖȥȠȜȏȩȝȜțȭȠȪȘȡȒȎȒȜșȔțȎ
ȝȜȐȜȞȎȥȖȐȎȠȪȥȓȞȓȝȎȦȘȎ dzȟșȖȝȓȞȓȚȓțțȜȗturnRightNextȝȞȖȟȐȜȓțȜȕțȎȥȓțȖȓtrueȐȟȠȞȜȘȎȣ²ȝȞȜȖȟ
ȣȜȒȖȠȝȜȐȜȞȜȠȥȓȞȓȝȎȦȘȖțȎȝȞȎȐȜȝȓȞȓȚȓȧȓțȖȓȐȝȓȞȓȒȖ
ȟțȜȐȎȝȜȐȜȞȜȠțȎȝȞȎȐȜdzȟșȖȝȓȞȓȚȓțțȜȗturnRightNext
ȝȞȖȟȐȜȓțȜȕțȎȥȓțȖȓfalseȐȟȠȞȜȘȎȣ²ȥȓȞȓȝȎȦȘȎ
ȝȜȐȜȞȎȥȖȐȎȓȠțȎșȓȐȜȝȞȜȒȐȖȑȎȓȠȟȭȐȝȓȞȓȒȖȜȝȭȠȪȝȜȐȜȞȎ
ȥȖȐȎȓȠțȎșȓȐȜǰȜȏȜȖȣȟșȡȥȎȭȣȥȓȞȓȝȎȦȘȎȜȘȎȕȩȐȎȓȠȟȭȐ
țȎȥȎșȓȟșȓȒȡȬȧȓȑȜȟȠȜșȏȤȎ
ǿȀǾǼǶȀdzǹȊǿȀǰǼǽǼǹǮǶǽǼȀǼǹǸǮ
243
hare
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
-- ɧɟɩɨɜɨɪɚɱɢɜɚɬɶɫɹɜɩɨɫɥɟɞɧɟɦɫɬɨɥɛɰɟ
if x ~= width then
-- ɩɟɪɟɯɨɞɤɫɥɟɞɭɸɳɟɦɭɫɬɨɥɛɰɭ
if turnRightNext then
turtle.turnRight()
turtle.forward()
turtle.turnRight()
else
turtle.turnLeft()
turtle.forward()
turtle.turnLeft()
end
turnRightNext = not turnRightNext
end
end
ǰȟȭȘȖȗȞȎȕȘȜȑȒȎȥȓȞȓȝȎȦȘȎȝȓȞȓȣȜȒȖȠȘȟșȓȒȡȬȧȓȚȡ
ȟȠȜșȏȤȡȜțȎȒȜșȔțȎȖȕȚȓțȖȠȪțȎȝȞȎȐșȓțȖȓȝȜȐȜȞȜȠȎȝȜ
ȫȠȜȚȡȘȜȒȐȟȠȞȜȘȓȝȓȞȓȘșȬȥȎȓȠșȜȑȖȥȓȟȘȜȓȕțȎȥȓțȖȓ
ȝȓȞȓȚȓțțȜȗturnRightNextǶțȟȠȞȡȘȤȖȭendȐȟȠȞȜȘȓ
ȕȎȐȓȞȦȎȓȠȘȜțȟȠȞȡȘȤȖȬifțȎȥȎȐȦȡȬȟȭȐȟȠȞȜȘȓȎȖț
ȟȠȞȡȘȤȖȭendȐȟȠȞȜȘȓ166ȕȎȐȓȞȦȎȓȠȤȖȘșforțȎȥȎȐȦȖȗ
ȟȭȐȟȠȞȜȘȓdzȟșȖȖȟȝȜșțȓțȖȓȝȞȜȑȞȎȚȚȩȒȜȟȠȖȑșȜȟȠȞȜ
ȘȖȕțȎȥȖȠȥȓȞȓȝȎȦȘȎȝȞȜȦșȎȐȟȓȝȓȞȓȘȞȩȠȖȓȖȑȜȠȜȐȎ
ȐȓȞțȡȠȪȟȭțȎȖȟȣȜȒțȡȬȝȜȕȖȤȖȬ
ĚěĜđĐđėđęĔđģđĞęĚĝĞĔģĔĝėČĝěĚĘĚĥĨĪ
ĚěđĜČĞĚĜČĐđėđęĔīěĚĘĚĐğėĪ
ǰȓȞțȡȠȪȥȓȞȓȝȎȦȘȡțȎȖȟȣȜȒțȡȬȝȜȕȖȤȖȬȝȜȟșȓȠȜȑȜȘȎȘ
ȜțȎȕȎȘȜțȥȖȠȐȩȘșȎȒȩȐȎȠȪȝȓȞȓȘȞȩȠȖȓȚȜȔțȜȒȐȡȚȭȝȡ
ȠȭȚȖǻȎȝȜȚțȬȥȠȜȫȠȖȝȡȠȖȏȩșȖȝȜȘȎȕȎțȩțȎȞȖȟ
ȖȖȥȠȜȝȡȠȪȘȜȠȜȞȩȗȒȜșȔțȎȟȜȐȓȞȦȖȠȪȥȓȞȓȝȎȦȘȎ
ȕȎȐȖȟȖȠȜȠȘȜșȖȥȓȟȠȐȎȏșȜȘȜȐȝȜȦȖȞȖțȓȝȓȞȓȘȞȩȠȖȭ²ȥȓȠ
țȜȓȜțȜȖșȖțȓȥȓȠțȜȓȅȠȜȏȩȜȝȞȓȒȓșȖȠȪȥȓȠțȜȓȖșȖțȓȥȓȠ
țȜȓȒȎțțȜȓȕțȎȥȓțȖȓțȡȔțȜȝȞȜȐȓȞȖȠȪȒȓșȖȠȟȭșȖȜțȜțȎ
ȏȓȕȜȟȠȎȠȘȎdzȟșȖȒȎȠȜȥȖȟșȜȥȓȠțȜȓdzȟșȖȔȓȒȓșȓțȖȓțȎ
ȒȎȓȠȐȜȟȠȎȠȘȓ²ȥȖȟșȜțȓȥȓȠțȜȓ
244
DZǹǮǰǮ
ǽȜȫȠȜȚȡȥȠȜȏȩȜȝȞȓȒȓșȖȠȪȥȓȠțȜȓȖșȖțȓȥȓȠțȜȓȒȎț
țȜȓȕțȎȥȓțȖȓțȡȔțȜȝȞȜȟȠȜțȎȗȠȖȜȟȠȎȠȜȘȝȜȟșȓȒȓșȓțȖȭ
țȎȒȐȎǺȩȚȜȔȓȚȫȠȜȟȒȓșȎȠȪȖȟȝȜșȪȕȡȭȜȝȓȞȎȠȜȞȒȓșȓțȖȭ
ȝȜȚȜȒȡșȬ (% ȋȠȜțȎȕȐȎțȖȓțȓȟȐȭȕȎțȜȟȚȜȒȡșȭȚȖ/XD
ȅȠȜȏȩȝȜȟȚȜȠȞȓȠȪȘȎȘȞȎȏȜȠȎȓȠȜȝȓȞȎȠȜȞȒȓșȓțȖȭȝȜȚȜ
ȒȡșȬȐȜȏȜșȜȥȘȓ/XDȐȐȓȒȖȟșȓȒȡȬȧȓȓ
hare
lua> 6 % 2
0
lua> 7 % 2
1
lua> 8 % 2
0
ǼȝȓȞȎȠȜȞȒȓșȓțȖȭȝȜȚȜȒȡșȬȖȟȝȜșȪȕȡȓȠȟȭȝȜȒȜȏțȜ
ȜȏȩȥțȜȚȡȜȝȓȞȎȠȜȞȡȒȓșȓțȖȭ / ȡȘȎȔȖȒȓșȖȚȜȓȜȝȓȞȎȠȜȞ
%ȖȒȓșȖȠȓșȪ ȐțȎȦȓȚȟșȡȥȎȓȫȠȜȥȖȟșȜ2 ȅȓȠțȩȓȥȖȟșȎ
ȝȞȖȒȓșȓțȖȖȝȜȚȜȒȡșȬțȎ2ȐȜȟȠȎȠȘȓȐȟȓȑȒȎȏȡȒȡȠȒȎȐȎȠȪ
ȕțȎȥȓțȖȓ0ȝȜȠȜȚȡȥȠȜȒȓșȭȠȟȭțȎ2ȏȓȕȜȟȠȎȠȘȎǻȓȥȓȠțȩȓ
ȥȖȟșȎȐȜȟȠȎȠȘȓȐȟȓȑȒȎȏȡȒȡȠȖȚȓȠȪȕțȎȥȓțȖȓ1.
ǶȟȝȜșȪȕȡȭȫȠȜȠȠȞȬȘȚȩȟȚȜȔȓȚȜȝȞȓȒȓșȖȠȪȥȓȠțȜȓ
ȖșȖțȓȥȓȠțȜȓȘȜșȖȥȓȟȠȐȜȏșȜȘȜȐȖȟȝȜșȪȕȜȐȎțȜȝȜȦȖȞȖțȓ
ȝȓȞȓȘȞȩȠȖȭ
ĚčĜČĞęħĕěğĞĨĎĝėğģČđģđĞęĚďĚ
ĔęđģđĞęĚďĚĖĚėĔģđĝĞĎČčėĚĖĚĎěĚĤĔĜĔęđ
ɉɭɬɶɤɨɬɨɪɵɣɞɨɥɠɧɚɩɪɨɞɟɥɚɬɶɱɟɪɟɩɚɲɤɚɱɬɨɛɵɜɟɪɧɭɬɶɫɹɜ
ɢɫɯɨɞɧɨɟɩɨɥɨɠɟɧɢɟɡɚɜɢɫɢɬɨɬɬɨɝɨɱɟɬɧɨɟɢɥɢɧɟɱɟɬɧɨɟɤɨɥɢɱɟɫɬɜɨɛɥɨɤɨɜɢɫɩɨɥɶɡɨɜɚɧɨɩɨɲɢɪɢɧɟɩɟɪɟɤɪɵɬɢɹɩɨɷɬɨɦɭɦɵ
ɛɭɞɟɦɢɫɩɨɥɶɡɨɜɚɬɶɢɧɫɬɪɭɤɰɢɸif
hare
168.
169.
170.
171.
172.
-- ɜɨɡɜɪɚɳɟɧɢɟɤɢɫɯɨɞɧɨɣɩɨɡɢɰɢɢ
if width % 2 == 0 then
turtle.turnRight()
else
for y = 1, length - 1 do
ǿȀǾǼǶȀdzǹȊǿȀǰǼǽǼǹǮǶǽǼȀǼǹǸǮ
245
173.
174.
175.
176.
turtle.back()
end
turtle.turnLeft()
end
dzȟșȖȝȜȦȖȞȖțȓȝȓȞȓȘȞȩȠȖȭȖȟȝȜșȪȕȜȐȎțȜȥȓȠțȜȓȘȜșȖ
ȥȓȟȠȐȜȏșȜȘȜȐȠȜȐȩȞȎȔȓțȖȓwidth % 2ȏȡȒȓȠȞȎȐțȜ0Ȏ
ȕțȎȥȖȠȡȟșȜȐȖȓȖțȟȠȞȡȘȤȖȖifȐȟȠȞȜȘȓȐȩȝȜșțȭȓȠȟȭ
(true ǰȫȠȜȚȟșȡȥȎȓȘȜȒȐȟȠȞȜȘȓȝȜȐȜȞȎȥȖȐȎȓȠȥȓȞȓ
ȝȎȦȘȡțȎȝȞȎȐȜǰȝȞȜȠȖȐțȜȚȟșȡȥȎȓȓȟșȖȝȜȦȖȞȖțȓȝȓȞȓ
ȘȞȩȠȖȭȖȟȝȜșȪȕȜȐȎțȜțȓȥȓȠțȜȓȘȜșȖȥȓȟȠȐȜȏșȜȘȜȐȘȜȒȐ
ȟȠȞȜȘȎȣ²ȝȓȞȓȚȓȧȎȬȠȥȓȞȓȝȎȦȘȡțȎȕȎȒțȎȒȞȡȑȜȗ
ȘȜțȓȤȞȭȒȎȎȘȜȒȐȟȠȞȜȘȓȝȜȐȜȞȎȥȖȐȎȓȠȥȓȞȓȝȎȦȘȡțȎ
șȓȐȜǰȜȏȜȖȣȟșȡȥȎȭȣȥȓȞȓȝȎȦȘȎȜȘȎȕȩȐȎȓȠȟȭȐțȎȥȎșȓȝȜ
ȟșȓȒțȓȑȜȟȠȜșȏȤȎȜȏȞȎȧȓțțȜȗțȎșȓȐȜ
ǵȎȠȓȚȘȜȒȐȟȠȞȜȘȎȣ²ȝȓȞȓȚȓȧȎȬȠȥȓȞȓȝȎȦȘȡ
ȐȝȓȞȓȒțȎwidth - 1ȏșȜȘȜȐȥȠȜȏȩȐȓȞțȡȠȪȥȓȞȓȝȎȦȘȡȐ
ȖȟȣȜȒțȜȓȝȜșȜȔȓțȖȓǮȘȜȒȐȟȠȞȜȘȓȝȜȐȜȞȎȥȖȐȎȓȠȓȓțȎ
ȝȞȎȐȜȥȠȜȏȩȐȓȞțȡȠȪȘȝȓȞȐȜțȎȥȎșȪțȜȚȡțȎȝȞȎȐșȓțȖȬ
hare
178.
for x = 1, width - 1 do
179.
turtle.forward()
180.
end
181.
turtle.turnRight()
182.
183.
return true
184. end
ǰȫȠȜȠȚȜȚȓțȠȥȓȞȓȝȎȦȘȎțȎȣȜȒȖȠȟȭȐȖȟȣȜȒțȜȚȝȜșȜȔȓ
țȖȖȝȜȫȠȜȚȡȘȜȒȐȟȠȞȜȘȓȐȜȕȐȞȎȧȎȓȠȕțȎȥȓțȖȓtrue.
ǶțȟȠȞȡȘȤȖȭendȐȟȠȞȜȘȓȕȎȐȓȞȦȎȓȠȘȜȒȢȡțȘȤȖȖ
sweepField().
ǻȎȝȜȚțȬȥȠȜȢȡțȘȤȖȭsweepField()țȎȝȖȟȎțȎțȓȠȜșȪ
ȘȜȒșȭȝȜȟȠȞȜȓțȖȭȝȜșȎȖșȖȝȜȠȜșȘȎǺȩȏȡȒȓȚȖȟȝȜșȪ
ȕȜȐȎȠȪȫȠȡȢȡțȘȤȖȬȒșȭȒȜȟȠȖȔȓțȖȭȞȎȕșȖȥțȩȣȤȓșȓȗ
ȝȜȠȜȚȡȥȠȜȟȓȓȝȜȚȜȧȪȬȥȓȞȓȝȎȦȘȎȐȩȘșȎȒȩȐȎȬȧȎȭȝȓ
ȞȓȘȞȩȠȖȓȚȜȔȓȠȐȩȕȩȐȎȠȪȞȎȕșȖȥțȩȓȢȡțȘȤȖȖȖȝȞȖȚȓ
țȭȠȪȖȣȐȘȎȔȒȜȗȝȜȕȖȤȖȖȝȓȞȓȘȞȩȠȖȭǮȐȜȠȥȠȜȏȩȟȠȞȜȖȠȪ
ȖȚȓțțȜȝȓȞȓȘȞȩȠȖȭȚȩȟȜȕȒȎȒȖȚȢȡțȘȤȖȬbuildFloor().
246
DZǹǮǰǮ
ĝĚēĐČęĔđĠğęĖĢĔĔ*=14,.477:
ǿȝȜȚȜȧȪȬȢȡțȘȤȖȖsweepField()ȢȡțȘȤȖȭbuildFloor()
ȟȠȞȜȖȠȝȞȭȚȜȡȑȜșȪțȜȓȝȓȞȓȘȞȩȠȖȓȏȓȞȭȏșȜȘȖȖȕȖțȐȓț
ȠȎȞȭȥȓȞȓȝȎȦȘȖȂȡțȘȤȖȭbuildFloor()ȝȞȖțȖȚȎȓȠȕțȎ
ȥȓțȖȭȝȓȞȓȚȓțțȩȣlengthȖwidthȐȘȎȥȓȟȠȐȓȎȞȑȡȚȓțȠȜȐ
ȒșȭȜȝȞȓȒȓșȓțȖȭȞȎȕȚȓȞȜȐȐȩȘșȎȒȩȐȎȓȚȜȑȜȝȓȞȓȘȞȩȠȖȭ
hare
187.
188.
189.
190.
191.
192.
193.
-- buildFloor() ɜɵɤɥɚɞɵɜɚɟɬ
-- ɩɪɹɦɨɭɝɨɥɶɧɨɟɩɟɪɟɤɪɵɬɢɟ
-- ɢɡɛɥɨɤɨɜɜɢɧɜɟɧɬɚɪɟ
function buildFloor(length, width)
if countInventory() < length * width then
return false -- ɧɟɞɨɫɬɚɬɨɱɧɨɛɥɨɤɨɜ
end
ǸȜȒȐȟȠȞȜȘȓȐȩȕȩȐȎȓȠȢȡțȘȤȖȬcountInventory()
ȖȟȞȎȐțȖȐȎȓȠȘȜșȖȥȓȟȠȐȜȏșȜȘȜȐȐȖțȐȓțȠȎȞȓȥȓȞȓȝȎȦȘȖȟ
ȘȜșȖȥȓȟȠȐȜȚȏșȜȘȜȐțȓȜȏȣȜȒȖȚȩȣȒșȭȟȠȞȜȖȠȓșȪȟȠȐȎȝȓȞȓ
ȘȞȩȠȖȭDzșȭȝȓȞȓȘȞȩȠȖȭȒșȖțȜȗlengthȖȦȖȞȖțȜȗwidth
ȏșȜȘȜȐȝȜȠȞȓȏȡȓȠȟȭlength * widthȏșȜȘȜȐdzȟșȖȡȥȓȞȓ
ȝȎȦȘȖțȓȒȜȟȠȎȠȜȥțȜȏșȜȘȜȐȒșȭȟȠȞȜȖȠȓșȪȟȠȐȎȝȓȞȓȘȞȩȠȖȭ
ȕȎȒȎțțȩȣȞȎȕȚȓȞȜȐȐȩȝȜșțȓțȖȓȢȡțȘȤȖȖȝȞȓȘȞȎȧȎȓȠȟȭ
dzȟșȖȔȓȏșȜȘȜȐȒȜȟȠȎȠȜȥțȜȘȜȒȐȟȠȞȜȘȓȝȓȞȓȚȓȧȎȓȠ
ȥȓȞȓȝȎȦȘȡȐȐȓȞȣțȎȜȒțȡȝȜȕȖȤȖȬȠȎȘȥȠȜȏȩȥȓȞȓȝȎȦȘȎ
ȚȜȑșȎȞȎȕȚȓȧȎȠȪȝȜȒȟȜȏȜȗȏșȜȘȖȘȜȑȒȎțȎȥțȓȠȐȩȘșȎȒȩ
ȐȎȠȪȝȓȞȓȘȞȩȠȖȓ
hare
195.
turtle.up()
196.
sweepField(length, width, selectAndPlaceDown)
197. end
ǸȜȒ Ȑ ȟȠȞȜȘȓ 196 ȝȓȞȓȒȎȓȠ Ȑ ȢȡțȘȤȖȬ sweepField()
ȕțȎȥȓțȖȭ ȒșȖțȩ (length ȦȖȞȖțȩ (width Ȗ ȢȡțȘȤȖȬ
selectAndPlaceDown(). ǶȚȓțțȜȐȩȕȜȐȢȡțȘȤȖȖselectAndPlaceDown()ȐȘȎȔȒȜȗȝȜȕȖȤȖȖȝȓȞȓȘȞȩȠȖȭȏȡȒȓȠȐȩ
ȏȖȞȎȠȪȏșȜȘȖȕȖțȐȓțȠȎȞȭȥȓȞȓȝȎȦȘȖȖȞȎȕȚȓȧȎȠȪȓȑȜȝȜȒ
ȥȓȞȓȝȎȦȘȜȗ
ǿȀǾǼǶȀdzǹȊǿȀǰǼǽǼǹǮǶǽǼȀǼǹǸǮ
247
ȋȠȜȐȟȓȥȠȜȘȎȟȎȓȠȟȭȢȡțȘȤȖȖbuildFloor()ȂȡțȘȤȖȭ
ȘȜȞȜȠȘȎȭȝȜȠȜȚȡȥȠȜȕțȎȥȖȠȓșȪțȎȭȥȎȟȠȪȞȎȏȜȠȩȐȩȝȜșțȭ
ȓȠȟȭȢȡțȘȤȖȓȗsweepField().
ĝĚēĐČęĔđěĜĚďĜČĘĘħ*=14,.477:
ǺȩȝȜȚȓȟȠȖșȖȢȡțȘȤȖȖbuildFloor()ȖsweepField()Ȑ
ȚȜȒȡșȪhareȥȠȜȏȩȒȞȡȑȖȓȝȞȜȑȞȎȚȚȩȚȜȑșȖȐȩȕȩȐȎȠȪȫȠȖ
ȢȡțȘȤȖȖǻȜȏȩșȜȏȩȡȒȜȏțȜȖȚȓȠȪȝȞȜȑȞȎȚȚȡȠȜșȪȘȜȒșȭ
ȝȜȟȠȞȜȓțȖȭȝȓȞȓȘȞȩȠȖȗȀȎȘȔȓȘȎȘȝȞȜȑȞȎȚȚȩbuildwallȖbuildroomȖȕȑșȎȐȖȝȞȜȑȞȎȚȚȎEXLOGÀRRU
ȏȡȒȓȠȜȏȞȎȏȎȠȩȐȎȠȪȎȞȑȡȚȓțȠȩȘȜȚȎțȒțȜȗȟȠȞȜȘȖȐȩȐȜ
ȒȖȠȪȟȜȜȏȧȓțȖȓȝȜșȪȕȜȐȎȠȓșȬȖȐȩȕȩȐȎȠȪȢȡțȘȤȖȬhare.
buildFloor()ȒșȭȝȜȟȠȞȜȓțȖȭȝȓȞȓȘȞȩȠȖȭ
ǰȜȏȜșȜȥȘȓȘȜȚȎțȒțȜȗȟȠȞȜȘȖȐȩȝȜșțȖȘȜȚȎțȒȡedit
EXLOGÀRRUȖȐȐȓȒȖȟșȓȒȡȬȧȖȗȘȜȒ
EXLOGÀRRU
1. --[[ɉɪɨɝɪɚɦɦɚɫɬɪɨɢɬɟɥɶɫɬɜɚɩɟɪɟɤɪɵɬɢɣɗɥɚɋɜɟɣɝɚɪɬɚ
2. ɜɵɤɥɚɞɵɜɚɟɬ ɩɟɪɟɤɪɵɬɢɟ.]]
3.
4. os.loadAPI('hare')
5.
6. -- ɨɛɪɚɛɨɬɤɚɚɪɝɭɦɟɧɬɨɜɤɨɦɚɧɞɧɨɣɫɬɪɨɤɢ
7. local cliArgs = {...}
8. local length = tonumber(cliArgs[1])
9. local width = tonumber(cliArgs[2])
10.
11. if length == nil or width == nil or cliArgs[1] ==
" WKHQ
12.
print('Usage: buildwall ')
13.
return
14. end
15.
16. hare.buildFloor(length, width)
ǿȜȣȞȎțȖȝȞȜȑȞȎȚȚȡȖȐȩȗȒȖȖȕȞȓȒȎȘȠȜȞȎȝȜȟșȓȐȐȜȒȎ
ȐȟȓȣȖțȟȠȞȡȘȤȖȗ
ǽȜȟȘȜșȪȘȡȝȞȜȑȞȎȚȚȎEXLOGÀRRUȎțȎșȜȑȖȥțȎȝȞȜȑȞȎȚ
ȚȎȚbuildwallȖbuildroomȭțȓȏȡȒȡȓȧȓȞȎȕȜȏȨȭȟțȭȠȪ
248
DZǹǮǰǮ
ȘȜȒǽȞȜȑȞȎȚȚȎȝȞȜȟȠȜȝȞȖțȖȚȎȓȠȎȞȑȡȚȓțȠȩȘȜȚȎțȒțȜȗ
ȟȠȞȜȘȖȒșȭȜȝȞȓȒȓșȓțȖȭȒșȖțȩȖȦȖȞȖțȩȝȓȞȓȘȞȩȠȖȭ
ȘȜȠȜȞȩȓȢȡțȘȤȖȭhare.buildFloor()ȝȓȞȓȒȎȓȠȢȡțȘȤȖȖ
sweepField().
ēČěğĝĖěĜĚďĜČĘĘħ*=14,.477:
ǾȎȕȚȓȟȠȖȥȓȞȓȝȎȦȘȡȖȧȓșȘțȖȝȜțȓȗȝȞȎȐȜȗȘțȜȝȘȜȗ
ȚȩȦȖȥȠȜȏȩȜȠȘȞȩȠȪȓȓȑȞȎȢȖȥȓȟȘȖȗȖțȠȓȞȢȓȗȟǵȎȑȞȡȕȖ
ȝȜȚȓțȪȦȓȗȚȓȞȓȘȎȚȓțțȩȣȘȖȞȝȖȥȓȗ ȖșȖșȬȏȩȣȒȞȡ
ȑȖȣȟȠȞȜȖȠȓșȪțȩȣȏșȜȘȜȐ ȐȓȓȖțȐȓțȠȎȞȪǰȜȏȜșȜȥȘȓȘȜ
ȚȎțȒțȜȗȟȠȞȜȘȖȐȩȝȜșțȖȘȜȚȎțȒȡEXLOGÀRRU 5 6ȥȠȜȏȩ
ȡȐȖȒȓȠȪȘȎȘȥȓȞȓȝȎȦȘȎȝȜȟȠȞȜȖȠȝȓȞȓȘȞȩȠȖȓȝȭȠȪȏșȜȘȜȐ
ȒșȖțȜȗȖȦȓȟȠȪȏșȜȘȜȐȦȖȞȖțȜȗ
ǽȜȟșȓȫȠȜȑȜȚȜȔȓȦȪȐȩȝȜșțȖȠȪȘȜȚȎțȒȡbuildroom 5
6 4ȥȠȜȏȩȝȜȟȠȞȜȖȠȪȟȠȓțȩțȎȒȝȜșȜȚǸȜȑȒȎȫȠȎȘȜȚțȎȠȎ
ȏȡȒȓȠȕȎȘȜțȥȓțȎȝȜȐȓȞțȖȥȓȞȓȝȎȦȘȡțȎȝȞȎȐȜȖȟțȜȐȎȐȩ
ȝȜșțȖȘȜȚȎțȒȡEXLOGÀRRU 5 6ȥȠȜȏȩȝȜȟȠȞȜȖȠȪȝșȜȟȘȡȬ
ȘȞȩȦȡȒșȭȫȠȜȗȘȜȚțȎȠȩȀȓȝȓȞȪȡȠȓȏȭȓȟȠȪȐȟȓțȓȜȏȣȜȒȖ
ȚȜȓȒșȭȟȜȕȒȎțȖȭȝȞȭȚȜȡȑȜșȪțȩȣȘȜȚțȎȠ
dzȟșȖȝȞȖȕȎȝȡȟȘȓȫȠȜȗȝȞȜȑȞȎȚȚȩȐȜȕțȖȘȎȬȠȜȦȖȏȘȖ
ȠȧȎȠȓșȪțȜȟȞȎȐțȖȟȐȜȗȘȜȒȟșȖȟȠȖțȑȜȚȐȫȠȜȗȘțȖȑȓ²ȐȜȕ
ȚȜȔțȜȠȩțȎȗȒȓȦȪȜȝȓȥȎȠȘȖdzȟșȖȖȟȝȞȎȐȖȠȪȝȞȜȑȞȎȚ
ȚȡțȓȡȒȎȓȠȟȭȖȜȦȖȏȘȖȝȜȝȞȓȔțȓȚȡȐȜȕțȖȘȎȬȠȡȒȎșȖ
ȢȎȗșȐȩȝȜșțȖȐȘȜȚȎțȒȡdelete EXLOGÀRRUȎȕȎȠȓȚȕȎ
ȑȞȡȕȖȝȞȜȑȞȎȚȚȡȕȎțȜȐȜȐȩȝȜșțȖȐȘȜȚȎțȒȡpastebin get
Epr9CndN EXLOGÀRRU.
ĝĚēĐČęĔđğēĚĜģČĞĚďĚěđĜđĖĜħĞĔī
ǸȎȘȡȝȜȚȖțȎșȜȟȪȞȎțȓȓȢȡțȘȤȖȭsweepField()ȜȥȓțȪ
ȑȖȏȘȎȐțȎȟȠȞȜȗȘȓȖȝȜȕȐȜșȭȓȠȝȓȞȓȒȎȠȪȝȎȞȎȚȓȠȞȡsweepFuncșȬȏȡȬȢȡțȘȤȖȬDzȎȐȎȗțȎȝȖȦȓȚȝȞȜȑȞȎȚȚȡbuildcheckerboardȘȜȠȜȞȎȭȝȜȟȠȞȜȖȠȘșȓȠȥȎȠȜȓȝȓȞȓȘȞȩȠȖȓȖȕ
ȡȑȜșȪțȩȣȖȘȐȎȞȤȓȐȩȣȏșȜȘȜȐ
ȀȩȚȜȔȓȦȪȟȜȕȒȎȠȪȡȑȜșȪțȩȓȏșȜȘȖȖȕȒȓȐȭȠȖȘȡȟȘȜȐ
ȡȑșȭȎȘȐȎȞȤȓȐȩȓ²ȖȕȥȓȠȩȞȓȣȘȡȟȘȜȐȘȐȎȞȤȎǻȎȞȖȟ
ȝȜȘȎȕȎțȩȖȣȞȓȤȓȝȠȩǼȏȞȎȠȖȐțȖȚȎțȖȓȥȠȜȚȜȔțȜ
ǿȀǾǼǶȀdzǹȊǿȀǰǼǽǼǹǮǶǽǼȀǼǹǸǮ
249
ȖȟȝȜșȪȕȜȐȎȠȪȠȜșȪȘȜǻȓȕȓȞȘȐȎȞȤȖȕȖȕȚȓȞȓțȖȭǻȓȕȓȞ ȟȚ
PLQHFUDIWUXJDPHSHGLDFRPǸȐȎȞȤBǻȖȔțȓȑȜBȚȖȞȎ
ˀ̛̭͘ϭϯ͘ϭϭ͘ˁ̵̨̨̛̦̖̱̣̦̼̔̌̐̽̚;̭̣̖̏̌Ϳ̶̵̡̨̡̨̛̬̖̼̣̏̌̏̍̏;̭̪̬̌̏̌Ϳ
ǽȜȟȘȜșȪȘȡȚȩȒȓșȎȓȚȘșȓȠȥȎȠȜȓȝȓȞȓȘȞȩȠȖȓȒȎȐȎȗȟȒȓ
șȎȓȚȓȑȜȐȐȖȒȓȦȎȣȚȎȠțȜȗȒȜȟȘȖȥȠȜȏȩȚȜȔțȜȏȩșȜȟȩ
ȑȞȎȠȪȐ0LQHFUDIWȐȦȎȦȘȖȟȥȓȞȓȝȎȦȘȎȚȖ
ĖĚĐěĜĚďĜČĘĘħ*=14,+0-+3-:*7):,
ȅȠȜȏȩȟȒȓșȎȠȪȦȎȣȚȎȠțȡȬȒȜȟȘȡȞȎȕȚȓȞȜȚðȏșȜȘȜȐ
țȎȚțȡȔțȜȟȘȞȎȢȠȖȠȪȡȑȜșȪțȩȣȖȘȐȎȞȤȓȐȩȣȏșȜȘȎ
ǽȜȟșȓȠȜȑȜȘȎȘȚȩȟȜȕȒȎȒȖȚȝȞȜȑȞȎȚȚȡbuildcheckerboardȚȩȖȕȚȓțȖȚȖȤȐȓȠȎȥȓȞȓȝȎȦȓȘȥȠȜȏȩȚȜȔțȜȏȩ
șȜȟȩȑȞȎȠȪȝȎȞȠȖȬȐȦȎȦȘȖțȎȒȜȟȘȓȞȎȕȚȓȞȜȚðȏșȜ
ȘȜȐǰȜȏȜșȜȥȘȓȘȜȚȎțȒțȜȗȟȠȞȜȘȖȐȩȝȜșțȖȘȜȚȎțȒȡedit
buildcheckerboardȖȐȐȓȒȖȟșȓȒȡȬȧȖȗȘȜȒ
buildcheckerboard
>>ɉɪɨɝɪɚɦɦɚɞɥɹɭɡɨɪɱɚɬɨɝɨɫɬɪɨɢɬɟɥɶɫɬɜɚɗɥɚ
ɋɜɟɣɝɚɪɬɚ
ɋɬɪɨɢɬɤɥɟɬɱɚɬɨɟɩɟɪɟɤɪɵɬɢɟ@@
3.
4. os.loadAPI('hare')
5.
ɨɛɪɚɛɨɬɤɚɚɪɝɭɦɟɧɬɨɜɤɨɦɚɧɞɧɨɣɫɬɪɨɤɢ
7. local cliArgs = {...}
8. local length = tonumber(cliArgs[1])
9. local width = tonumber(cliArgs[2])
10.
11. if length == nil or width == nil or cliArgs[1] ==
250
DZǹǮǰǮ
" WKHQ
12.
print('Usage: buildcheckerboard ')
13.
return
14. end
15.
16. local placeBlack = true
17.
18. function placeCheckerboard()
19.
-- ɜɵɛɨɪɭɝɥɹɢɥɢɤɜɚɪɰɚɜɡɚɜɢɫɢɦɨɫɬɢɨɬɡɧɚɱɟɧɢɹ
ɩɟɪɟɦɟɧɧɨɣ placeBlack
20.
if placeBlack then
21.
hare.selectItem('minecraft:coal_block')
22.
else
23.
hare.selectItem('minecraft:quartz_block')
24.
end
25.
26.
turtle.placeDown()
27.
placeBlack = not placeBlack
28. end
29.
30. turtle.up()
31. hare.sweepField(length, width, placeCheckerboard)
ǿȜȣȞȎțȖȝȞȜȑȞȎȚȚȡȖȐȩȗȒȖȖȕȞȓȒȎȘȠȜȞȎȝȜȟșȓȐȐȜȒȎ
ȐȟȓȣȖțȟȠȞȡȘȤȖȗ
ēČěğĝĖěĜĚďĜČĘĘħ*=14,+0-+3-:*7):,
ǽȜȚȓȟȠȖȡȑȜșȪțȩȣȖȘȐȎȞȤȓȐȩȣȏșȜȘȎȐȖțȐȓțȠȎȞȪ
ȥȓȞȓȝȎȦȘȖȎȕȎȠȓȚȐȜȏȜșȜȥȘȓȘȜȚȎțȒțȜȗȟȠȞȜȘȖȐȩȝȜș
țȖȘȜȚȎțȒȡbuildcheckerboard 8 8ȅȓȞȓȝȎȦȘȎȝȜȟȠȞȜȖȠ
ȦȎȣȚȎȠțȜȓȝȜȘȞȩȠȖȓȞȎȕȚȓȞȜȚðȏșȜȘȜȐȘȜȠȜȞȜȓȖȕȜ
ȏȞȎȔȓțȜțȎȞȖȟ
dzȟșȖȝȞȖȕȎȝȡȟȘȓțȜȐȜȗȝȞȜȑȞȎȚȚȩȐȜȕțȖȘȎȬȠȜȦȖȏȘȖ
ȠȧȎȠȓșȪțȜȟȞȎȐțȖȟȐȜȗȘȜȒȟșȖȟȠȖțȑȜȚȐȫȠȜȗȘțȖȑȓȐȜȕ
ȚȜȔțȜțȎȗȒȓȦȪȜȝȓȥȎȠȘȖdzȟșȖȖȟȝȞȎȐȖȠȪȝȞȜȑȞȎȚȚȡțȓ
ȡȒȎȓȠȟȭȖȜȦȖȏȘȖȝȜȝȞȓȔțȓȚȡȐȜȕțȖȘȎȬȠȡȒȎșȖȢȎȗș
ȐȩȝȜșțȖȐȘȜȚȎțȒȡdelete buildcheckerboardȎȕȎȠȓȚ
ȕȎȑȞȡȕȖȝȞȜȑȞȎȚȚȡ ȕȎțȜȐȜȐȩȝȜșțȖȐȘȜȚȎțȒȡpastebin
get QQQK3mqk buildcheckerboard.
ǿȀǾǼǶȀdzǹȊǿȀǰǼǽǼǹǮǶǽǼȀǼǹǸǮ
251
ˀ̛̭͘ϭϯ͘ϭϮ͘ˋ̶̵̡̨̨̨̨̨̡̛̛̛̖̬̖̪̹̪̬̖̭̭̖̯̣̖̦̹̥̯̦̜̭̌̌̏̐̏́̌̌̔̚
ǺȩțȎȝȖȟȎșȖȝȞȜȑȞȎȚȚȡbuildcheckerboardȥȠȜȏȩ
ȟȒȓșȎȠȪȘșȓȠȥȎȠȜȓȝȓȞȓȘȞȩȠȖȓȐȐȖȒȓȟȠȎțȒȎȞȠțȜȗȦȎȣ
ȚȎȠțȜȗȒȜȟȘȖțȜȠȩȚȜȔȓȦȪȟȜȕȒȎȐȎȠȪȘșȓȠȥȎȠȩȓȝȜȠȜșȘȖ
ȖȝȜșȩșȬȏȜȑȜȞȎȕȚȓȞȎǼțȖȚȜȑȡȠȏȩȠȪȥȎȟȠȪȬȝȞȖȥȡȒșȖ
ȐȜȑȜȕȎȚȘȎȘȎȘȝȜȘȎȕȎțȜțȎȞȖȟ
ˀ̛̭͘ϭϯ͘ϭϯ͘ˌ̵̸̨̡̨̨̨̡̨̥̯̦̼̜̪̣̥̖͕̪̭̯̬̖̦̦̥̖̬̖̪̹̜̌̌̏̌̌̚
dzȟșȖȠȩȟȜȕȒȎȦȪȥȓȞȓȝȎȦȘȖȎȠȎȘȔȓȝȜȒȑȜȠȜȐȖȦȪ
ȘȞȎȟțȩȗȘȞȎȟȖȠȓșȪȖȘȜȟȠțȡȬȚȡȘȡȠȜȧȓșȘȎȭȝȞȎȐȜȗ
ȘțȜȝȘȜȗȚȩȦȖȝȜȥȓȞȓȝȎȦȘȎȚȖȣȚȜȔțȜȝȜȘȞȎȟȖȠȪȐ
ȘȞȎȟțȩȗȖȏȓșȩȗȤȐȓȠȎȟȜȜȠȐȓȠȟȠȐȓțțȜȀȎȘȖȚȜȏȞȎȕȜȚ
ȠȩȟȜȕȒȎȦȪȘȜȚȝșȓȘȠȒșȭȖȑȞȩȐȦȎȦȘȖȘȎȘȝȜȘȎȕȎțȜțȎ
ȞȖȟ
252
DZǹǮǰǮ
ˀ̛̭͘ϭϯ͘ϭϰ͘ʰ̸̡̛̛̬̖̬̖̪̹̹̹̐̌̏̌̽̌
ȀȓȝȓȞȪȒȎȔȓȟȜȕȒȎțȖȓȑȖȑȎțȠȟȘȜȑȜȝȜșȭȒșȭȦȎȦȓȘ
ȞȎȕȚȓȞȜȚðȏșȜȘȎȘȎȘȝȜȘȎȕȎțȜțȎȞȖȟȟȠȎșȜ
ȝȞȜȟȠȜȗȕȎȒȎȥȓȗȐȓȒȪȥȓȞȓȝȎȦȘȎȟȒȓșȎȓȠȐȟȓȕȎȠȓȏȭ
ˀ̛̭͘ϭϯ͘ϭϱ͘ʿ̨̡̨̣̖̣̹̹̖̬̥̖̬̥̔́̌̌̚ϯϮпϯϮ̨̡̨̨̨̣͕̪̭̯̬̖̦̦̖̍̌
̸̡̨̖̬̖̪̹̜̌
ĖĚĐĠğęĖĢĔĔ84)+-+0-+3-:*7):,
ǰȜȠșȖȥȖȓȜȠȢȡțȘȤȖȖhare.selectAndPlaceDown()ȘȜ
ȠȜȞȎȭȝȞȜȟȠȜȐȩȏȖȞȎȓȠșȬȏȡȬȭȥȓȗȘȡȟȜȒȓȞȔȎȧȡȬȘȎ
ȘȖȓșȖȏȜȏșȜȘȖȖȝȜȚȓȧȎȓȠȜȒȖțȖȕȏșȜȘȜȐȝȜȒȥȓȞȓȝȎȦ
ȘȜȗȢȡțȘȤȖȭplaceCheckerboard()ȟțȎȥȎșȎȝȞȜȐȓȞȭȓȠ
ǿȀǾǼǶȀdzǹȊǿȀǰǼǽǼǹǮǶǽǼȀǼǹǸǮ
253
ȕțȎȥȓțȖȓȝȓȞȓȚȓțțȜȗplaceBlackȥȠȜȏȩȜȝȞȓȒȓșȖȠȪȘȎ
ȘȜȗȏșȜȘȟșȓȒȡȓȠȐȩȏȞȎȠȪȡȑȜșȪțȩȗȖșȖȘȐȎȞȤȓȐȩȗ
ǽȓȞȓȚȓțțȎȭplaceBlackȜȏȨȭȐșȭȓȠȟȭȐȟȠȞȜȘȓȟȝȜȚȜ
ȧȪȬȖțȟȠȞȡȘȤȖȖlocalȐțȓȘȎȘȖȣșȖȏȜȢȡțȘȤȖȗ
buildcheckerboard
16. local placeBlack = true
DzȎșȓȓȢȡțȘȤȖȭplaceCheckerboard()ȝȞȜȐȓȞȭȓȠȖȟ
ȠȖțțȜ true ȖșȖșȜȔțȜ false ȕțȎȥȓțȖȓȫȠȜȗȝȓȞȓȚȓțțȜȗ
ȥȠȜȏȩȜȝȞȓȒȓșȖȠȪȘȎȘȜȗȏșȜȘȐȩȏȞȎȠȪ
buildcheckerboard
18. function placeCheckerboard()
ɜɵɛɨɪɭɝɥɹɢɥɢɤɜɚɪɰɚɜɡɚɜɢɫɢɦɨɫɬɢɨɬɡɧɚɱɟɧɢɹ
ɩɟɪɟɦɟɧɧɨɣSODFH%ODFN
20.
if placeBlack then
21.
hare.selectItem('minecraft:coal_block')
22.
else
23.
hare.selectItem('minecraft:quartz_block')
24.
end
25.
26.
turtle.placeDown()
dzȟșȖ ȝȓȞȓȚȓțțȜȗ placeBlack ȝȞȖȟȐȜȓțȜ ȕțȎȥȓțȖȓ true
ȝȞȜȑȞȎȚȚȎ ȐȩȕȩȐȎȓȠ ȢȡțȘȤȖȬ hare.selectItem()ȥȠȜȏȩ
ȐȩȏȞȎȠȪ ȭȥȓȗȘȡ ȖțȐȓțȠȎȞȭȟȜȒȓȞȔȎȧȡȬ ȡȑȜșȪțȩȓ ȏșȜȘȖ.
dzȟșȖȝȓȞȓȚȓțțȜȗplaceBlackȝȞȖȟȐȜȓțȜȕțȎȥȓțȖȓfalse
ȝȞȜȑȞȎȚȚȎȐȩȏȖȞȎȓȠȭȥȓȗȘȡȖțȐȓțȠȎȞȭȟȜȒȓȞȔȎȧȡȬȘȐȎȞ
ȤȓȐȩȓȏșȜȘȖǽȜȟșȓȠȜȑȜȘȎȘȟȝȜȚȜȧȪȬȖțȟȠȞȡȘȤȖȗifȖ
elseȜȝȞȓȒȓșȓțȠȖȝȏșȜȘȎȘȜȠȜȞȩȗțȡȔțȜȐȩȏȞȎȠȪȟȝȜȚȜ
ȧȪȬȢȡțȘȤȖȖhare.selectItem()ȘȜȒȐȟȠȞȜȘȓȞȎȕȚȓ
ȧȎȓȠȐȩȏȞȎțțȩȗȏșȜȘȝȜȒȥȓȞȓȝȎȦȘȜȗ
ǵȎȠȓȚȘȜȒȐȟȠȞȜȘȓȝȓȞȓȘșȬȥȎȓȠșȜȑȖȥȓȟȘȜȓȕțȎȥȓțȖȓ
ȝȓȞȓȚȓțțȜȗplaceBlack.
buildcheckerboard
27.
placeBlack = not placeBlack
28. end
254
DZǹǮǰǮ
dzȟșȖȝȓȞȓȚȓțțȜȗȏȩșȜȝȞȖȟȐȜȓțȜȕțȎȥȓțȖȓtrueȠȜ
ȝȞȖȟȐȎȖȐȎȓȠȟȭfalseǶțȎȜȏȜȞȜȠȋȠȜȕțȎȥȖȠȥȠȜȝȞȖȟșȓ
ȒȡȬȧȓȚȐȩȕȜȐȓȢȡțȘȤȖȖplaceCheckerboard()ȢȡțȘȤȖȓȗ
sweepField()ȏȡȒȓȠȐȩȏȞȎțȏșȜȘȟȝȞȜȠȖȐȜȝȜșȜȔțȩȚȤȐȓ
ȠȜȚȀȎȘȖȚȜȏȞȎȕȜȚȫȠȜȠȘȜȒȟȜȕȒȎȓȠȦȎȣȚȎȠțȜȓȝȜȘȞȩȠȖȓ
ĎħēĚĎĠğęĖĢĔĔ;?--8.1-4,
ǽȜȟșȓȕȎȐȓȞȦȓțȖȭȢȡțȘȤȖȖplaceCheckerboard()ȐȟȠȞȜ
ȘȓȖȟȝȜșțȓțȖȓȝȓȞȓȣȜȒȖȠȘȟȠȞȜȘȓȋȠȎȟȠȞȜȘȎȝȓȞȓ
ȚȓȧȎȓȠțȎȦȓȑȜȞȜȏȜȠȎțȎȜȒțȡȝȜȕȖȤȖȬȐȐȓȞȣȥȠȜȏȩȥȓȞȓ
ȝȎȦȘȎȚȜȑșȎȞȎȕȚȓȧȎȠȪȝȜȒȟȜȏȜȗȏșȜȘȖ
buildcheckerboard
30. turtle.up()
31. hare.sweepField(length, width, placeCheckerboard)
ǵȎȠȓȚȝȞȜȖȟȣȜȒȖȠȐȩȕȜȐȢȡțȘȤȖȖhare.sweepField()
ȘȜȠȜȞȜȗȝȓȞȓȒȎȬȠȟȭȕțȎȥȓțȖȭȎȞȑȡȚȓțȠȜȐȘȜȚȎțȒțȜȗȟȠȞȜ
ȘȖlengthwidthȖȢȡțȘȤȖȭplaceCheckerboardǶȚȭ
ȝȓȞȓȒȎȐȎȓȚȜȗȢȡțȘȤȖȖȕȎȝȖȟȩȐȎȓȠȟȭȏȓȕȘȞȡȑșȩȣȟȘȜȏȜȘ
ȠȎȘȘȎȘȝȞȜȑȞȎȚȚȎțȓȐȩȕȩȐȎȓȠȢȡțȘȤȖȬplaceCheckerboard()ȎȝȓȞȓȒȎȓȠȓȓȐȘȎȥȓȟȠȐȓȕțȎȥȓțȖȭȎȞȑȡȚȓțȠȎ
ĐĚěĚėęĔĞđėĨęĚđēČĐČęĔđ"ĜČēęĚĢĎđĞęČī
ĤČġĘČĞęČīĐĚĝĖČ
Нет необходимости использовать исключительно черный
уголь и белый кварц, чтобы построить шахматную доску.
Попробуй загрузить другие блоки для создания разных
стилей шахматной доски: золотые и железные блоки, синюю
и красную шерсть либо арбузы с тыквами. Тебе придется
изменить вызовы функции hare.selectItem(), чтобы выбирать различные типы блоков.
ģĞĚĘħğēęČėĔ
ǰȫȠȜȗȑșȎȐȓȚȩȟȜȕȒȎșȖȜȏȧȖȗȎșȑȜȞȖȠȚȒșȭȐȩȘșȎȒȩ
ȐȎțȖȭȝȓȞȓȘȞȩȠȖȭǽȜȫȠȜȚȡȎșȑȜȞȖȠȚȡȥȓȞȓȝȎȦȘȎȝȞȜ
ǿȀǾǼǶȀdzǹȊǿȀǰǼǽǼǹǮǶǽǼȀǼǹǸǮ
255
ȣȜȒȖȠȝȜȐȟȓȚȝȜȕȖȤȖȭȚȝȞȭȚȜȡȑȜșȪțȜȗȜȏșȎȟȠȖȐȩȝȜș
țȭȭȐȘȎȔȒȜȗȝȜȕȖȤȖȖȜȝȞȓȒȓșȓțțȜȓȒȓȗȟȠȐȖȓǽȞȜȑȞȎȚȚȎ
EXLOGÀRRUȖȟȝȜșȪȕȡȓȠȫȠȜȠȎșȑȜȞȖȠȚȒșȭȝȜȟȠȞȜȓțȖȭȝȜșȜȐ
ȖȝȜȠȜșȘȜȐțȜȠȩȟȚȜȔȓȦȪȝȞȖȚȓțȭȠȪȫȠȜȠȎșȑȜȞȖȠȚȒșȭ
ȞȓȦȓțȖȭȚțȜȔȓȟȠȐȎȒȞȡȑȖȣȕȎȒȎȥȋȠȜȐȜȕȚȜȔțȜȝȜȠȜȚȡ
ȥȠȜ/XDȝȜȕȐȜșȭȓȠȝȓȞȓȒȎȐȎȠȪȢȡțȘȤȖȖȒȞȡȑȖȚȢȡțȘȤȖȭȚ
ȠȎȘȔȓșȓȑȘȜȘȎȘȠȩȝȓȞȓȒȎȓȦȪȟȠȞȜȘȜȐȩȓȖșȖȤȓșȜȥȖȟ
șȓțțȩȓȎȞȑȡȚȓțȠȩǻȎȝȞȖȚȓȞȘȜȑȒȎȢȡțȘȤȖȭselectAndPlaceDown()ȏȩșȎȝȓȞȓȒȎțȎȢȡțȘȤȖȖsweepField()ȐȝȞȜ
ȑȞȎȚȚȓEXLOGÀRRUȥȓȞȓȝȎȦȘȎȝȜȟȠȞȜȖșȎȝȓȞȓȘȞȩȠȖȓǻȜ
ȘȜȑȒȎȏȜșȓȓȟȝȓȤȖȎșȖȕȖȞȜȐȎțțȎȭȢȡțȘȤȖȭplaceCheckerboard()ȏȩșȎȝȓȞȓȒȎțȎȢȡțȘȤȖȖsweepField()ȐȝȞȜȑȞȎȚ
ȚȓbuildcheckerboardȥȓȞȓȝȎȦȘȎȝȜȟȠȞȜȖșȎȦȎȣȚȎȠțȡȬ
ȒȜȟȘȡ
ȀȎȘȘȎȘȢȡțȘȤȖȭsweepField()țȎȟȠȜșȪȘȜȑȖȏȘȎȐțȎ
ȟȠȞȜȗȘȓȒșȭȝȞȜȑȞȎȚȚȖȞȜȐȎțȖȭțȜȐȩȣȒȓȗȟȠȐȖȗțȓȠȞȓ
ȏȡȓȠȟȭȚțȜȑȜȒȜȝȜșțȖȠȓșȪțȜȑȜȘȜȒȎǰȑșȎȐȓȚȩȏȡȒȓȚ
ȖȟȝȜșȪȕȜȐȎȠȪȢȡțȘȤȖȬsweepField()ȒșȭȟȜȕȒȎțȖȭȎȐȠȜ
ȚȎȠȖȕȖȞȜȐȎțțȜȗȢȓȞȚȩțȎȘȜȠȜȞȜȗȐȟȓȜȝȓȞȎȤȖȖȝȜȝȜȟȎȒ
ȘȓȖȡȏȜȞȘȓȡȞȜȔȎȭȏȡȒȡȠȎȐȠȜȚȎȠȖȕȖȞȜȐȎțȩ
14
ěĜĚďĜČĘĘĔĜĚĎČęĔđ
ģđĜđěČĤĖĔĠđĜĘđĜČ
ǰȞȓȔȖȚȓȐȩȔȖȐȎțȖȭțȓȜȏȣȜȒȖȚȜȕȎȏȜȠȖȠȪ
ȟȭȜȝȞȜȝȖȠȎțȖȖțȜȜȣȜȠȎȖȟȏȜȞȝȖȧȖȜȠțȖ
ȚȎȬȠȚțȜȑȜȐȞȓȚȓțȖǿȓșȪȟȘȜȓȣȜȕȭȗȟȠȐȜȖ
ȟȏȜȞȡȞȜȔȎȭ²șȡȥȦȓȓȞȓȦȓțȖȓțȜȟȜȒȓȞȔȎȠȪ
ȘȞȡȝțȡȬȢȓȞȚȡȒȜȐȜșȪțȜȣșȜȝȜȠțȜDzȎȐȎȗȐȩ
ȞȎȧȖȐȎȠȪȖȟȜȏȖȞȎȠȪȜȑȞȜȚțȩȗȡȞȜȔȎȗȟȝȜȚȜ
ȧȪȬȜȒțȜȗȕȎȝȞȜȑȞȎȚȚȖȞȜȐȎțțȜȗȥȓȞȓȝȎȦȘȖȢȓȞȚȓȞȎ
ȘȎȘȝȜȘȎȕȎțȜțȎȞȖȟ
ˀ̛̭͘ϭϰ͘ϭ͘ʻ̸̴̸̡̨̨̨̨̨̨̡̛̬̱̪̦̜̪̹̖̦̦̜̖̬̥̖̥̙̖̯̬̯̯̭̖̦̖̬̖̪̹̌̌̍̌̽̏̐̔̌̌̌
ǽǾǼDZǾǮǺǺǶǾǼǰǮǻǶdzȅdzǾdzǽǮȆǸǶȂdzǾǺdzǾǮ
257
ǰȫȠȜȗȑșȎȐȓȚȩȟȜȕȒȎȒȖȚȎșȑȜȞȖȠȚȘȜȠȜȞȩȗȝȜȕȐȜșȖȠ
ȠȐȜȖȚȥȓȞȓȝȎȦȘȎȚȐȩȞȎȧȖȐȎȠȪȟȜȏȖȞȎȠȪȖȟȒȎȐȎȠȪȡȞȜ
ȔȎȗțȎȣȞȎțȓțȖȓ
ěĚĐďĚĞĚĎĖČěĤđęĔģęĚďĚěĚėī
ȅȠȜȏȩȐȩȞȎȧȖȐȎȠȪȝȦȓțȖȤȡȐ0LQHFUDIWȟțȎȥȎșȎțȡȔțȜ
ȝȜȒȑȜȠȜȐȖȠȪȝȜșȓDzșȭȫȠȜȑȜȝȜțȎȒȜȏȖȠȟȭȚȜȠȩȑȎȞȜȐțȩȗ
ȡȥȎȟȠȜȘȕȓȚșȭțȩȣȖșȖȠȞȎȐȭțȩȣȏșȜȘȜȐȐȓȒȞȜȒȜȟȠȡȝȘ
ȖȟȠȜȥțȖȘȡȐȜȒȩțȎȝȞȖȚȓȞȘȜȘȓȎțȡȖșȖȞȓȘȓ ȖȟȠȜȥțȖȘȐȜ
ȒȩțȓȜȏȭȕȎȠȓșȪțȜȒȜșȔȓțțȎȣȜȒȖȠȪȟȭȞȭȒȜȚȟȡȥȎȟȠȘȜȚ
ȏșȜȘȖȕȎȏȜȞȎȖȟȡțȒȡȘ
ǿțȎȥȎșȎȝȓȞȓȗȒȖȘȖȟȠȜȥțȖȘȡȐȜȒȩȟȝȡȟȠȩȚȐȓȒȞȜȚȖȟ
ȐȓȒȞȜȚȐȞȡȘȓȧȓșȘțȖȝȞȎȐȜȗȘțȜȝȘȜȗȚȩȦȖȝȜȐȜȒȓȥȠȜ
ȏȩțȎȝȜșțȖȠȪȐȓȒȞȜǵȎȠȓȚȝȜȒȜȗȒȖȘȟȐȜȓȚȡȡȥȎȟȠȘȡȕȓȚșȖ
ȖșȖȠȞȎȐȩǼȏȞȎȏȜȠȎȗȡȥȎȟȠȜȘȚȜȠȩȑȜȗȖȝȜȒȑȜȠȜȐȪȝȎȦțȬ
ȞȎȕȚȓȞȜȚðȏșȜȘȜȐǽȜȟȘȜșȪȘȡȝȎȦțȭȏȓȕȏșȖȕȜȟȠȖȐȜ
ȒȩȏȩȟȠȞȜȝȞȓȐȞȎȧȎȓȠȟȭȜȏȞȎȠțȜȐțȓȜȏȞȎȏȜȠȎțțȡȬȕȓȚșȬ
ȠȓȏȓțȎȒȜȐȩȘȜȝȎȠȪȭȚȡȐȤȓțȠȞȓȝȜșȭȎȕȎȠȓȚȧȓșȘț ȡȠȪ
ȝȜțȓȗȝȞȎȐȜȗȘțȜȝȘȜȗȚȩȦȖȟȝȜșțȩȚȐȜȒȩȐȓȒȞȜȚȐȞȡ
ȘȎȣȖȐȩșȖȠȪȐȜȒȡȐȭȚȡȀȎȘȖȚȜȏȞȎȕȜȚȠȩȕȎȝȜșțȖȦȪȭȚȡ
ȐȜȒȜȗ
ǼȒțȜȑȜȠȎȘȜȑȜȏșȜȘȎȐȜȒȩȒȜȟȠȎȠȜȥțȜȒșȭȡȐșȎȔțȓțȖȭ
ȝȜșȭțȎȞȎȟȟȠȜȭțȖȖȒȜȥȓȠȩȞȓȣȏșȜȘȜȐȐșȬȏȜȚțȎȝȞȎȐșȓ
țȖȖȠȜȓȟȠȪȡȥȎȟȠȘȎȞȎȕȚȓȞȜȚðȏșȜȘȜȐȅȠȜȏȩȟȜȕȒȎȠȪ
ȏȜșȓȓȘȞȡȝțȡȬȢȓȞȚȡȚȜȔțȜȞȎȕȚȓȟȠȖȠȪțȓȟȘȜșȪȘȜȠȎȘȖȣ
ȜȞȜȦȎȓȚȩȣȝȜșȓȗȞȭȒȜȚȒȞȡȑȟȒȞȡȑȜȚ
ǽȜȝȓȞȖȚȓȠȞȡȢȓȞȚȩțȎȒȜȡȟȠȎțȜȐȖȠȪȕȎȏȜȞȥȠȜȏȩțȓ
ȝȡȟȘȎȠȪȘȜȞȜȐȜȐȓȤȖȐȞȎȔȒȓȏțȩȣȚȜȏȜȐȘȜȠȜȞȩȓȏȡȒȡȠȚȓ
ȦȎȠȪȥȓȞȓȝȎȦȘȎȚǰșȓȐȜȚțȖȔțȓȚȡȑșȡȡȟȠȎțȜȐȖȟȡțȒȡȘ
țȎȐȩȟȜȠȓȜȒțȜȑȜȏșȜȘȎțȎȒȕȓȚșȓȗȐȫȠȜȠȟȡțȒȡȘȥȓȞȓȝȎȦ
ȘȖȏȡȒȡȠȟȘșȎȒȩȐȎȠȪȡȞȜȔȎȗǻȎȞȖȟȝȜȘȎȕȎțȜȘȎȘ
ȒȜșȔțȜȐȩȑșȭȒȓȠȪȝȜșȓ
ǽȞȖȚȓȥȎțȖȓ Ɉɞɧɚɱɟɪɟɩɚɲɤɚɦɨɠɟɬɨɛɪɚɛɚɬɵɜɚɬɶɩɪɹɦɨɭɝɨɥɶɧɨɟɩɨɥɟɥɸɛɨɝɨɪɚɡɦɟɪɚɋɚɦɨɟɝɥɚɜɧɨɟɪɚɡɦɟɫɬɢɨɞɢɧ
ɛɥɨɤɜɨɞɵɞɥɹɩɨɥɢɜɚɧɚɤɚɠɞɨɦɭɱɚɫɬɤɟɪɚɡɦɟɪɨɦîɛɥɨɤɨɜ
258
DZǹǮǰǮ
Ɍɚɤɠɟɩɨɧɚɞɨɛɢɬɫɹɡɚɛɨɪɩɨɩɟɪɢɦɟɬɪɭɜɫɟɝɨɩɪɹɦɨɭɝɨɥɶɧɨɝɨ
ɩɨɥɹ ɧɟɡɚɜɢɫɢɦɨɨɬɟɝɨɪɚɡɦɟɪɚɱɬɨɛɵɧɟɩɭɫɤɚɬɶɜɪɚɠɞɟɛɧɵɯɦɨɛɨɜɢɠɢɜɨɬɧɵɯ
ˀ̛̭͘ϭϰ͘Ϯ͘ʿ̸̨̨̨̛̹̖̦̦̖̪̣̖̬̥̖̬̥̌̚ϵпϵ̸̨̡̨̨̡̨̨̛̛̣̭̭̯̦̥̼̍̏̏̔
̨̛̪̭̖̬̖̦̖̔͘ʦ̵̸̨̨̡̡̛̛̣̖̥̦̙̦̖̥̱̣̱̦̯̭̖̬̖̪̹̭̱̦̱̏̐̌̔́́̌̌̔
ȀȓȝȓȞȪȘȜȑȒȎȝȜșȓȝȜȒȑȜȠȜȐșȓțȜȒȎȐȎȗȞȎȟȟȚȜȠȞȖȚȎș
ȑȜȞȖȠȚțȎȜȟțȜȐȓȘȜȠȜȞȜȑȜȝȞȜȑȞȎȚȚȎfarmwheatȏȡȒȓȠ
ȡȝȞȎȐșȭȠȪȢȓȞȚȜȗ
ĜČēĜČčĚĞĖČČėďĚĜĔĞĘČğěĜČĎėđęĔī
ěĤđęĔģęĚĕĠđĜĘĚĕ
ǰȫȠȜȗȑșȎȐȓȚȩțȎȝȖȦȓȚȝȞȜȑȞȎȚȚȡfarmwheatǻȜȟțȎ
ȥȎșȎțȡȔțȜȟȝȞȜȓȘȠȖȞȜȐȎȠȪȎșȑȜȞȖȠȚȫȠȜȗȝȞȜȑȞȎȚȚȩ
ǽȞȓȔȒȓȥȓȚȥȓȞȓȝȎȦȘȎțȎȥțȓȠȕȎțȖȚȎȠȪȟȭȝȜșȓȚțȡȔțȜ
ȝȞȜȐȓȞȖȠȪȒȐȎȚȜȚȓțȠȎǰȜȝȓȞȐȩȣȥȓȞȓȝȎȦȘȎȝȞȜȐȓȞȭȓȠ
ȥȠȜȞȭȒȜȚȟțȓȗȓȟȠȪȟȡțȒȡȘdzȟșȖȜțȎțȓȟȚȜȔȓȠȓȑȜțȎȗ
ȠȖȓȗțȓȑȒȓȏȡȒȓȠȣȞȎțȖȠȪȟȜȏȞȎțțȡȬȝȦȓțȖȤȡǽȜȟȘȜșȪ
ȘȡȝȞȜȑȞȎȚȚȎfarmwheatȏȡȒȓȠȟȜȒȓȞȔȎȠȪȢȡțȘȤȖȬhare.
sweepField()ȘȜȠȜȞȡȬȚȩțȎȝȖȟȎșȖȐȑșȎȐȓȥȓȞȓȝȎȦȘȓ
ǽǾǼDZǾǮǺǺǶǾǼǰǮǻǶdzȅdzǾdzǽǮȆǸǶȂdzǾǺdzǾǮ
259
ȠȎȘȔȓțȓȜȏȣȜȒȖȚȜȝȞȜȐȓȞȖȠȪȥȠȜȡțȓȓȒȜȟȠȎȠȜȥțȜȠȜȝșȖ
ȐȎȥȠȜȏȩȝȜșțȜȟȠȪȬȜȏȞȎȏȜȠȎȠȪȝȜșȓ
ǽȜȟșȓȠȜȑȜȘȎȘȥȓȞȓȝȎȦȘȎȡȏȓȒȖȠȟȭȥȠȜȡțȓȓȓȟȠȪȒȜ
ȟȠȡȝȘȟȡțȒȡȘȡȖȒȜȟȠȎȠȜȥțȜȓȘȜșȖȥȓȟȠȐȜȠȜȝșȖȐȎȜțȎȐȩ
ȕȜȐȓȠȢȡțȘȤȖȬhare.sweepField()ȖțȎȥțȓȠȒȐȖȔȓțȖȓȝȜ
ȐȟȓȚȡȝȞȜȟȠȞȎțȟȠȐȡȝȜșȭǽȜȟȘȜșȪȘȡȞȎȕțȩȓȏșȜȘȖȝȦȓțȖ
ȤȩȟȜȕȞȓȐȎȬȠȟȞȎȕțȜȗȟȘȜȞȜȟȠȪȬ ȐȏȜșȪȦȖțȟȠȐȓȟșȡȥȎȓȐȐ
ȠȓȥȓțȖȓ²ȚȖțȡȠ²Ƞȓ²ȖȑȞȜȐȩȣȒțȭ0LQHFUDIW Ȝȥȓ
ȐȖȒțȜȥȠȜțȓțȎȐȟȓȚȝȜșȓȝȦȓțȖȤȎȟȜȕȞȓȓȠȜȒțȜȐȞȓȚȓț
țȜǽȜȫȠȜȚȡțȎȚțȡȔțȜȟȜȕȒȎȠȪȢȡțȘȤȖȬȘȜȠȜȞȎȭȏȡȒȓȠțȓ
ȠȜșȪȘȜȐȩȕȩȐȎȠȪȢȡțȘȤȖȬhare.sweepField()țȜȖȜȝȞȓ
ȒȓșȭȠȪȥȠȜȥȓȞȓȝȎȦȘȎȒȜșȔțȎȒȓșȎȠȪțȎȘȎȔȒȜȚȘȜțȘȞȓȠ
țȜȚȏșȜȘȓȝȜșȭ
ȅȓȞȓȝȎȦȘȎȒȜșȔțȎȐȩȝȜșțȖȠȪȜȒțȜȖȕȠȞȓȣȒȓȗȟȠȐȖȗ
z ȝȜȟȓȭȠȪȟȓȚȓțȎȓȟșȖȡȥȎȟȠȜȘțȓȕȎȟȎȔȓț
z țȓȒȓșȎȠȪțȖȥȓȑȜȓȟșȖȝȦȓțȖȤȎȝȜȟȎȔȓțȎțȜȓȧȓțȓ
ȟȜȕȞȓșȎ
z ȡȏȞȎȠȪȝȦȓțȖȤȡȓȟșȖȜțȎȟȜȕȞȓșȎȖȐțȜȐȪȝȜȟȓȭȠȪȟȓ
ȚȓțȎ
ǽȜȟșȓȠȜȑȜȘȎȘȥȓȞȓȝȎȦȘȎȐȩȝȜșțȖȠȜȒțȜȖȕȡȘȎȕȎțțȩȣ
ȠȞȓȣȒȓȗȟȠȐȖȗțȎȐȟȓȚȝȞȜȟȠȞȎțȟȠȐȓȝȜșȭȜțȎȐȓȞțȓȠȟȭȐ
ȖȟȣȜȒțȜȓȝȜșȜȔȓțȖȓȐȟȜȜȠȐȓȠȟȠȐȖȖȟȎșȑȜȞȖȠȚȜȚȘȜȠȜȞȩȗ
ȚȩȕȎșȜȔȖșȖȐȢȡțȘȤȖȬhare.sweepField()ȐȑșȎȐȓ
ǰȒȎțțȜȚȟșȡȥȎȓȖȟȣȜȒțȜȓȝȜșȜȔȓțȖȓȥȓȞȓȝȎȦȘȖțȎȣȜȒȖȠ
ȟȭȞȭȒȜȚȟȟȡțȒȡȘȜȚȅȓȞȓȝȎȦȘȎȝȜȐȜȞȎȥȖȐȎȓȠȟȭȘȟȡțȒȡ
ȘȡȟȘșȎȒȩȐȎȓȠȐțȓȑȜȟȜȏȞȎțțȡȬȝȦȓțȖȤȡȎȕȎȠȓȚȟțȜȐȎ
ȝȜȐȜȞȎȥȖȐȎȓȠȟȭȘȝȜșȬǽȜȠȜȚȥȓȞȓȝȎȦȘȎȜȠȒȩȣȎȓȠȐȠȓ
ȥȓțȖȓȚȖțȡȠȥȠȜȏȩȒȎȠȪȝȜȟȓȭțțȜȗȝȦȓțȖȤȓȐȞȓȚȭȟȜ
ȕȞȓȠȪȖȟțȜȐȎȜȏȞȎȏȎȠȩȐȎȓȠȝȜșȓ
ȀȓȝȓȞȪȘȜȑȒȎȠȩȝȜțȖȚȎȓȦȪȎșȑȜȞȖȠȚȚȩȚȜȔȓȚȖȟ
ȝȜșȪȕȜȐȎȠȪȓȑȜȒșȭȞȎȕȞȎȏȜȠȘȖȢȓȞȚȓȞȟȘȜȗȝȞȜȑȞȎȚȚȩ
ǻȎȥțȓȚȟȒȜȏȎȐșȓțȖȭȐȟȝȜȚȜȑȎȠȓșȪțȜȗȢȡțȘȤȖȖfindBlock()ȐȚȜȒȡșȪhareǸȫȠȜȗȢȡțȘȤȖȖȥȓȞȓȝȎȦȘȎȏȡȒȓȠ
ȜȏȞȎȧȎȠȪȟȭȥȠȜȏȩȡȏȓȒȖȠȪȟȭȥȠȜȜțȎțȎȣȜȒȖȠȟȭȞȭȒȜȚȟ
ȟȡțȒȡȘȜȚ
260
DZǹǮǰǮ
ĐĚĜČčĚĞĖČĘĚĐğėī0):ȂȡțȘȤȖȭ¿QG%ORFN()ȝȜȐȜȞȎȥȖȐȎȓȠȥȓȞȓȝȎȦȘȡȐȜȘȞȡȑȟȐȜȓȗ
ȜȟȖȥȠȜȏȩȠȎȚȜȑșȎȞȎȟȟȚȜȠȞȓȠȪțȎȣȜȒȖȠȟȭșȖȞȭȒȜȚȜȝȞȓ
ȒȓșȓțțȩȗȏșȜȘȋȠȎȢȡțȘȤȖȭȝȜȚȜȔȓȠțȎȦȓȗȥȓȞȓȝȎȦȘȓ
ȢȓȞȚȓȞȡțȎȗȠȖȏșȖȔȎȗȦȖȗȟȡțȒȡȘȒșȭȣȞȎțȓțȖȭȟȜȏȞȎțțȜȗ
ȝȦȓțȖȤȩȂȡțȘȤȖȭ¿QG%ORFN()ȠȎȘȔȓȚȜȔȓȠȝȞȖȑȜȒȖȠȪȟȭȖ
ȐȒȞȡȑȖȣȝȞȜȑȞȎȚȚȎȣȝȜȫȠȜȚȡȒȜȏȎȐȖȚȓȓȐȚȜȒȡșȪhare.
ǰȜȏȜșȜȥȘȓȘȜȚȎțȒțȜȗȟȠȞȜȘȖȐȩȝȜșțȖȘȜȚȎțȒȡedit
hareǽȓȞȓȚȓȟȠȖȘȡȞȟȜȞȐțȖȔțȬȬȥȎȟȠȪȢȎȗșȎȖȝȞȜȒȜș
ȔȖȘȜȒȒȜȏȎȐȖȐȟșȓȒȡȬȧȖȓȟȠȞȜȘȖ
hare
...ɩɪɨɩɭɫɤ...
200. -- ¿QG%ORFN() ɩɨɜɨɪɚɱɢɜɚɟɬɱɟɪɟɩɚɲɤɭɞɥɹ
±ɩɨɢɫɤɚɛɥɨɤɚɫɭɤɚɡɚɧɧɵɦɢɞɟɧɬɢɮɢɤɚɬɨɪɨɦ
202. function ¿QG%ORFN(name)
203.
local result, block
204.
205.
for i = 1, 4 do
206.
result, block = turtle.inspect()
207.
if block ~= nil and block['name'] == name then
208.
return true
209.
end
210.
turtle.turnRight()
211.
end
212.
return false
213. end
ǿȜȣȞȎțȖȝȞȜȑȞȎȚȚȡȖȐȩȗȒȖȖȕȞȓȒȎȘȠȜȞȎȝȜȟșȓȐȐȜȒȎ
ȐȟȓȣȖțȟȠȞȡȘȤȖȗdzȓȠȎȘȔȓȚȜȔțȜȟȘȎȥȎȠȪȐȩȝȜșțȖȐȘȜ
ȚȎțȒȡpastebin get wwzvaKuW hare.
ȂȡțȘȤȖȭfindBlock()ȜȥȓțȪȝȞȜȟȠȎȐȖȟȝȜșȪȕȜȐȎțȖȖ
ȀȩȝȓȞȓȒȎȓȦȪȢȡțȘȤȖȖfindBlock()ȟȠȞȜȘȡȟȖȒȓțȠȖȢȖ
ȘȎȠȜȞȜȚȏșȜȘȎȘȜȠȜȞȩȗȟșȓȒȡȓȠțȎȗȠȖǻȎȝȞȖȚȓȞȒșȭ
ȝȜȖȟȘȎȟȡțȒȡȘȎȚȩȝȓȞȓȒȎȒȖȚȢȡțȘȤȖȖȖȒȓțȠȖȢȖȘȎȠȜȞ
'minecraft:chest'ȂȡțȘȤȖȭ¿QG%ORFN()ȚȜȔȓȠȝȜȐȓȞ
țȡȠȪȥȓȞȓȝȎȦȘȡțȎȝȞȎȐȜȒȜȥȓȠȩȞȓȣȞȎȕȖȟȝȜșȪȕȡȭȤȖȘș
forȐȟȠȞȜȘȓȎȥȓȞȓȝȎȦȘȎțȎȘȎȔȒȜȗȖȠȓȞȎȤȖȖȝȞȜ
ǽǾǼDZǾǮǺǺǶǾǼǰǮǻǶdzȅdzǾdzǽǮȆǸǶȂdzǾǺdzǾǮ
261
ȐȓȞȭȓȠȖȒȓțȠȖȢȖȘȎȠȜȞȏșȜȘȎȞȎȟȝȜșȜȔȓțțȜȑȜȝȓȞȓȒțȓȗȟ
ȝȜȚȜȧȪȬȢȡțȘȤȖȖturtle.inspect().
ȂȡțȘȤȖȭturtle.inspect()ȐȜȕȐȞȎȧȎȓȠȜȒțȜȖȕȒȐȡȣ
ȕțȎȥȓțȖȗșȜȑȖȥȓȟȘȜȓȕțȎȥȓțȖȓtrueȓȟșȖȏșȜȘțȎȣȜȒȖȠȟȭ
ȝȓȞȓȒȥȓȞȓȝȎȦȘȜȗȖșȖfalseȓȟșȖȏșȜȘȎțȓȠǸȜȑȒȎȓȟȠȪ
ȏșȜȘȒșȭȝȞȜȐȓȞȘȖȢȡțȘȤȖȭȠȎȘȔȓȐȜȕȐȞȎȧȎȓȠȒȎțțȩȓ
ȜȏșȜȘȓǰȟȠȞȜȘȓȚȩȟȜȣȞȎțȭȓȚșȜȑȖȥȓȟȘȜȓȕțȎȥȓțȖȓ
ȐȜȕȐȞȎȧȓțțȜȓȢȡțȘȤȖȓȗturtle.inspect()ȐȝȓȞȓȚȓțțȜȗ
resultȎȟȐȓȒȓțȖȭȜȏșȜȘȓȐȝȓȞȓȚȓțțȜȗblockǻȎȘȎȔȒȜȗ
ȖȠȓȞȎȤȖȖȤȖȘșȎȐȟȠȞȜȘȓȝȞȜȐȓȞȭȓȠȟȭȟȡȧȓȟȠȐȡȓȠșȖ
ȏșȜȘȖȓȟșȖȒȎȠȜȟȜȐȝȎȒȎȓȠșȖȓȑȜȖȒȓțȠȖȢȖȘȎȠȜȞȟȝȓȞȓ
ȒȎțțȩȚȢȡțȘȤȖȖ¿QG%ORFN().
dzȟșȖȥȓȞȓȝȎȦȘȎțȎȣȜȒȖȠȖȟȘȜȚȩȗȏșȜȘȜțȎȝȓȞȓȟȠȎȓȠ
ȝȜȐȜȞȎȥȖȐȎȠȪȟȭȖȐȜȕȐȞȎȧȎȓȠȕțȎȥȓțȖȓtrueǰȝȞȜȠȖȐțȜȚ
ȟșȡȥȎȓȥȓȞȓȝȎȦȘȎȝȞȜȒȜșȔȎȓȠȐȞȎȧȎȠȪȟȭȝȜȘȎțȓȟȜȐȓȞ
ȦȖȠȥȓȠȩȞȓȝȜȐȜȞȜȠȎdzȟșȖȝȜȟșȓȥȓȠȩȞȓȣȝȜȐȜȞȜȠȜȐȥȓȞȓ
ȝȎȦȘȎțȓțȎȣȜȒȖȠȕȎȒȎțțȩȗȏșȜȘȢȡțȘȤȖȭ¿QG%ORFN()
ȐȜȕȐȞȎȧȎȓȠȕțȎȥȓțȖȓfalseȀȓȝȓȞȪȏșȎȑȜȒȎȞȭȫȠȜȗȐȟȝȜ
ȚȜȑȎȠȓșȪțȜȗȢȡțȘȤȖȖȚȩȚȜȔȓȚțȎȝȖȟȎȠȪȘȜȒȜȟțȜȐțȜȗ
ȝȞȜȑȞȎȚȚȩȡȝȞȎȐșȓțȖȭȢȓȞȚȜȗ²farmwheat.
ĖĚĐěĜĚďĜČĘĘħ.):5?0-)<
DzȎȐȎȗțȎȝȖȦȓȚȝȞȜȑȞȎȚȚȡȟțȎȦȖȚȎșȑȜȞȖȠȚȜȚǰȜȏȜ
șȜȥȘȓȘȜȚȎțȒțȜȗȟȠȞȜȘȖȐȩȝȜșțȖȘȜȚȎțȒȡedit farmwheatȖȐȐȓȒȖȟșȓȒȡȬȧȖȗȘȜȒ
farmwheat
>>ɉɪɨɝɪɚɦɦɚɞɥɹɜɵɪɚɳɢɜɚɧɢɹɩɲɟɧɢɰɵɗɥɚɋɜɟɣɝɚɪɬɚ
ȼɵɪɚɳɢɜɚɟɬɢɫɨɛɢɪɚɟɬɩɲɟɧɢɰɭ
ɉɪɟɞɩɨɥɚɝɚɟɬɫɹɱɬɨɩɨɥɟɧɚɯɨɞɢɬɫɹ
ɫɩɟɪɟɞɢɢɫɩɪɚɜɚɨɬɱɟɪɟɩɚɲɤɢɚ
ɫɡɚɞɢɢɧɟɟɭɫɬɚɧɨɜɥɟɧɫɭɧɞɭɤ@@
6.
7. os.loadAPI('hare')
8.
ɨɛɪɚɛɨɬɤɚɚɪɝɭɦɟɧɬɨɜɤɨɦɚɧɞɧɨɣɫɬɪɨɤɢ
10. local cliArgs = {...}
11. local length = tonumber(cliArgs[1])
262
DZǹǮǰǮ
12. local width = tonumber(cliArgs[2])
13.
ɨɬɨɛɪɚɠɟɧɢɟɢɧɮɨɪɦɚɰɢɢɨɛɢɫɩɨɥɶɡɨɜɚɧɢɢ
LIOHQJWK QLORUZLGWK QLORUFOL$UJV>@ "
then
16.
print('Usage: farmwheat ')
17.
return
18. end
19.
20. print('Hold Ctrl-T to stop.')
21.
ɩɪɨɜɟɪɤɚɞɨɫɬɭɩɚɤɫɭɧɞɭɤɭ
LIQRWKDUH¿QG%ORFN PLQHFUDIWFKHVW WKHQ
24.
error('Must start next to a chest.')
25. end
26.
ɩɨɜɨɪɨɬɤɩɨɥɸ
28. turtle.turnLeft()
29. turtle.turnLeft()
30.
31.
FKHFN:KHDW&URS ɫɨɛɢɪɚɟɬɭɪɨɠɚɣ
ɢɫɚɠɚɟɬɫɟɦɟɧɚ
34. function checkWheatCrop()
35.
local result, block = turtle.inspectDown()
36.
37.
if not result then
WXUWOHGLJ'RZQ ɩɨɞɝɨɬɨɜɤɚɩɚɲɧɢ
39.
plantWheatSeed()
40.
elseif block ~= nil and block['name'] ==
'minecraft:wheat' and block['metadata'] == 7 then
ɫɛɨɪɭɪɨɠɚɹɢɩɨɫɟɜɫɟɦɹɧ
42.
turtle.digDown()
43.
print('Collected wheat.')
44.
plantWheatSeed()
45.
end
46. end
47.
48.
SODQW:KHDW6HHG ɩɪɨɛɭɟɬɩɨɫɚɞɢɬɶ
ɫɟɦɟɧɚɩɲɟɧɢɰɵɩɨɞɱɟɪɟɩɚɲɤɨɣ
51. function plantWheatSeed()
ǽǾǼDZǾǮǺǺǶǾǼǰǮǻǶdzȅdzǾdzǽǮȆǸǶȂdzǾǺdzǾǮ
263
52.
if not hare.selectItem('minecraft:wheat_seeds')
then
53.
print('Warning: Low on seeds.')
54.
else
WXUWOHSODFH'RZQ ɩɨɫɟɜɫɟɦɹɧ
56.
print('Planted seed.')
57.
end
58. end
59.
60.
VWRUH:KHDW ɩɨɦɟɳɟɧɢɟɭɪɨɠɚɹ
ɜɫɭɧɞɭɤ
63. function storeWheat()
ɩɨɜɨɪɨɬɤɫɭɧɞɭɤɭ
LIQRWKDUH¿QG%ORFN PLQHFUDIWFKHVW WKHQ
HUURU &RXOGQRW¿QGFKHVW
67.
end
68.
ɩɨɦɟɳɟɧɢɟɩɲɟɧɢɰɵɜɫɭɧɞɭɤ
70.
while hare.selectItem('minecraft:wheat') do
71.
print('Dropping off ' .. turtle.getItemCount() ..
' wheat...')
72.
if not turtle.drop() then
73.
error('Wheat chest is full!')
74.
end
75.
end
76.
ɩɨɜɨɪɨɬɤɩɨɥɸɫɧɨɜɚ
78.
turtle.turnLeft()
79.
turtle.turnLeft()
80. end
81.
82.
ɧɚɱɚɥɨɪɚɛɨɬɵɧɚɮɟɪɦɟ
84. while true do
ɩɪɨɜɟɪɤɚɭɪɨɜɧɹɬɨɩɥɢɜɚ
86.
if turtle.getFuelLevel() < (length * width + length
+ width) then
87.
error('Turtle needs more fuel!')
88.
end
89.
264
DZǹǮǰǮ
ɩɨɫɟɜɩɲɟɧɢɰɵ
SULQW 6ZHHSLQJ¿HOG
92.
hare.sweepField(length, width, checkWheatCrop)
93.
storeWheat()
94.
95.
print('Sleeping for 10 minutes...')
96.
os.sleep(600)
97. end
ǽȜȟșȓȐȐȜȒȎȐȟȓȣȫȠȖȣȖțȟȠȞȡȘȤȖȗȟȜȣȞȎțȖȝȞȜȑȞȎȚȚȡȖ
ȐȩȗȒȖȖȕȞȓȒȎȘȠȜȞȎ
ēČěğĝĖěĜĚďĜČĘĘħ.):5?0-)<
ǽȓȞȓȒȕȎȝȡȟȘȜȚȝȞȜȑȞȎȚȚȩfarmwheatȟșȓȒȡȓȠȡȏȓȒȖȠȪȟȭ
ȥȠȜȞȎȟȟȠȜȭțȖȓȒȜȖȟȠȜȥțȖȘȎȐȜȒȩȟȜȟȠȎȐșȭȓȠțȓȏȜșȓȓȥȓ
ȠȩȞȓȣȏșȜȘȜȐȖȥȠȜȟȡțȒȡȘțȎȣȜȒȖȠȟȭȕȎȥȓȞȓȝȎȦȘȜȗȐȓȓ
ȖȟȣȜȒțȜȗȝȜȕȖȤȖȖȐșȓȐȜȚțȖȔțȓȚȡȑșȡȝȜșȭȘȎȘȝȜȘȎ
ȕȎțȜțȎȞȖȟȅȓȞȓȝȎȦȘȡțȎȒȜȜȏȜȞȡȒȜȐȎȠȪȎșȚȎȕțȜȗ
ȚȜȠȩȑȜȗȥȠȜȏȩȜțȎȚȜȑșȎȝȞȓȐȞȎȧȎȠȪȐȝȎȦțȬȕȓȚșȬȖșȖ
ȠȞȎȐȡǽȜȟșȓȠȜȑȜȘȎȘȥȓȞȓȝȎȦȘȎțȎȟȠȞȜȓțȎȐȜȏȜșȜȥȘȓȘȜ
ȚȎțȒțȜȗȟȠȞȜȘȖȐȐȓȒȖȘȜȚȎțȒȡfarmwheat 9 9ȥȠȜȏȩȥȓ
ȞȓȝȎȦȘȎțȎȥȎșȎȜȏȞȎȏȎȠȩȐȎȠȪȝȜșȓȞȎȕȚȓȞȜȚðȏșȜȘȜȐ
ˀ̛̭͘ϭ4.3.ˋ̡̨̨̨̨̨̡̖̬̖̪̹̬̥̖̺̖̦̦̼̭̯̖̦̣̦̖̥̣̖̜͕̌̌̌̌̌̏̔̐̍̌̌̔̌̚̚
̡̨̨̛̭̱̦̱̱̭̯̦̣̖̦̪̦̖̖̔̌̏̌̔̚
ǽǾǼDZǾǮǺǺǶǾǼǰǮǻǶdzȅdzǾdzǽǮȆǸǶȂdzǾǺdzǾǮ
265
ǶȚȓȗȐȐȖȒȡȥȠȜȓȟșȖȠȩȡȗȒȓȦȪȜȠȥȓȞȓȝȎȦȘȖȟșȖȦ
ȘȜȚȒȎșȓȘȜȜțȎȝȓȞȓȟȠȎțȓȠȞȎȏȜȠȎȠȪdzȟșȖȥȓȞȓȝȎȦȘȎȜȠ
ȘșȬȥȖȠȟȭțȎȟȓȞȓȒȖțȓȝȜșȭȓȓțȡȔțȜȏȡȒȓȠȝȓȞȓȚȓȟȠȖȠȪ
ȜȏȞȎȠțȜȐșȓȐȩȗțȖȔțȖȗȡȑȜșȝȜșȭȖȟțȜȐȎȕȎȝȡȟȠȖȠȪȝȞȜ
ȑȞȎȚȚȡȥȠȜȏȩȥȓȞȓȝȎȦȘȎȝȞȜȒȜșȔȖșȎȕȎțȖȚȎȠȪȟȭȢȓȞ
ȚȜȗǻȎȦȞȜȏȜȠȝȞȜȒȜșȔȖȠȘȎȘȖȞȎțȪȦȓȝȓȞȓȚȓȧȎȠȪȟȭ
ȝȜȝȜșȬȝȞȜȐȓȞȭȠȪȕȞȓșȜȟȠȪȝȦȓțȖȤȩȟȜȏȖȞȎȠȪȓȓȖȝȞȜ
ȖȕȐȜȒȖȠȪȝȜȟȓȐ
dzȟșȖȝȞȖȕȎȝȡȟȘȓȫȠȜȗȝȞȜȑȞȎȚȚȩȐȜȕțȖȘȎȬȠȜȦȖȏȘȖ
ȠȧȎȠȓșȪțȜȟȞȎȐțȖȟȐȜȗȘȜȒȟșȖȟȠȖțȑȜȚȐȫȠȜȗȘțȖȑȓȥȠȜ
ȏȩțȎȗȠȖȐȜȕȚȜȔțȩȓȜȝȓȥȎȠȘȖdzȟșȖȖȟȝȞȎȐȖȠȪȝȞȜȑȞȎȚȚȡ
țȓȡȒȎȓȠȟȭȡȒȎșȖȢȎȗșȐȩȝȜșțȖȐȘȜȚȎțȒȡdelete farmwheatȎȕȎȠȓȚȕȎȑȞȡȕȖȝȞȜȑȞȎȚȚȡȟțȜȐȎȐȩȝȜșțȖȐȘȜȚȎț
Ȓȡpastebin get SfcB8b55 farmwheat.
ĖĚęĠĔďğĜČĢĔīěĜĚďĜČĘĘħ
.):5?0-)<
ǽȓȞȐȩȓȝȭȠȪȟȠȞȜȘȝȞȜȑȞȎȚȚȩȟȜȒȓȞȔȎȠȜȏȩȥțȩȓȘȜȚȚȓț
ȠȎȞȖȖȜȝȖȟȩȐȎȬȧȖȓȥȠȜȜțȎȒȓșȎȓȠȖȘȠȜȞȎȕȞȎȏȜȠȎșȝȞȜ
ȑȞȎȚȚȡǸȜȒȐȟȠȞȜȘȓȕȎȑȞȡȔȎȓȠȚȜȒȡșȪhareȥȠȜȏȩȝȞȜ
ȑȞȎȚȚȎȚȜȑșȎȐȩȕȩȐȎȠȪȓȑȜȢȡțȘȤȖȖ
ǵȎȠȓȚȝȞȜȑȞȎȚȚȎȟȥȖȠȩȐȎȓȠȎȞȑȡȚȓțȠȩȘȜȚȎțȒțȜȗ
ȟȠȞȜȘȖȒșȭȝȜșȡȥȓțȖȭȒșȖțȩȖȦȖȞȖțȩȝȜșȭdzȟșȖȎȞȑȡ
ȚȓțȠȩȘȜȚȎțȒțȜȗȟȠȞȜȘȖțȓȡȘȎȕȎțȩȝȞȜȑȞȎȚȚȎȐȩȐȜȒȖȠ
ȟȜȜȏȧȓțȖȓȝȜșȪȕȜȐȎȠȓșȬ
farmwheat
9. -- ɨɛɪɚɛɨɬɤɚɚɪɝɭɦɟɧɬɨɜɤɨɦɚɧɞɧɨɣɫɬɪɨɤɢ
10. local cliArgs = {...}
11. local length = tonumber(cliArgs[1])
12. local width = tonumber(cliArgs[2])
13.
14. -- ɨɬɨɛɪɚɠɟɧɢɟ ɢɧɮɨɪɦɚɰɢɢ ɨɛ ɢɫɩɨɥɶɡɨɜɚɧɢɢ
15. if length == nil or width == nil or cliArgs[1] ==
" WKHQ
16.
print('Usage: farmwheat ')
17.
return
18. end
266
DZǹǮǰǮ
ǽȜȟȘȜșȪȘȡȎȞȑȡȚȓțȠȩȘȜȚȎțȒțȜȗȟȠȞȜȘȖ²ȫȠȜȐȟȓȑȒȎ
ȟȠȞȜȘȜȐȩȓȕțȎȥȓțȖȭȎȝȓȞȓȚȓțțȩȓlengthȖwidth²Ȑȟȓȑ
ȒȎȥȖȟșȎȘȜȒȐȟȠȞȜȘȎȣȖȝȓȞȓȒȎȓȠȝȓȞȐȩȗȖȐȠȜȞȜȗ
ȎȞȑȡȚȓțȠȩȘȜȚȎțȒțȜȗȟȠȞȜȘȖȢȡțȘȤȖȖtonumber()ǰȜȕ
ȐȞȎȧȎȓȚȩȓȕțȎȥȓțȖȭȟȜȣȞȎțȭȬȠȟȭȐȘȎȥȓȟȠȐȓȕțȎȥȓțȖȗ
ȝȓȞȓȚȓțțȩȣlengthȖwidth.
dzȟșȖȜȠȟȡȠȟȠȐȡȓȠȝȓȞȐȩȗȖșȖȐȠȜȞȜȗȎȞȑȡȚȓțȠȘȜȚȎțȒ
țȜȗȟȠȞȜȘȖȠȜȢȡțȘȤȖȭtonumber()ȐȓȞțȓȠȕțȎȥȓțȖȓnil
ȘȜȠȜȞȜȓȏȡȒȓȠȝȞȖȟȐȜȓțȜȝȓȞȓȚȓțțȜȗlengthȖșȖwidthȟȜ
ȜȠȐȓȠȟȠȐȓțțȜdzȟșȖȜȠȟȡȠȟȠȐȡȓȠȐȠȜȞȜȗȎȞȑȡȚȓțȠȘȜȚȎțȒțȜȗ
ȟȠȞȜȘȖȖșȖȓȟșȖȝȓȞȐȩȗȎȞȑȡȚȓțȠȘȜȚȎțȒțȜȗȟȠȞȜȘȖȝȞȓȒ
ȟȠȎȐșȭȓȠȟȜȏȜȗȕțȎȥȓțȖȓ " ȡȟșȜȐȖȓȖțȟȠȞȡȘȤȖȖifȐȟȠȞȜȘȓ
ȝȞȖțȖȚȎȓȠȕțȎȥȓțȖȓtrueȖȐȩȝȜșțȭȓȠȟȭȘȜȒȐȟȠȞȜȘȎȣ
ȖǸȜȒȐȟȠȞȜȘȓȜȠȜȏȞȎȔȎȓȠȟȜȜȏȧȓțȖȓȝȜșȪȕȜȐȎȠȓșȬ
ȎȖțȟȠȞȡȘȤȖȭendȐȟȠȞȜȘȓȕȎȐȓȞȦȎȓȠȞȎȏȜȠȡȝȞȜȑȞȎȚȚȩ
ǵȎȠȓȚȝȞȜȑȞȎȚȚȎȐȩȝȜșțȭȓȠȒȜȝȜșțȖȠȓșȪțȩȓȦȎȑȖȝȜ
ȝȜȒȑȜȠȜȐȘȓȝȞȜȐȓȞȭȭȥȠȜȡȥȓȞȓȝȎȦȘȖȓȟȠȪȐȟȓțȓȜȏȣȜȒȖ
ȚȜȓȒșȭȕȎȝȡȟȘȎȝȞȜȑȞȎȚȚȩfarmwheat.
farmwheat
20. print('Hold Ctrl-T to stop.')
21.
22. -- ɩɪɨɜɟɪɤɚ ɞɨɫɬɭɩɚ ɤ ɫɭɧɞɭɤɭ
LIQRWKDUH¿QG%ORFN PLQHFUDIWFKHVW WKHQ
24.
error('Must start next to a chest.')
25. end
26.
27. -- ɩɨɜɨɪɨɬɤɩɨɥɸ
28. turtle.turnLeft()
29. turtle.turnLeft()
ǸȜȒȐȟȠȞȜȘȓȐȩȐȜȒȖȠȟȜȜȏȧȓțȖȓȝȜșȪȕȜȐȎȠȓșȬȜȠȜȚ
ȥȠȜȜțȚȜȔȓȠȕȎȐȓȞȦȖȠȪȝȞȜȑȞȎȚȚȡȡȒȓȞȔȖȐȎȭȟȜȥȓȠȎțȖȓ
ȘșȎȐȖȦCtrl+TǵȎȠȓȚȥȓȞȓȝȎȦȘȎȝȩȠȎȓȠȟȭțȎȗȠȖȟȡțȒȡȘ
ȐȩȕȩȐȎȭȢȡțȘȤȖȬhare.¿QG%ORFN('minecraft:chest').
dzȟșȖȜțȎțȓțȎȣȜȒȖȠȟȡțȒȡȘȘȜȒȐȟȠȞȜȘȓȕȎȐȓȞȦȎȓȠ
ȝȞȜȑȞȎȚȚȡȟȜȜȏȧȓțȖȓȚȜȏȜȦȖȏȘȓȝȜȠȜȚȡȥȠȜțȓȠțȓȜȏȣȜ
ȒȖȚȜȟȠȖȝȞȜȒȜșȔȎȠȪȝȞȜȑȞȎȚȚȡȓȟșȖțȓȠȟȡțȒȡȘȎȒșȭȣȞȎ
țȓțȖȭȝȦȓțȖȤȩ
ǽǾǼDZǾǮǺǺǶǾǼǰǮǻǶdzȅdzǾdzǽǮȆǸǶȂdzǾǺdzǾǮ
267
ǽȜȟȘȜșȪȘȡȟȡțȒȡȘțȎȣȜȒȖȠȟȭȕȎȥȓȞȓȝȎȦȘȜȗȖȝȦȓțȖȥ
țȩȚȝȜșȓȚȥȓȞȓȝȎȦȘȓțȡȔțȜȒȐȎȔȒȩȝȜȐȓȞțȡȠȪțȎșȓȐȜ
ȟȠȞȜȘȖȖ ȥȠȜȏȩȟțȜȐȎȜȘȎȕȎȠȪȟȭȝȜȐȓȞțȡȠȜȗșȖȤȓȐȜȗ
ȟȠȜȞȜțȜȗȘȝȜșȬ
ĖĚĐĠğęĖĢĔĕĔĝěĚėĨēğđĘħġ
ĎĚĝęĚĎęĚĕěĜĚďĜČĘĘđ
DzȎȐȎȗțȎȝȖȦȓȚȢȡțȘȤȖȬȟȖȚȓțȓȚcheckWheatCrop()
ȘȜȠȜȞȎȭȟȜȜȏȧȎȓȠȥȓȞȓȝȎȦȘȓȥȠȜȒȓșȎȠȪțȎȘȎȔȒȜȚȡȥȎȟȠ
ȘȓȝȜșȭȘȜȠȜȞȜȓȜțȎȜȏȞȎȏȎȠȩȐȎȓȠǵȎȠȓȚțȎȝȖȦȓȚȓȧȓ
ȜȒțȡȢȡțȘȤȖȬplantWheatSeed()ȘȜȠȜȞȎȭȟȜȒȓȞȔȖȠȖț
ȟȠȞȡȘȤȖȖȝȜȐȩȞȎȧȖȐȎțȖȬȟȓȚȭțȝȦȓțȖȤȩǺȩțȎȝȖȦȓȚ
ȓȧȓȖȠȞȓȠȪȬȢȡțȘȤȖȬȟȖȚȓțȓȚstoreWheat()ȘȜȠȜȞȎȭ
ȝȞȜȖțȟȠȞȡȘȠȖȞȡȓȠȥȓȞȓȝȎȦȘȡȜȠȜȚȥȠȜȜțȎȒȜșȔțȎȒȓșȎȠȪ
ȝȜȟșȓȟȏȜȞȎȡȞȜȔȎȭȋȠȖȠȞȖȢȡțȘȤȖȖȏȡȒȡȠȐȩȕȩȐȎȠȪȟȭȖȕ
ȜȟțȜȐțȜȗȥȎȟȠȖȝȞȜȑȞȎȚȚȩfarmwheat.
ĚĞĝėđĒĔĎČęĔđğĜĚĒČī
ȂȡțȘȤȖȭcheckWheatCrop()ȝȞȜȐȓȞȭȓȠȝȞȜȟȠȞȎțȟȠȐȜȝȜȒ
ȥȓȞȓȝȎȦȘȜȗȖȜȝȞȓȒȓșȭȓȠȘȎȘȜȓȒȓȗȟȠȐȖȓȒȜșȔțȎȝȞȜȖȕ
ȐȓȟȠȖȥȓȞȓȝȎȦȘȎțȎȣȜȒȭȟȪȐȒȎțțȜȗȝȜȕȖȤȖȖǺȩȝȓȞȓȒȎ
ȒȖȚȢȡțȘȤȖȬcheckWheatCrop()ȢȡțȘȤȖȖsweepField()
ȥȠȜȏȩȜțȎȐȩȕȩȐȎșȎȟȪȐȘȎȔȒȜȗȝȜȕȖȤȖȖȝȜșȭȘȜȠȜȞȜȓȜȏ
ȞȎȏȎȠȩȐȎȓȠȥȓȞȓȝȎȦȘȎ
ǽȜȘȎȕȎțțȩȗțȖȔȓȘȜȒȖțȟȠȞȡȘȠȖȞȡȓȠȥȓȞȓȝȎȦȘȡȝȜȟȎ
ȒȖȠȪȟȓȚȓțȎȓȟșȖȝȜȒȥȓȞȓȝȎȦȘȜȗțȓȠȝȦȓțȖȤȩ
farmwheat
32. -- checkWheatCrop() ɫɨɛɢɪɚɟɬɭɪɨɠɚɣ
33. -- ɢɫɚɠɚɟɬɫɟɦɟɧɚ
34. function checkWheatCrop()
35.
local result, block = turtle.inspectDown()
36.
37.
if not result then
38.
turtle.digDown() -- ɩɨɞɝɨɬɨɜɤɚ ɩɚɲɧɢ
39.
plantWheatSeed()
268
DZǹǮǰǮ
ȂȡțȘȤȖȭturtle.inspectDown()ȜȟȡȧȓȟȠȐșȭȓȠțȓȝȜ
ȟȞȓȒȟȠȐȓțțȡȬȝȞȜȐȓȞȘȡȏșȜȘȎȝȜȒȥȓȞȓȝȎȦȘȜȗdzȟșȖȠȎȚ
țȓȠȏșȜȘȎȝȓȞȓȚȓțțȜȗresultȐȟȠȞȜȘȓȝȞȖȟȐȎȖȐȎȓȠȟȭ
ȕțȎȥȓțȖȓfalseȎȘȜȒȐȟȠȞȜȘȓȜȏȞȎȏȎȠȩȐȎȓȠȏșȜȘȕȓȚ
șȖ ȖșȖȠȞȎȐȩ ǸȜȒȐȟȠȞȜȘȓȐȩȕȩȐȎȓȠȢȡțȘȤȖȬplantWheatSeed()ȘȜȠȜȞȡȬȚȩȟȜȕȒȎȒȖȚȐȟșȓȒȡȬȧȓȚȞȎȕȒȓșȓ
ȂȡțȘȤȖȭplantWheatSeed()ȟȓȓȠȟȓȚȓțȎȝȦȓțȖȤȩțȎȏșȜ
ȘȓȝȎȦțȖȝȜȒȥȓȞȓȝȎȦȘȜȗ
dzȟșȖȝȞȜȟȠȞȎțȟȠȐȜȝȜȒȥȓȞȓȝȎȦȘȜȗțȓȝȡȟȠȜ ȠȜȓȟȠȪȟȜ
ȒȓȞȔȖȠȝȦȓțȖȤȡȖșȖȟȓȚȓțȎ ȥȓȞȓȝȎȦȘȎȝȞȜȐȓȞȭȓȠȟȜȒȓȞ
ȔȖȠșȖȝȞȜȟȠȞȎțȟȠȐȜȕȞȓșȡȬȝȦȓțȖȤȡ
farmwheat
40.
elseif block ~= nil and block['name'] ==
'minecraft:wheat' and
block['metadata']
== 7 then
41.
-- ɫɛɨɪɭɪɨɠɚɹɢɩɨɫɟɜɫɟɦɹɧ
42.
turtle.digDown()
43.
print('Collected wheat.')
44.
plantWheatSeed()
45.
end
46. end
ǸȜȒȐȟȠȞȜȘȓȟțȎȥȎșȎȝȞȜȐȓȞȭȓȠȝȞȖȟȐȜȓțȜșȖȝȓȞȓ
ȚȓțțȜȗblockȕțȎȥȓțȖȓnilȎȕȎȠȓȚȝȞȜȐȓȞȭȓȠȟȜȐȝȎȒȎȓȠ
șȖȕțȎȥȓțȖȓblock['name']ȟȖȒȓțȠȖȢȖȘȎȠȜȞȜȚȏșȜȘȎȝȦȓ
țȖȤȩdzȟșȖȝȜȒȥȓȞȓȝȎȦȘȜȗțȖȥȓȑȜțȓȠȢȡțȘȤȖȭturtle.
inspectDown()ȐȟȠȞȜȘȓȝȞȖȟȐȎȖȐȎȓȠȝȓȞȓȚȓțțȜȗblock
ȕțȎȥȓțȖȓnilȋȠȜȚȜȑșȜȏȩȝȞȖȐȓȟȠȖȘȠȜȚȡȥȠȜblock
['name']ȐȟȠȞȜȘȓȐȩȕȜȐȓȠȜȦȖȏȘȡȝȜȠȜȚȡȥȠȜȝȓȞȓȚȓț
țȎȭblockȏȡȒȓȠȖȚȓȠȪȕțȎȥȓțȖȓnilȐȚȓȟȠȜȒȜȝȡȟȠȖȚȜȑȜ
ȠȎȏșȖȥțȜȑȜȕțȎȥȓțȖȭDzșȭȝȞȓȒȜȠȐȞȎȧȓțȖȭȫȠȜȗȜȦȖȏȘȖ
ȘȜȒȐȟȠȞȜȘȓȟțȎȥȎșȎȝȞȜȐȓȞȭȓȠȥȠȜȝȓȞȓȚȓțțȜȗblock
țȓȝȞȖȟȐȜȓțȜȕțȎȥȓțȖȓnil.
ȀȎȏșȖȥțȜȓȕțȎȥȓțȖȓȝȓȞȓȚȓțțȜȗblockȠȎȘȔȓȟȜȒȓȞȔȖȠ
ȘșȬȥ'metadata'ȕțȎȥȓțȖȓȘȜȠȜȞȜȑȜȡȘȎȕȩȐȎȓȠȘȎȘȒȜșȑȜ
ȞȜȟșȎȝȦȓțȖȤȎdzȟșȖȟȓȚȓțȎȝȦȓțȖȤȩȏȩșȖȝȜȟȎȔȓțȩ
ȠȜșȪȘȜȥȠȜȘșȬȥ'metadata'ȖȚȓȓȠȕțȎȥȓțȖȓ0dzȟșȖȔȓȜț
ǽǾǼDZǾǮǺǺǶǾǼǰǮǻǶdzȅdzǾdzǽǮȆǸǶȂdzǾǺdzǾǮ
269
ȖȚȓȓȠȕțȎȥȓțȖȓ7ȝȦȓțȖȤȎȟȜȕȞȓșȎȖȝȜȟșȓȒțȓȓȡȟșȜȐȖȓȐ
ȟȠȞȜȘȓȐȩȝȜșțȭȓȠȟȭ true
ǰȤȓșȜȚȘȜȒȐȟȠȞȜȘȓȝȞȜȐȓȞȭȓȠȟȜȏșȬȒȓțȖȓȠȞȓȣȞȎȕ
țȩȣȡȟșȜȐȖȗțȎȣȜȒȖȠȟȭșȖȝȜȒȥȓȞȓȝȎȦȘȜȗȘȎȘȜȗțȖȏȡȒȪ
ȏșȜȘȭȐșȭȓȠȟȭșȖȜțȏșȜȘȜȚȝȦȓțȖȤȩȖȟȜȕȞȓșșȖȫȠȜȠȏșȜȘ
ȝȦȓțȖȤȩdzȟșȖȘȎȘȜȓșȖȏȜȖȕȫȠȖȣȡȟșȜȐȖȗȐȜȕȐȞȎȧȎȓȠ
ȕțȎȥȓțȖȓfalseȖȟȝȜșțȓțȖȓȝȓȞȓȣȜȒȖȠȘȟȠȞȜȘȓȘȜȠȜȞȎȭ
ȕȎȐȓȞȦȎȓȠȏșȜȘȘȜȒȎȖȥȓȞȓȝȎȦȘȎțȖȥȓȑȜțȓȒȓșȎȓȠ
dzȟșȖȐȟȠȞȜȘȓȟȜȏșȬȒȓțȩ true ȐȟȓȡȟșȜȐȖȭȘȜȒȐ
ȟȠȞȜȘȓȟȜȏȖȞȎȓȠȝȦȓțȖȤȡȐȩȕȩȐȎȭȢȡțȘȤȖȬturtle.
digDown()ǻȓȕȎȐȖȟȖȚȜȜȠȠȜȑȜȒȜȏȩȐȎȬȠșȖȥȓȞȓȝȎȦȘȖ
ȞȡȒȡȞȡȏȭȠȒȓȞȓȐȜȖșȖȟȜȏȖȞȎȬȠȡȞȜȔȎȗȝȦȓțȖȤȩȢȡțȘ
ȤȖȖturtle.dig()ȝȞȜȟȠȜȟȜȏȖȞȎȬȠȏșȜȘȖȝȜȒȥȓȞȓȝȎȦȘȜȗ
ȟȝȜȚȜȧȪȬȖțȟȠȞȡȚȓțȠȎȖȕȓȓȖțȐȓțȠȎȞȭǮȐȜȠȘȜȒȐȟȠȞȜȘȓ
ȐȩȕȩȐȎȓȠȢȡțȘȤȖȬplantWheatSeed()ȘȜȠȜȞȎȭțȓȠȜșȪ
ȘȜȟȜȏȖȞȎȓȠȝȦȓțȖȤȡțȜȖȕȎȟȓȖȐȎȓȠțȎȓȓȚȓȟȠȓțȜȐȡȬDzȎ
șȓȓȚȩȞȎȟȟȚȜȠȞȖȚȫȠȡȢȡțȘȤȖȬ
ěĚĝđĎěĤđęĔĢħ
ǽȜȟȘȜșȪȘȡȐȟȠȞȜȘȎȣȖȠȞȓȏȡȓȠȟȭȜȒȖțȖȠȜȠȔȓȘȜȒ
ȞȎȕȡȚțȜȝȜȚȓȟȠȖȠȪȓȑȜȐȜȠȒȓșȪțȡȬȢȡțȘȤȖȬplantWheatSeed()ȠȜȑȒȎțȓȝȞȖȒȓȠȟȭțȎȏȖȞȎȠȪȓȑȜȒȐȎȔȒȩǰȜȜȏȧȓ
ȝȞȖțȎȝȖȟȎțȖȖȝȞȜȑȞȎȚȚțȎȭȕȩȘȓ/XDȘȜȒȏȡȒȓȠȏȜșȓȓȥȖ
ȠȎȏȓșȪțȩȚȖȓȟșȖȖȟȝȜșȪȕȜȐȎȠȪȢȡțȘȤȖȖȒșȭȖȕȏȎȐșȓțȖȭ
ȜȠȒȡȏșȖȞȡȬȧȓȑȜȘȜȒȎ
ǽȓȞȐȎȭȕȎȒȎȥȎȘȜȠȜȞȡȬȐȩȝȜșțȭȓȠȢȡțȘȤȖȭplantWheatSeed()ȐȟȠȞȜȘȓ²ȫȠȜȐȩȏȜȞȭȥȓȗȘȖȖțȐȓțȠȎȞȭȥȓ
ȞȓȝȎȦȘȖȘȜȠȜȞȎȭȟȜȒȓȞȔȖȠȟȓȚȓțȎȝȦȓțȖȤȩȋȠȎȕȎȒȎȥȎ
ȞȓȦȎȓȠȟȭȝȓȞȓȒȎȥȓȗȐȢȡțȘȤȖȬhare.selectItem()ȕțȎȥȓ
țȖȭ'minecraft:wheat _ seeds'.
farmwheat
49. -- plantWheatSeed() ɩɪɨɛɭɟɬɩɨɫɚɞɢɬɶ
50. -- ɫɟɦɟɧɚɩɲɟɧɢɰɵɩɨɞɱɟɪɟɩɚɲɤɨɣ
51. function plantWheatSeed()
52.
if not hare.selectItem('minecraft:wheat_seeds')
then
53.
print('Warning: Low on seeds.')
270
DZǹǮǰǮ
dzȟșȖȟȓȚȭțțȓȠȥȓȞȓȝȎȦȘȎȐȩȐȜȒȖȠȝȞȓȒȡȝȞȓȔȒȎȬȧȓȓ
ȟȜȜȏȧȓțȖȓȝȜȟȓȐțȓȝȞȜȖȕȐȜȒȖȠȖȝȞȜȒȜșȔȎȓȠȞȎȏȜȠȡȐȟȜ
ȜȠȐȓȠȟȠȐȖȖȟȜȟȠȎșȪțȜȗȥȎȟȠȪȬȝȞȜȑȞȎȚȚȩǵȎȐȓȞȦȓțȖȓ
ȝȞȜȑȞȎȚȚȩȐȫȠȜȚȟșȡȥȎȓțȓȠȞȓȏȡȓȠȟȭȝȜȠȜȚȡȥȠȜȥȓȞȓ
ȝȎȦȘȎȝȜșȡȥȖȠȟȓȚȓțȎȟȜȏȞȎȐȕȞȓșȡȬȝȦȓțȖȤȡǻȜȓȟșȖ
ȐȟȠȞȜȘȓȢȡțȘȤȖȭselectItem()ȐȜȕȐȞȎȧȎȓȠȕțȎȥȓțȖȓ
trueȟȓȚȓțȎȏȡȒȡȠȐȕȭȠȩȖȕȖțȐȓțȠȎȞȭȥȓȞȓȝȎȦȘȖ
ǯșȜȘȘȜȒȎȘȜȠȜȞȩȗȟșȓȒȡȓȠȕȎȖțȟȠȞȡȘȤȖȓȗelseȐȟȠȞȜ
ȘȓȕȎȟȓȐȎȓȠȟȓȚȓțȎȖȜȠȜȏȞȎȔȎȓȠȖȑȞȜȘȡȟȜȜȏȧȓțȖȓȜȏ
ȫȠȜȚ
farmwheat
54.
else
55.
turtle.placeDown() -- ɩɨɫɟɜ ɫɟɦɹɧ
56.
print('Planted seed.')
57.
end
58. end
ǰȟȠȞȜȘȓȢȡțȘȤȖȭturtle.placeDown()ȕȎȟȓȐȎȓȠȟȓ
ȚȓțȎȓȟșȖȜțȖȜȏțȎȞȡȔȓțȩȐȠȓȘȡȧȓȗȭȥȓȗȘȓȖțȐȓțȠȎȞȭ
ȎȝȜȒȥȓȞȓȝȎȦȘȜȗțȎȣȜȒȖȠȟȭȝȎȦțȭǵȎȠȓȚȘȜȒȐȟȠȞȜȘȓ
ȐȩȐȜȒȖȠȟȜȜȏȧȓțȖȓȜȠȜȚȥȠȜȟȓȚȓțȎȝȜȟȎȔȓțȩȎȘȜȒȐ
ȟȠȞȜȘȓȕȎȐȓȞȦȎȓȠȏșȜȘȘȜȒȎȢȡțȘȤȖȖplantWheatSeed().
ġĜČęđęĔđěĤđęĔĢħ
ǽȜȟșȓȠȜȑȜȘȎȘȥȓȞȓȝȎȦȘȎȜȏȞȎȏȜȠȎȓȠȐȟȓȝȜșȓȓȗțȡȔțȜ
ȝȜȚȓȟȠȖȠȪȟȜȏȞȎțțȡȬȝȦȓțȖȤȡȐȟȡțȒȡȘDzșȭȫȠȜȑȜȝȞȜ
ȑȞȎȚȚȎȐȩȕȩȐȎȓȠȢȡțȘȤȖȬstoreWheat()ȋȠȎȢȡțȘȤȖȭ
ȖțȟȠȞȡȘȠȖȞȡȓȠȥȓȞȓȝȎȦȘȡțȎȗȠȖȟȡțȒȡȘȖȝȜȐȓȞțȡȠȪȟȭȘ
țȓȚȡșȖȤȓȐȜȗȟȠȜȞȜțȜȗ
farmwheat
61. -- storeWheat() ɩɨɦɟɳɟɧɢɟɭɪɨɠɚɹ
62. -- ɜɫɭɧɞɭɤ
63. function storeWheat()
64.
-- ɩɨɜɨɪɨɬ ɤ ɫɭɧɞɭɤɭ
LIQRWKDUH¿QG%ORFN PLQHFUDIWFKHVW
HUURU &RXOGQRW¿QGFKHVW
67.
end
WKHQ
ǽǾǼDZǾǮǺǺǶǾǼǰǮǻǶdzȅdzǾdzǽǮȆǸǶȂdzǾǺdzǾǮ
271
ǸȜȒȐȟȠȞȜȘȓȐȩȕȩȐȎȓȠȢȡțȘȤȖȬhare.¿QG%ORFN()
ȖȝȓȞȓȒȎȓȠȓȗȕțȎȥȓțȖȓ'minecraft:chest'ȖȕȕȎȥȓȑȜȥȓ
ȞȓȝȎȦȘȎțȎȥȖțȎȓȠȐȞȎȧȓțȖȓȐȜȘȞȡȑȟȐȜȓȗȜȟȖȖȜȟȠȎțȎȐ
șȖȐȎȓȠȟȭȘȜȑȒȎȜȏțȎȞȡȔȖȐȎȓȠȟȡțȒȡȘdzȟșȖȥȓȞȓȝȎȦȘȎ
țȓȚȜȔȓȠțȎȗȠȖȟȡțȒȡȘȐȩȕȜȐȢȡțȘȤȖȖhare.¿QG%ORFN()
ȐȜȕȐȞȎȧȎȓȠȕțȎȥȓțȖȓfalseȎȘȜȒȐȟȠȞȜȘȓȕȎȐȓȞȦȎȓȠ
ȝȞȜȑȞȎȚȚȡȟȟȜȜȏȧȓțȖȓȚȜȏȜȦȖȏȘȓ
dzȟșȖȟȡțȒȡȘȜȏțȎȞȡȔȓțȐȩȝȜșțȓțȖȓȝȞȜȑȞȎȚȚȩȝȞȜ
ȒȜșȔȎȓȠȟȭǽȞȖȫȠȜȚȥȓȞȓȝȎȦȘȎȜȘȎȕȩȐȎȓȠȟȭȜȏȞȎȧȓțțȜȗ
ȘȟȡțȒȡȘȡDzȎșȓȓȜțȎȐȩȏȖȞȎȓȠȭȥȓȗȘȡȖțȐȓțȠȎȞȭȟȜȒȓȞ
ȔȎȧȡȬȝȦȓțȖȤȡȖȝȓȞȓȚȓȧȎȓȠȓȓȟȜȒȓȞȔȖȚȜȓȐȟȡțȒȡȘ
ȐȩȕȩȐȎȭȢȡțȘȤȖȬturtle.drop().
farmwheat
69.
-- ɩɨɦɟɳɟɧɢɟɩɲɟɧɢɰɵɜɫɭɧɞɭɤ
70.
while hare.selectItem('minecraft:wheat') do
71.
print('Dropping off ' .. turtle.getItemCount() ..
' wheat...')
72.
if not turtle.drop() then
73.
error('Wheat chest is full!')
74.
end
75.
end
ǰȟȠȞȜȘȓțȎȥȖțȎȓȠȟȭȤȖȘșwhileȡȟșȜȐȖȓȘȜȠȜȞȜ
ȑȜȝȞȜȐȓȞȭȓȠȕțȎȥȓțȖȓȐȜȕȐȞȎȧȎȓȚȜȓȐȩȕȜȐȜȚȢȡțȘȤȖȖ
hare.selectItem('minecraft:wheat')ǽȜȘȎȝȦȓțȖȤȎțȎ
ȣȜȒȖȠȟȭȐȖțȐȓțȠȎȞȓȥȓȞȓȝȎȦȘȖȫȠȎȢȡțȘȤȖȖȐȜȕȐȞȎȧȎȓȠ
ȕțȎȥȓțȖȓtrueȖȤȖȘșwhileȐȩȝȜșțȭȓȠȟȭǸȜȒȐȟȠȞȜȘȓ
ȐțȡȠȞȖȫȠȜȑȜȤȖȘșȎȟȜȜȏȧȎȓȠȖȑȞȜȘȡȘȜșȖȥȓȟȠȐȜȝȦȓțȖȤȩ
ȐȠȓȘȡȧȓȗȭȥȓȗȘȓȎȘȜȒȐȟȠȞȜȘȓȝȩȠȎȓȠȟȭȝȜȚȓȟȠȖȠȪȫȠȡ
ȝȦȓțȖȤȡȐȟȡțȒȡȘȝȓȞȓȒȥȓȞȓȝȎȦȘȜȗ
dzȟșȖȟȡțȒȡȘȡȔȓȕȎȝȜșțȓțȐȩȕȜȐȢȡțȘȤȖȖturtle.
drop()ȐȟȠȞȜȘȓȐȜȕȐȞȎȧȎȓȠȕțȎȥȓțȖȓfalseǰȫȠȜȚȟșȡ
ȥȎȓȘȜȒȐȟȠȞȜȘȓȕȎȐȓȞȦȎȓȠȝȞȜȑȞȎȚȚȡȟȟȜȜȏȧȓțȖȓȚȜȏ
ȜȦȖȏȘȓǰȝȞȜȠȖȐțȜȚȟșȡȥȎȓȤȖȘșȐȩȝȜșțȭȓȠȟȭȝȜȘȎȝȦȓ
țȖȤȎȓȧȓȓȟȠȪȎȕȎȠȓȚȖȟȝȜșțȓțȖȓȝȓȞȓȣȜȒȖȠȘȟȠȞȜȘȓ
ǸȜȑȒȎȥȓȞȓȝȎȦȘȎȐȕȎȖȚȜȒȓȗȟȠȐȡȓȠȟȟȡțȒȡȘȜȚȜțȎȝȜ
ȐȓȞțȡȠȎȟȝȖțȜȗȘȝȜșȬȅȠȜȏȩȟțȜȐȎȜȘȎȕȎȠȪȟȭȐȝȜșȓȓȗ
țȡȔțȜȞȎȕȐȓȞțȡȠȪȟȭ
272
DZǹǮǰǮ
farmwheat
77.
-- ɩɨɜɨɪɨɬɤɩɨɥɸɫɧɨɜɚ
78.
turtle.turnLeft()
79.
turtle.turnLeft()
80. end
ǸȜȒȐȟȠȞȜȘȎȣȖȒȐȎȔȒȩȝȜȐȜȞȎȥȖȐȎȓȠȥȓȞȓȝȎȦȘȡ
țȎșȓȐȜȥȠȜȏȩȜțȎȟțȜȐȎ©ȟȚȜȠȞȓșȎªțȎȝȜșȓǸȜȒȐȟȠȞȜȘȓ
ȕȎȐȓȞȦȎȓȠȢȡțȘȤȖȬstoreWheat().
ȀȓȝȓȞȪȡțȎȟȓȟȠȪȐȟȓȠȞȖȢȡțȘȤȖȖȘȜȠȜȞȩȓȏȡȒȡȠȐȩȕȩ
ȐȎȠȪȟȭȖȕȜȟțȜȐțȜȗȝȞȜȑȞȎȚȚȩcheckWheatCrop()plantWheatSeed()ȖstoreWheat()DzȎȐȎȗȕȎȗȚȓȚȟȭȟȓșȪȟȘȖȚ
ȣȜȕȭȗȟȠȐȜȚ
ĜČčĚĞČĎĢĔĖėđ
ǾȎȟȟȚȜȠȞȖȚȜȟțȜȐțȜȗȤȖȘșȝȞȜȑȞȎȚȚȩ ȐȟȠȞȜȘȎȣ²
ȘȜȠȜȞȩȗȏȡȒȓȠȐȩȕȩȐȎȠȪȐȟȓțȓȜȏȣȜȒȖȚȩȓȢȡțȘȤȖȖǰȫȠȜȚ
ȤȖȘșȓȥȓȞȓȝȎȦȘȎȟțȎȥȎșȎȝȞȜȐȓȞȭȓȠȥȠȜȡțȓȓȒȜȟȠȎȠȜȥ
țȜȠȜȝșȖȐȎdzȟșȖȒșȭȜȏȞȎȏȜȠȘȖȝȜșȭȠȜȝșȖȐȎȒȜȟȠȎȠȜȥțȜ
țȎȦȞȜȏȜȠțȎȥȖțȎȓȠȐȩȞȎȧȖȐȎȠȪȖȟȜȏȖȞȎȠȪȡȞȜȔȎȗȟȜ
ȣȞȎțȭȠȪȟȜȏȞȎțțȡȬȝȦȓțȖȤȡȐȟȡțȒȡȘȓȝȜȠȜȚȜȠȒȩȣȎȠȪ
ȚȖțȡȠȥȠȜȏȩȝȦȓțȖȤȎȡȟȝȓșȎȟȜȕȞȓȠȪȖȝȜȐȠȜȞȭȠȪȐȓȟȪ
ȝȞȜȤȓȟȟȟțȎȥȎșȎ
ǻȎȝȓȞȐȜȚȦȎȑȓȤȖȘșȎȥȓȞȓȝȎȦȘȎȝȞȜȐȓȞȭȓȠȥȠȜȡțȓȓ
ȒȜȟȠȎȠȜȥțȜȠȜȝșȖȐȎȒșȭȝȓȞȓȚȓȧȓțȖȭȝȜȐȟȓȚȡȝȜșȬȖȐȜȕ
ȐȞȎȧȓțȖȭȐȖȟȣȜȒțȜȓȝȜșȜȔȓțȖȓ
farmwheat
83. -- ɧɚɱɚɥɨɪɚɛɨɬɵɧɚɮɟɪɦɟ
84. while true do
85.
-- ɩɪɨɜɟɪɤɚ ɭɪɨɜɧɹ ɬɨɩɥɢɜɚ
86.
if turtle.getFuelLevel() < (length * width +
length + width) then
87.
error('Turtle needs more fuel!')
88.
end
ȁȟșȜȐȖȓȤȖȘșȎwhileȐȟȠȞȜȘȓȐȟȓȑȒȎȖȟȠȖțțȜȀȜ
ȓȟȠȪȫȠȜȏȓȟȘȜțȓȥțȩȗȤȖȘșȝȜȫȠȜȚȡȝȞȜȑȞȎȚȚȎȕȎȐȓȞȦȎ
ȓȠȟȭȠȜșȪȘȜȓȟșȖȐȩȕȩȐȎȓȠȟȭȢȡțȘȤȖȭerror()ȖșȖȖȑȞȜȘ
ȡȒȓȞȔȖȐȎȓȠȟȜȥȓȠȎțȖȓȘșȎȐȖȦCtrl+T.
ǽǾǼDZǾǮǺǺǶǾǼǰǮǻǶdzȅdzǾdzǽǮȆǸǶȂdzǾǺdzǾǮ
273
ȅȠȜȏȩȐȩȝȜșțȖȠȪȝȓȞȐȩȗȦȎȑțȎȚțȡȔțȜȟȜȟȠȎȐȖȠȪ
ȡȞȎȐțȓțȖȓȒșȭȞȎȟȥȓȠȎȘȜșȖȥȓȟȠȐȎȠȜȝșȖȐȎȘȜȠȜȞȜȓȝȜȠȞȓ
ȏȡȓȠȟȭȥȓȞȓȝȎȦȘȓȥȠȜȏȩȜȏȞȎȏȜȠȎȠȪȐȟȓȝȜșȓDzșȭȡȝȞȜȧȓ
țȖȭȞȎȟȥȓȠȎȚȩțȓȟȘȜșȪȘȜȝȓȞȓȜȤȓțȖȚȝȜȠȞȓȏțȜȟȠȖȥȓȞȓ
ȝȎȦȘȖȐȠȜȝșȖȐȓ
ǰȜȝȓȞȐȩȣȜȝȞȓȒȓșȖȚȟȘȜșȪȘȜȠȜȝșȖȐȎȠȞȓȏȡȓȠȟȭȥȓȞȓ
ȝȎȦȘȓȒșȭȝȓȞȓȚȓȧȓțȖȭȝȜȘȎȔȒȜȚȡȟȠȜșȏȤȡȝȜșȭǼțȎȖȟ
ȝȜșȪȕȡȓȠȜȒțȡȓȒȖțȖȤȡȠȜȝșȖȐȎȝȞȖȘȎȔȒȜȚȝȓȞȓȚȓȧȓțȖȖ
țȎȜȒȖțȏșȜȘȠȎȘȖȚȜȏȞȎȕȜȚȒșȭȝȓȞȓȚȓȧȓțȖȭȝȜȟȠȜșȏȤȡ
ȒșȖțȎȘȜȠȜȞȜȑȜȟȜȟȠȎȐșȭȓȠlengthȏșȜȘȜȐȝȜȠȞȓȏȡȓȠȟȭȟȜ
ȐȓȞȦȖȠȪlength - 1ȦȎȑȜȐȖȟȜȜȠȐȓȠȟȠȐȓțțȜȝȜȠȞȎȠȖȠȪ
length - 1ȓȒȖțȖȤȠȜȝșȖȐȎǻȜȥȓȞȓȝȎȦȘȎȖȟȝȜșȪȕȡȓȠ
ȠȜȝșȖȐȜȖȝȞȖȝȓȞȓȚȓȧȓțȖȖȖȕȜȒțȜȑȜȟȠȜșȏȤȎȐȒȞȡȑȜȗ
ȠȜȑȒȎȜȏȧȓȓȘȜșȖȥȓȟȠȐȜțȓȜȏȣȜȒȖȚȜȓȒșȭȝȓȞȓȒȐȖȔȓțȖȭ
ȝȜȐȟȓȚȡȟȠȜșȏȤȡȟȜȟȠȎȐȖȠlength - 1 + 1ȓȒȖțȖȤ
ǵȎȠȓȚȝȜșȡȥȓțțȜȓȥȖȟșȜȡȚțȜȔȎȓȚțȎȘȜșȖȥȓȟȠȐȜȟȠȞȜȘ
ȐȝȜșȓȀȎȘȖȚȜȏȞȎȕȜȚȜȏȧȓȓȘȜșȖȥȓȟȠȐȜȝȓȞȓȚȓȧȓțȖȗȖ
ȟȜȜȠȐȓȠȟȠȐȓțțȜȓȒȖțȖȤȠȜȝșȖȐȎțȓȜȏȣȜȒȖȚȩȣȒșȭȜȏȞȎ
ȏȜȠȘȖȝȜșȭȟȜȟȠȎȐȖȠlength * width.
ǸȞȜȚȓȠȜȑȜȥȓȞȓȝȎȦȘȓțȓȜȏȣȜȒȖȚȜȠȜȝșȖȐȜȥȠȜȏȩȐȓȞ
țȡȠȪȟȭȐȖȟȣȜȒțȜȓȝȜșȜȔȓțȖȓdzȟșȖȥȓȞȓȝȎȦȘȎȕȎȐȓȞȦȎȓȠ
ȞȎȏȜȠȡȐȒȎșȪțȓȚȜȠȖȟȣȜȒțȜȑȜȝȜșȜȔȓțȖȭȘȜțȤȓȝȜșȭȓȗ
țȡȔțȜȝȓȞȓȚȓȟȠȖȠȪȟȭȐțȖȕȐȒȜșȪȜȒțȜȑȜȟȠȜșȏȤȎ ȘȜșȖȥȓ
ȟȠȐȜȦȎȑȜȐȐȒșȖțȡ ȖțȎȕȎȒȐȒȜșȪȜȒțȜȗȟȠȞȜȘȖ ȘȜșȖȥȓ
ȟȠȐȜȦȎȑȜȐȐȦȖȞȖțȡ ȀȜȑȒȎȢȜȞȚȡșȎȒșȭȞȎȟȥȓȠȎțȓȜȏ
ȣȜȒȖȚȜȑȜȘȜșȖȥȓȟȠȐȎȠȜȝșȖȐȎȝȞȖȜȏȞȓȠȎȓȠȐȖȒlength *
width + length + widthǻȎȞȖȟȝȜȘȎȕȎțȎȒȖȎȑȞȎȚ
ȚȎȫȠȜȗȢȜȞȚȡșȩ
ȋȠȎȢȜȞȚȡșȎȞȎȟȟȥȖȠȎțȎțȎȘȞȎȗțȖȗȟșȡȥȎȗȝȜȠȜȚȡ
ȥȠȜȥȓȞȓȝȎȦȘȎȚȜȔȓȠȕȎȘȜțȥȖȠȪȞȎȏȜȠȡțȓȐȟȎȚȜȗȜȠȒȎ
șȓțțȜȗȠȜȥȘȓȝȜșȭȖȠȜȑȒȎȥȠȜȏȩȐȓȞțȡȠȪȟȭȐȖȟȣȜȒțȜȓ
ȝȜșȜȔȓțȖȓȓȗȏȡȒȓȠȒȜȟȠȎȠȜȥțȜȝȞȜȗȠȖțȎȕȎȒȐȒȜșȪȜȒțȜȗ
ȟȠȞȜȘȖǸȞȜȚȓȠȜȑȜȝȡȠȪȝȜȘȞȎȟțȜȗȟȠȞȓșȘȓȐȒȜșȪȘȞȎȗțȓ
ȑȜșȓȐȜȑȜȟȠȜșȏȤȎȟȜȟȠȎȐȖȠlength - 1ȏșȜȘȜȐȟȡȥȓȠȜȚțȎ
ȥȎșȪțȜȗȝȜȕȖȤȖȖȒȎȖȟȖțȭȭȟȠȞȓșȘȎȒȜșȔțȎȏȩȠȪȒșȖțȜȗ
length - 1ȏșȜȘȜȐȒșȭȡȥȓȠȎȡȑșȜȐȜȑȜȏșȜȘȎǻȜȫȠȎȢȜȞȚȡ
șȎȐȝȜșțȓȝȞȖȓȚșȓȚȎȝȜȠȜȚȡȥȠȜșȡȥȦȓȝȓȞȓȜȤȓțȖȠȪȥȓȚ
țȓȒȜȜȤȓțȖȠȪȘȜșȖȥȓȟȠȐȜțȓȜȏȣȜȒȖȚȜȑȜȠȜȝșȖȐȎ
274
DZǹǮǰǮ
Начало
length * width + length + width
ˀ̛̭͘ϭϰ͘ϰ͘ʪ̸̶̨̡̡̨̛̛̛̬̥̥͕̪̼̺̙̱̭̯̪̖̬̌̐̌̌̌̏̌̀̌́̌̔̀̌̽̌̚length *
width + length + width
dzȟșȖȡȥȓȞȓȝȎȦȘȖțȓȒȜȟȠȎȠȜȥțȜȠȜȝșȖȐȎȡȟșȜȐȖȓȐ
ȟȠȞȜȘȓȐȜȕȐȞȎȧȎȓȠȕțȎȥȓțȖȓfalseȎȘȜȒȐȟȠȞȜȘȓȕȎ
ȐȓȞȦȎȓȠȝȞȜȑȞȎȚȚȡȐȩȕȩȐȎȭȢȡțȘȤȖȬerror()ȖȐȩȐȜȒȖȠ
ȟȜȜȏȧȓțȖȓȜȝȜȐȓȧȎȬȧȓȓȖȑȞȜȘȎȥȠȜȥȓȞȓȝȎȦȘȓȠȞȓȏȡȓȠȟȭ
ȏȜșȪȦȓȠȜȝșȖȐȎdzȟșȖȔȓȡȟșȜȐȖȓȐȟȠȞȜȘȓȐȜȕȐȞȎȧȎȓȠ
ȕțȎȥȓțȖȓtrueȥȓȞȓȝȎȦȘȎȚȜȔȓȠțȎȥȎȠȪȞȎȏȜȠȡȐȩȕȐȎȐ
ȢȡțȘȤȖȬhare.sweepField()ȐȟȠȞȜȘȓ
farmwheat
ɩɨɫɟɜɩɲɟɧɢɰɵ
SULQW 6ZHHSLQJ¿HOG
92.
hare.sweepField(length, width, checkWheatCrop)
93.
storeWheat()
ǸȎȘȖȢȡțȘȤȖȖȖȕȝȞȓȒȩȒȡȧȖȣȑșȎȐȢȡțȘȤȖȭhare.
sweepField()ȝȞȖțȖȚȎȓȠȕțȎȥȓțȖȭȒșȖțȩȖȦȖȞȖțȩȝȜ
șȭȐȐȜȒȖȚȩȓȝȜșȪȕȜȐȎȠȓșȓȚȖȡȝȞȎȐșȭȓȠȝȓȞȓȚȓȧȓțȖȓȚ
ȥȓȞȓȝȎȦȘȖȝȜȐȟȓȚȡȝȞȜȟȠȞȎțȟȠȐȡȝȜșȭǸȜȒȐȟȠȞȜȘȓ
ȝȓȞȓȒȎȓȠȢȡțȘȤȖȬcheckWheatCrop()ȢȡțȘȤȖȖsweepField().
ǻȓȕȎȏȩȐȎȗȥȠȜȝȞȖȡȘȎȕȎțȖȖȖȚȓțȖȢȡțȘȤȖȖcheckWheatCrop()ȐȘȎȥȓȟȠȐȓȝȎȞȎȚȓȠȞȎțȓțȎȒȜȡȘȎȕȩȐȎȠȪ
ȘȞȡȑșȩȓȟȘȜȏȘȖȖțȎȥȓȖțȠȓȞȝȞȓȠȎȠȜȞ/XDȝȞȜȟȠȜȐȩȕȜ
ȐȓȠȫȠȡȢȡțȘȤȖȬȖȝȓȞȓȒȎȟȠȢȡțȘȤȖȖhare.sweepField()
ȕțȎȥȓțȖȓȐȜȕȐȞȎȧȎȓȚȜȓcheckWheatCrop()ȎțȓȟȎȚȡ
ȢȡțȘȤȖȬ
ǽǾǼDZǾǮǺǺǶǾǼǰǮǻǶdzȅdzǾdzǽǮȆǸǶȂdzǾǺdzǾǮ
275
ȂȡțȘȤȖȭhare.sweepField()ȐȜȕȐȞȎȧȎȓȠȥȓȞȓȝȎȦȘȡȐ
ȖȟȣȜȒțȡȬȝȜȕȖȤȖȬȝȜȟșȓȟȏȜȞȎȡȞȜȔȎȭȟȜȐȟȓȑȜȝȜșȭǽȜ
ȟșȓȠȜȑȜȘȎȘȥȓȞȓȝȎȦȘȎȕȎȘȜțȥȖȠȜȏȞȎȏȎȠȩȐȎȠȪȝȜșȓȓȗ
țȓȜȏȣȜȒȖȚȜȝȓȞȓȚȓȟȠȖȠȪȟȜȏȞȎțțȡȬȝȦȓțȖȤȡȖȕȟȐȜȓȑȜȖț
ȐȓțȠȎȞȭȐȟȡțȒȡȘȘȜȠȜȞȩȗțȎȣȜȒȖȠȟȭȞȭȒȜȚȟȖȟȣȜȒțȜȗȝȜ
ȕȖȤȖȓȗDzșȭȫȠȜȑȜȚȩȖțȎȝȖȟȎșȖȢȡțȘȤȖȬstoreWheat()
ȘȜȠȜȞȡȬȐȩȕȩȐȎȓȚȐȟȠȞȜȘȓ
ǺȩȣȜȠȖȚȥȠȜȏȩȥȓȞȓȝȎȦȘȎȟȎȔȎșȎȖȟȜȏȖȞȎșȎȡȞȜȔȎȗ
țȓȝȞȓȞȩȐțȜțȜȝȜȟȓȭțțȜȗȝȦȓțȖȤȓȠȞȓȏȡȓȠȟȭȐȞȓȚȭȒșȭ
ȟȜȕȞȓȐȎțȖȭǽȜȫȠȜȚȡȓȟșȖȥȓȞȓȝȎȦȘȎțȓȚȓȒșȓțțȜțȎȥțȓȠ
ȜȏȞȎȏȎȠȩȐȎȠȪȝȜșȓȟțȜȐȎȝȦȓțȖȤȎțȓȡȟȝȓȓȠȐȩȞȎȟȠȖȖ
ȥȓȞȓȝȎȦȘȎșȖȦȪțȎȝȞȎȟțȜȝȜȠȞȎȠȖȠȠȜȝșȖȐȜȅȠȜȏȩȫȠȜȑȜ
ȖȕȏȓȔȎȠȪȐȟȠȞȜȘȓȚȩȒȓșȎȓȚȚȖțȡȠțȡȬȝȎȡȕȡȖȟȜ
ȜȏȧȎȓȚȜȏȫȠȜȚȖȑȞȜȘȡȐȩȐȜȒȭȟȜȜȏȧȓțȖȓ
farmwheat
95.
print('Sleeping for 10 minutes...')
96.
os.sleep(600)
97. end
ǸȜȒȐȟȠȞȜȘȓȐȩȕȩȐȎȓȠȢȡțȘȤȖȬRVVOHHS ȝȓȞȓȒȎ
ȐȎȭȐȘȎȥȓȟȠȐȓȝȎȞȎȚȓȠȞȎȥȖȟșȓțțȜȓȕțȎȥȓțȖȓȥȠȜ
ȏȩȥȓȞȓȝȎȦȘȎȜȟȠȎțȜȐȖșȎȟȪțȎȟȓȘȡțȒ ȠȓȚȖțȡȠ
ǰȟȠȞȜȘȓȖțȟȠȞȡȘȤȖȭHQGȕȎȐȓȞȦȎȓȠȤȖȘșZKLOHȘȜȠȜȞȩȗ
țȎȥȎșȟȭȐȟȠȞȜȘȓ
ĐĚěĚėęĔĞđėĨęĚđēČĐČęĔđ"
ďĔďČęĞĝĖĔđěĤđęĔģęħđěĚėī
В этой главе мы создали ферму размером 9×9 блоков, но программа farmwheat позволяет обрабатывать пространства
любого размера. Создай гигантское пшеничное поле, как показано на рис. 14.1. Затем запусти программу с аргументами
командной строки, соответствующими размеру поля, чтобы
черепашка обработала его!
276
DZǹǮǰǮ
ĝĚĎđĞħěĚČĎĞĚĘČĞĔēČĢĔĔĐĜğďĔġ
ĎĔĐĚĎēđĘėđĐđėĔī
ǵțȎȥȖȠȓșȪțȎȭȥȎȟȠȪȘȜȒȎȝȞȜȑȞȎȚȚȩfa r m wheat țȎ
ȣȜȒȖȠȟȭȐȢȡțȘȤȖȖhare.sweepField()ǻȜȝȜȟȘȜșȪȘȡ
ȠȩȚȜȔȓȦȪșȬȏȡȬȢȡțȘȤȖȬȝȓȞȓȒȎȠȪȢȡțȘȤȖȖhare.
sweepField()ȜțȎȚȜȔȓȠȐȩȝȜșțȭȠȪȚțȜȔȓȟȠȐȜȒȞȡȑȖȣ
ȕȎȒȎȥ
dzȟșȖȠȩȕȎȣȜȥȓȦȪȟȜȕȒȎȠȪȒȞȡȑȖȓȠȖȝȩȢȓȞȚȟȝȜȚȜȧȪȬ
ȚȜȒȎ&RPSXWHU&UDIWȠȩȚȜȔȓȦȪȝȖȟȎȠȪȖȝȓȞȓȒȎȐȎȠȪȢȡțȘ
ȤȖȖȘȜȠȜȞȩȓȏȡȒȡȠȖȟȝȜșȪȕȜȐȎȠȪȘȜȒhare.sweepField()
țȎȢȓȞȚȎȣȟȒȞȡȑȖȚȖȞȎȟȠȓțȖȭȚȖȖȒȎȔȓȔȖȐȜȠțȩȚȖ
ǰȟșȓȒȡȬȧȖȣȝȜȒȞȎȕȒȓșȎȣȭȒȎȚțȓȟȘȜșȪȘȜȟȜȐȓȠȜȐȝȜȞȎȕ
ȞȎȏȜȠȘȓȝȞȜȑȞȎȚȚȒșȭȢȓȞȚȞȎȕșȖȥțȜȑȜȠȖȝȎ
ĚĎĚĥęħđěėČęĞČĢĔĔ
ǽȦȓțȖȤȡȚȜȔțȜșȓȑȘȜȕȎȚȓțȖȠȪȜȐȜȧȎȚȖȝȞȜȟȠȜȖȕȚȓțȖȐ
țȓȟȘȜșȪȘȜȕțȎȥȓțȖȗȖȖȚȓțȐȖȚȓȬȧȓȚȟȭȘȜȒȓǻȎȝȞȖȚȓȞ
ȢȡțȘȤȖȖcheckWheatCrop()ȖplantWheatSeed()ȚȜȔțȜ
ȝȓȞȓȖȚȓțȜȐȎȠȪȐcheckVegCrop()ȖplantVeg()DzșȭȘȎȞ
ȠȜȢȓșȭȖȚȜȞȘȜȐȖȐȖȑȞȓ0LQHFUDIWțȓȖȟȝȜșȪȕȡȬȠȟȭȟȓȚȓ
țȎǸȎȞȠȜȢȓșȪȖȚȜȞȘȜȐȪȚȜȔțȜȟȎȔȎȠȪțȓȝȜȟȞȓȒȟȠȐȓțțȜ
ȐȝȎȦțȬȖȟȝȜșȪȕȡȭȢȡțȘȤȖȬturtle.placeDown()ȝȞȖ
ȡȏȜȞȘȓȟȜȕȞȓȐȦȓȑȜȡȞȜȔȎȭǻȎȞȖȟȝȜȘȎȕȎțȎȥȓȞȓȝȎȦ
ȘȎȐȩȞȎȧȖȐȎȬȧȎȭȚȜȞȘȜȐȪ
ȀȓȏȓȠȎȘȔȓȝȜȠȞȓȏȡȓȠȟȭȕȎȚȓțȖȠȪȖȒȓțȠȖȢȖȘȎȠȜȞȩȏșȜ
ȘȜȐ0LQHFUDIWȖȟȝȜșȪȕȡȓȚȩȓȝȞȜȑȞȎȚȚȜȗǻȎȝȞȖȚȓȞȐȚȓ
ȟȠȜȐȩȕȜȐȎhare.selectItem('minecraft:wheat _ seeds')
ȝȞȜȑȞȎȚȚȎȜȐȜȧȓȐȜȒȟȠȐȎȒȜșȔțȎȖȟȝȜșȪȕȜȐȎȠȪȘȜȒhare.
selectItem('minecraft:potato')ȒșȭȐȩȞȎȧȖȐȎțȖȭȘȎȞ
ȠȜȢȓșȭȖhare.selectItem('minecraft:carrot')ȒșȭȐȩ
ȞȎȧȖȐȎțȖȭȚȜȞȘȜȐȖ
ȅȓȞȓȝȎȦȘȎțȓȒȜșȔțȎȝȓȞȓȘșȎȒȩȐȎȠȪȐȓȟȪȡȞȜȔȎȗȜȐȜ
ȧȓȗȐȟȡțȒȡȘȝȜȠȜȚȡȥȠȜȓȗȝȜțȎȒȜȏȖȠȟȭȝȜȟȎȒȜȥțȩȗȚȎ
ȠȓȞȖȎșȘȜȑȒȎȜțȎȐțȜȐȪțȎȥțȓȠȜȏȞȎȏȎȠȩȐȎȠȪȝȜșȓ
ǽǾǼDZǾǮǺǺǶǾǼǰǮǻǶdzȅdzǾdzǽǮȆǸǶȂdzǾǺdzǾǮ
277
ˀ̛̭͘ϭϰ͘ϱ͘ˋ̡̨̨̨̡̨̛̛̛̛̖̬̖̪̹͕̪̬̬̥̥̬̦̦̦̼̬̺̦̖̥̬̌̌̌̐̌̏̌̌́̌̏̌̏̌̏̚
ĐĚĕĖČĖĚĜĚĎĔĝĞĜĔĒĖČĚĎđĢ
ǿȝȡȟȠȩȚȐȓȒȞȜȚȥȓȞȓȝȎȦȘȎȚȜȔȓȠȒȜȖȠȪȘȜȞȜȐȀȎȘȔȓ
țȎȦȞȜȏȜȠȚȜȔȓȠȟȠȞȖȥȪȦȓȞȟȠȪȟȜȐȓȤȓȟșȖȐȓȑȜȖțȐȓț
ȠȎȞȓȓȟȠȪțȜȔțȖȤȩǼȟțȎȧȎȠȪȥȓȞȓȝȎȦȘȡțȜȔțȖȤȎȚȖȖșȖ
ȐȓȒȞȜȚȘȎȘȖțȟȠȞȡȚȓțȠȎȚȖțȓțȡȔțȜȒȜȟȠȎȠȜȥțȜȝȞȜȟȠȜ
ȝȜȚȓȟȠȖȠȪȖȣȐȠȓȘȡȧȡȬȭȥȓȗȘȡȖțȐȓțȠȎȞȭȥȓȞȓȝȎȦȘȖ
ȅȠȜȏȩȥȓȞȓȝȎȦȘȎȚȜȑșȎȞȎȏȜȠȎȠȪȓȓțȎȒȜȝȞȖȝȜȒțȭȠȪțȎȒ
ȘȜȞȜȐȎȚȖȖȜȐȤȎȚȖțȎȐȩȟȜȠȡȒȐȡȣȏșȜȘȜȐțȎȒȡȞȜȐțȓȚ
ȕȓȚșȖ ȐȜȠșȖȥȖȓȜȠȒȞȡȑȖȣȢȓȞȚȑȒȓȥȓȞȓȝȎȦȘȎȝȜȒțȖȚȎ
ȓȠȟȭțȎȜȒȖțȏșȜȘ ǻȎȞȖȟȝȜȘȎȕȎțȎȥȓȞȓȝȎȦȘȎȝȜȒ
țȭȠȎȭțȎȒȕȓȚșȓȗțȎȐȩȟȜȠȡȒȐȡȣȏșȜȘȜȐȥȠȜȏȩȜțȎȚȜȑșȎ
ȐȕȎȖȚȜȒȓȗȟȠȐȜȐȎȠȪȟȘȜȞȜȐȎȚȖȖȜȐȤȎȚȖ
ˀ̛̭͘ϭϰ͘ϲ͘ˋ̸̶̸̨̨̡̨̨̨̡̨̛̛̛̛̯̼̯̬̣̭̯̬̖͕̖̬̖̪̹̣̙̦̍̔̽̏̽̏̌̌̔̌
̵̵̨̨̨̡̨̨̛̛̦̯̭̦̼̭̯̖̱̣̦̱̬̦̖̥̖̥̣̌̔̽́̌̏̔̏̍̏̌̔̏̚
278
DZǹǮǰǮ
ȅȠȜȏȩȝȜȒȜȖȠȪȘȜȞȜȐȡȐȠȓȘȡȧȓȗȭȥȓȗȘȓȖțȐȓțȠȎȞȭȥȓȞȓ
ȝȎȦȘȖȒȜșȔțȜțȎȣȜȒȖȠȪȟȭȝȡȟȠȜȓȐȓȒȞȜǸȜȑȒȎȥȓȞȓȝȎȦȘȎ
țȎȣȜȒȖȠȟȭțȎȒȘȜȞȜȐȜȗȐȩȕȜȐȖȢȡțȘȤȖȬturtle.placeDown()ȖȜțȎȕȎȝȜșțȖȠȐȓȒȞȜȚȜșȜȘȜȚDzșȭȟȠȞȖȔȘȖȜȐȓȤȐ
ȠȓȘȡȧȓȗ ȭȥȓȗȘȓȒȜșȔțȩȏȩȠȪțȜȔțȖȤȩǸȜȑȒȎȥȓȞȓȝȎȦȘȎ
ȏȡȒȓȠțȎȣȜȒȖȠȪȟȭțȎȒȜȐȤȜȗȐȩȕȜȐȖȢȡțȘȤȖȬturtle.
placeDown()ȖȜțȎȝȜȟȠȞȖȔȓȠȜȐȤȡǿȜȟȠȞȖȔȓțțȡȬȦȓȞȟȠȪ
ȥȓȞȓȝȎȦȘȎȟȜȏȓȞȓȠȎȐȠȜȚȎȠȖȥȓȟȘȖ
ǸȜȞȜȐȩȖȜȐȤȩȏȡȒȡȠȞȎȕȏȞȓȒȎȠȪȟȭțȜȠȩȟȚȜȔȓȦȪȡȒȓȞ
ȔȎȠȪȖȣȐȝȞȓȒȓșȎȣȢȓȞȚȩȝȜȟȠȞȜȖȐȝȜȝȓȞȖȚȓȠȞȡȕȎȏȜȞ
ǰȜȕȚȜȔțȜȔȖȐȜȠțȩȓȏȡȒȡȠȝȩȠȎȠȪȟȭȡȏȓȔȎȠȪȜȠȥȓȞȓȝȎȦ
ȘȖțȜȖȚȐȞȭȒșȖȫȠȜȡȒȎȟȠȟȭȠȎȘȘȎȘȥȓȞȓȝȎȦȘȎȝȞȜȐȜȞ
țȓȓǸȞȜȚȓȠȜȑȜȝȜȟȘȜșȪȘȡȘȜȞȜȐȩȖȜȐȤȩțȓȭȐșȭȬȠȟȭȏșȜ
ȘȎȚȖȐȩȕȜȐȢȡțȘȤȖȖturtle.inspectDown()țȓȟȞȎȏȜȠȎȓȠ
ǰȚȓȟȠȜȫȠȜȑȜȥȓȞȓȝȎȦȘȓȝȞȖȒȓȠȟȭȐȩȕȩȐȎȠȪȢȡțȘȤȖȬturtle.placeDown()ȐȟșȓȝȡȬȖțȎȡȒȎȥȡȖȟȝȜșȪȕȜȐȎȠȪȝȡȟȠȜȓ
ȐȓȒȞȜȖșȖțȜȔțȖȤȩȖȕȠȓȘȡȧȓȗȭȥȓȗȘȖ
ěĞĔĢđĠČčĜĔĖČ
ǸȡȞȩȝȞȜȖȕȐȜȒȭȠȭȗȤȎȘȎȔȒȩȓȝȭȠȪȒȓȟȭȠȪȚȖțȡȠțȜ
ȘȎȘȖȐȟȓȒȞȜȝȩȓȟșȖȖȣțȓȝȜȒțȭȠȪȭȗȤȎȖȟȥȓȕȎȬȠȥȓȞȓȕ
ȝȭȠȪȚȖțȡȠǺȜȔțȜȕȎȝȞȜȑȞȎȚȚȖȞȜȐȎȠȪȥȓȞȓȝȎȦȓȘȠȎȘ
ȥȠȜȏȩȜțȖȜȏȞȎȏȎȠȩȐȎșȖȝȜșȓȑȒȓȝȎȟȡȠȟȭȘȡȞȩȖȟȜȏȖȞȎ
șȖȭȗȤȎȟȕȓȚșȖ
ˀ̛̭͘ϭϰ͘ϳ͘ˋ̶̡̨̡̛̛̖̬̖̪̹̭̬̖̯̜͕̭̦̖̭̖̦̦̼̖̱̬̥̌̌̍̌́̌̌
ǽǾǼDZǾǮǺǺǶǾǼǰǮǻǶdzȅdzǾdzǽǮȆǸǶȂdzǾǺdzǾǮ
279
DzșȭȟȜȕȒȎțȖȭȝȠȖȤȓȢȓȞȚȩȕȎȑȜțȖȘȡȞțȎȜȑȜȞȜȔȓțțȜȓ
ȝȞȭȚȜȡȑȜșȪțȜȓȝȜșȓȜȏȟșȡȔȖȐȎȓȚȜȓȥȓȞȓȝȎȦȘȜȗǵȎȠȓȚ
ȝȓȞȓȒȎȗȢȡțȘȤȖȬturtle.suckDown() ȏȓȕȘȞȡȑșȩȣȟȘȜȏȜȘ
ȢȡțȘȤȖȖhare.sweepField()ȥȠȜȏȩȥȓȞȓȝȎȦȘȎȕȎȏȖȞȎșȎ
șȬȏȩȓȝȞȓȒȚȓȠȩȘȜȠȜȞȩȓȐȎșȭȬȠȟȭțȎȕȓȚșȓǻȎȞȖȟ
ȖȕȜȏȞȎȔȓțȎȥȓȞȓȝȎȦȘȎȟȜȏȖȞȎȬȧȎȭȭȗȤȎǽȜȒȜȏțȜȔȖȐȜȠ
țȩȚȭȗȤȎțȓȭȐșȭȬȠȟȭȏșȜȘȎȚȖȝȜȫȠȜȚȡȢȡțȘȤȖȭturtle.inspectDown()țȓȟȚȜȔȓȠȖȣȖȒȓțȠȖȢȖȤȖȞȜȐȎȠȪ
ĎħĜČĥĔĎČęĔđĖČĖĞğĝĚĎĔĝČġČĜęĚďĚ
ĞĜĚĝĞęĔĖČ
ǸȎȘȠȡȟȩȖȟȎȣȎȞțȩȗȠȞȜȟȠțȖȘȠȞȓȏȡȬȠȜȟȜȏȩȣȡȟșȜȐȖȗȒșȭ
ȐȩȞȎȧȖȐȎțȖȭǻȎȝȞȖȚȓȞțȡȔȓțȘȎȘȚȖțȖȚȡȚȜȒȖțȏșȜȘ
ȟȐȜȏȜȒțȜȑȜȝȞȜȟȠȞȎțȟȠȐȎȞȎȕȒȓșȭȬȧȖȗȞȎȟȠȓțȖȭȥȠȜȏȩ
ȜțȖȚȜȑșȖȟȐȜȏȜȒțȜȞȎȟȠȖǽȜȫȠȜȚȡȝȜȠȞȓȏȡȓȠȟȭȖȕȚȓțȖȠȪ
ȘȜȒǻȎȢȓȞȚȓȒșȭȐȩȞȎȧȖȐȎțȖȭȘȎȘȠȡȟȜȐțȎȒȜȏȡȒȓȠȜȟȠȎȐ
șȭȠȪȝȡȟȠȩȓȑȜȞȖȕȜțȠȎșȪțȩȓȖȐȓȞȠȖȘȎșȪțȩȓȝȜșȜȟȩȕȓȚșȖ
ǸȞȜȚȓȠȜȑȜȘȎȘȠȡȟȩȚȜȑȡȠȞȎȟȠȖȠȜșȪȘȜțȎȝȓȟȥȎțȩȣ
ȏșȜȘȎȣȘȎȘȝȜȘȎȕȎțȜțȎȞȖȟ
ˀ̛̭͘ϭϰ͘ϴ͘ʶ̡̨̡̨̡̨̨̛̯̱̭̼̬̭̯̱̯̯̣̦̪̖̭̖̣̙̦̼̬̭̪̣̯̭̦̌̌̽̌̔̌̌̐̌̽́̌
̨̨̨̨̨̡̨̛̛̬̭̭̯̦̦̣̥̖̙̱̬̱̬̱̥̌́̔̐̍̌̔̔̐̔̐
280
DZǹǮǰǮ
ǿȎȣȎȞțȩȗȠȞȜȟȠțȖȘȞȎȟȠȓȠȠȜșȪȘȜțȎȝȓȟȥȎțȩȣȖșȖȕȓȚ
șȭțȩȣȏșȜȘȎȣȘȜȠȜȞȩȓȝȞȖșȓȑȎȬȠȘȐȜȒȓȝȜȫȠȜȚȡȘȎȔȒȩȗ
ȞȭȒȚȓȔȒȡȞȭȒȎȚȖȠȞȜȟȠțȖȘȎȒȜșȔȓțȟȜȟȠȜȭȠȪȖȕȐȜȒȭțȩȣ
ȏșȜȘȜȐȘȎȘȝȜȘȎȕȎțȜțȎȞȖȟ
ˀ̛̭͘ϭϰ͘ϵ͘ˋ̵̡̨̡̛̛̖̬̖̪̹̼̬̺̖̯̭̬̦̼̜̯̬̭̯̦̌̌̏̌̏̌̌̌͘ʽ̛̛̛̬̯̦̥̦̖͕̍̌̏̌
̸̵̨̨̡̨̨̨̛̯̭̬̦̼̜̯̬̭̯̦̭̣̖̱̖̯̭̙̯̬̥̭̜̌̌̔̌̌̽́̔̏̔
ǼȏȓȘȡșȪȠȡȞȩȐȩȞȎȟȠȎȬȠțȎȐȩȟȜȠȡȒȜȠȞȓȣȏșȜȘȜȐǽȜȫ
ȠȜȚȡȥȓȞȓȝȎȦȘȡțȡȔțȜȝȜȒțȭȠȪțȎȐȩȟȜȠȡȥȓȠȩȞȓȣȏșȜȘȜȐ
ȥȠȜȏȩȜțȎȚȜȑșȎȐȩȕȩȐȎȠȪȢȡțȘȤȖȬturtle.digDown()
ȒșȭȟȏȜȞȎȡȞȜȔȎȭȐȩȞȜȟȦȓȑȜȒȜȚȎȘȟȖȚȎșȪțȜȗȐȩȟȜȠȩ
ǶȒȓțȠȖȢȖȘȎȠȜȞȩ0LQHFUDIWȒșȭȘȎȘȠȡȟȎȖȟȎȣȎȞțȜȑȜȠȞȜȟȠ
țȖȘȎ²ȫȠȜ'minecraft:cactus'Ȗ'minecraft:reeds'9ȟȜ
ȜȠȐȓȠȟȠȐȓțțȜ
ģĞĚĘħğēęČėĔ
ǺțȜȑȜȘȞȎȠțȜȖȟȝȜșȪȕȡȭȘȜȒhare.sweepField()ȠȩȚȜ
ȔȓȦȪșȓȑȘȜȝȞȜȑȞȎȚȚȖȞȜȐȎȠȪȥȓȞȓȝȎȦȓȘțȎȎȐȠȜȚȎȠȖȥȓ
ȟȘȖȗȟȏȜȞȞȎȕșȖȥțȩȣȘȡșȪȠȡȞǰȫȠȜȗȑșȎȐȓȠȩȡȕțȎșȘȎȘ
ȖȟȝȜșȪȕȜȐȎȠȪȥȓȞȓȝȎȦȓȘȒșȭȜȏȞȎȏȜȠȘȖȕȓȚșȖȝȜȟȓȐȎȟȓ
ȚȭțȖȟȏȜȞȎȕȞȓșȜȗȝȦȓțȖȤȩǰȩȕȜȐȢȡțȘȤȖȖturtle.inspectDown()ȐȜȕȐȞȎȧȎȓȠȠȎȏșȖȥțȜȓȕțȎȥȓțȖȓȟȜȒȓȞȔȎȧȓȓ
ȘșȬȥ'metadata'ȟȜȕțȎȥȓțȖȓȚȐȒȖȎȝȎȕȜțȓȜȠ0ȒȜ7dzȟșȖ
ȕțȎȥȓțȖȓȞȎȐțȜ7ȕțȎȥȖȠȝȦȓțȖȤȎȝȜșțȜȟȠȪȬȟȜȕȞȓșȎȅȓ
9
В версии 1.13 – 'minecraft:sugar_cane' (прим. перев.)
ǽǾǼDZǾǮǺǺǶǾǼǰǮǻǶdzȅdzǾdzǽǮȆǸǶȂdzǾǺdzǾǮ
281
ȞȓȝȎȦȘȎȟȎșȚȎȕțȜȗȚȜȠȩȑȜȗȖȟȝȜșȪȕȡȓȠȫȠȜȕțȎȥȓțȖȓȥȠȜ
ȏȩȜȝȞȓȒȓșȖȠȪȘȜȑȒȎȝȦȓțȖȤȎȑȜȠȜȐȎȘȡȏȜȞȘȓȟȜȏȖȞȎȓȠȓȓ
ȖȝȞȜȖȕȐȜȒȖȠȝȜȟȓȐȟȓȚȭț
ǮșȑȜȞȖȠȚȢȡțȘȤȖȖhare.sweepField()ȏȩșȖȟȝȜșȪ
ȕȜȐȎțȝȞȖȞȓȦȓțȖȖȚțȜȔȓȟȠȐȎȞȎȕșȖȥțȩȣȕȎȒȎȥǰȑșȎȐȓ
ȚȩȞȎȕȞȎȏȜȠȎȓȚțȜȐȩȗȎșȑȜȞȖȠȚȘȜȠȜȞȩȗȝȜȕȐȜșȖȠȘȜ
ȝȎȠȪȭȚȩȐȢȜȞȚȓșȓȟȠțȖȤȩȡȣȜȒȭȧȓȗȐȕȓȚșȬ
15
ěĜĚďĜČĘĘĔĜĚĎČęĔđ
ģđĜđěČĤĖĔĤČġĞđĜČ
ȀȓȝȓȞȪȥȓȞȓȝȎȦȘȖȐȩȝȜșțȭȬȠȕțȎȥȖȠȓșȪțȡȬ
ȥȎȟȠȪțȓȜȏȣȜȒȖȚȩȣȠȓȏȓȞȎȏȜȠȜȠȞȡȏȘȖȒȓ
ȞȓȐȪȓȐȖȖȕȑȜȠȜȐșȓțȖȭȘȎȚȓțțȩȣȘȖȞȝȖȥȓȗ
ȒȜȐȜȕȒȓșȩȐȎțȖȭȟȓșȪȟȘȜȣȜȕȭȗȟȠȐȓțțȩȣȡȑȜ
ȒȖȗǻȜȓȧȓȓȟȠȪȞȓȟȡȞȟȩȘȜȠȜȞȩȓțȓȜȏȣȜȒȖȚȜ
ȒȜȏȩȐȎȠȪȖȕȝȜȒȕȓȚșȖȞȎȕȞȎȏȎȠȩȐȎȭȞȡȒțȖȘȖ
ȋȠȜȔȓșȓȕȜȕȜșȜȠȜȎșȚȎȕȩȡȑȜșȪȞȓȒȟȠȜȡțȖșȎȕȡȞȖȠ
ȅȓȞȓȝȎȦȘȖȚȜȑȡȠȖȫȠȜȁțȖȣȐȝȎȚȭȠȖȓȟȠȪȝȞȓȒȡȟȠȎ
țȜȐșȓțțȎȭȝȞȜȑȞȎȚȚȎȝȜȒțȎȕȐȎțȖȓȚexcavateȘȜȠȜȞȡȬ
ȠȩȚȜȔȓȦȪȖȟȝȜșȪȕȜȐȎȠȪȥȠȜȏȩȝȞȜȘȜȝȎȠȪȘȐȎȒȞȎȠțȜȓȜȠ
ȐȓȞȟȠȖȓȝȞȭȚȜȘȜȟțȜȐȎțȖȬȚȖȞȎ0LQHFUDIWǼȒțȎȘȜȘȎȘ
ȝȜȘȎȕȎțȜțȎȞȖȟȚȜȔțȜșȓȑȘȜȡȝȎȟȠȪȐȫȠȖȑșȡȏȜȘȖȓ
ȘȜșȜȒȤȩȥȠȜȒȓșȎȓȠȖȣȜȝȎȟțȩȚȖ
ǰȫȠȜȗȑșȎȐȓȚȩțȎȝȖȦȓȚȝȞȜȑȞȎȚȚȡȒȜȏȩȥȖȝȜșȓȕ
țȩȣȖȟȘȜȝȎȓȚȩȣȝȜȒțȎȕȐȎțȖȓȚstairminerȘȜȠȜȞȎȭȐȩ
ȘȎȝȩȐȎȓȠȘȜșȜȒȓȤȟșȓȟȠțȖȤȓȗȡȣȜȒȭȧȓȗȝȜȒȕȓȚșȬȘȎȘ
ȝȜȘȎȕȎțȜțȎȞȖȟǼȘȜșȜȝȜȐȓȞȣțȜȟȠȖȥȓȞȓȝȎȦȘȎȏȡȒȓȠ
ȒȜȏȩȐȎȠȪȐȜȟțȜȐțȜȚȕȓȚșȬȖȏȡșȩȔțȖȘțȜȝȜȚȓȞȓȞȎȕȞȎ
ǽǾǼDZǾǮǺǺǶǾǼǰǮǻǶdzȅdzǾdzǽǮȆǸǶȆǮȃȀdzǾǮ
283
ȏȜȠȘȖȞȡȒțȖȘȎȐȑșȡȏȪȟȚȜȔȓȠțȎȣȜȒȖȠȪȖȒȜȏȩȐȎȠȪȞȎȕțȡȬ
ȞȡȒȡȖȎșȚȎȕȩ
ˀ̛̭͘ϭϱ͘ϭ͘ʿ̨̬̬̥̥̐̌̌excavatę̶̨̡̨̡̨̨̛̭̖̯̣̱̖͕̪̭̦̼̖̣̼̔̌̐̍̌̔̚
ˀ̛̭͘ϭϱ͘Ϯ͘ʿ̨̬̬̥̥̐̌̌stairminer̶̨̨̨̛̭̖̯̣̖̭̯̦̱̣̖̪̭̦̜̔̌̔́̍̌̚̚
̸̵̵̨̨̡̨̛̛̼̪̣̖̦̼̭̪̖̥̼̔̍̌̚
ǽȜȟșȓȠȜȑȜȘȎȘȚȩȟȜȕȒȎȒȖȚȝȞȜȑȞȎȚȚȡstairminer
ȚȜȔțȜȏȡȒȓȠȒȜȏȩȐȎȠȪȞȡȒȡțȓȜȝȎȟȎȭȟȪȡȝȎȟȠȪȐȝȞȜȝȎȟȠȪ
ȋȠȖșȓȟȠțȖȤȩȠȎȘȔȓȝȜȕȐȜșȭȠȏȓȕȜȝȎȟțȜȟȝȡȟȘȎȠȪȟȭțȎȒțȜ
ȦȎȣȠȥȠȜȏȩțȎȝȞȖȚȓȞȝȞȜȘȜȝȎȠȪȑȜȞȖȕȜțȠȎșȪțȩȓȠȡțțȓ
șȖȖșȖȝȜȟȠȞȜȖȠȪȝȜȒȕȓȚțȡȬȏȎȕȡ
284
DZǹǮǰǮ
ĜČēĜČčĚĞĖČČėďĚĜĔĞĘČĝĚēĐČęĔī
ĤČġĞħĝėđĝĞęĔĢđĕ
ǻȎȥ țȓȚ ȟ ȞȎȕȞȎȏ Ȝ Ƞ Ș Ȗ Ȏ ș ȑ ȜȞȖ Ƞ ȚȎ ȟȜȕȒȎ ț Ȗ ȭ ȦȎ ȣ Ƞ ȩ ȟ
șȓȟȠțȖȤȓȗǰȚȓȟȠȜȠȜȑȜȥȠȜȏȩȝȞȜȟȠȜȘȜȝȎȠȪȐțȖȕȒȜȏȓ
ȒȞȜȘȎȝȞȜȑȞȎȚȚȎstairminerȐȩȞȡȏȎȓȠȡȕȜȞȐȢȜȞȚȓșȓȟȠ
țȖȤȩȀȎȘȖȚȜȏȞȎȕȜȚȥȓȞȓȝȎȦȘȎțȓțȎȒȓșȎȓȠȟȚȓȞȠȓșȪțȜ
ȜȝȎȟțȩȣȒȩȞȐȘȜȠȜȞȩȓȚȜȔțȜȡȝȎȟȠȪǾȎȕȞȎȏȜȠȘȎȑȞȡțȠȎ
țȎȥȖțȎȓȠȟȭȟȝȜȐȓȞȣțȜȟȠȖȕȓȚșȖȘȎȘȝȜȘȎȕȎțȜțȎȞȖȟ
ˀ̛̭͘ϭϱ͘ϯ͘ˋ̵̸̸̵̡̨̨̨̨̨̛̛̖̬̖̪̹̦̪̖̬̦̭̯̪̖̬̖̦̣̥̼̪̣̖̦̼̌̌̌̏̔̌̌̔̍̚
̵̡̨̛̭̪̖̥̼̌
ǻȎȚțȡȔțȜȥȠȜȏȩȥȓȞȓȝȎȦȘȎȝȞȜȘȜȝȎșȎțȎȜȒȖțȏșȜȘ
ȐțȖȕȕȎȠȓȚȝȓȞȓȚȓȟȠȖșȎȟȪțȎȜȒȖțȏșȜȘȐȝȓȞȓȒȝȞȜȘȜȝȎșȎ
țȎȏșȜȘȎȐțȖȕȕȎȠȓȚȜȝȭȠȪȝȓȞȓȒȐȖțȡșȎȟȪțȎȏșȜȘȐȝȓȞȓȒ
ȖȐȩȘȜȝȎșȎȡȔȓȠȞȖȏșȜȘȎȖȠȒȅȓȞȓȝȎȦȘȎȒȜșȔțȎȝȞȜ
ȒȜșȔȎȠȪȘȜȝȎȠȪȒȜȠȓȣȝȜȞȝȜȘȎțȓȒȜȟȠȖȑțȓȠȏȓȒȞȜȘȎȖșȖ
ȑșȡȏȖțȩȡȘȎȕȎțțȜȗȖȑȞȜȘȜȚ
DzșȭȞȎȕȞȎȏȜȠȘȖȫȢȢȓȘȠȖȐțȜȗȝȞȜȑȞȎȚȚȩțȡȔțȜȜȝȞȓ
ȒȓșȖȠȪȘȜțȘȞȓȠțȩȓȒȓȗȟȠȐȖȭȘȜȠȜȞȩȓȒȜșȔțȎȟȜȐȓȞȦȖȠȪ
ȥȓȞȓȝȎȦȘȎȥȠȜȏȩȞȓȎșȖȕȜȐȎȠȪȜȝȖȟȎțțȩȗȎșȑȜȞȖȠȚȝȜȐȓ
ȒȓțȖȭǸȎȔȒȩȗȞȎȕȝȜȟșȓȠȜȑȜȘȎȘȥȓȞȓȝȎȦȘȎȟȝȡȟȘȎȓȠȟȭ
ȐțȖȕȜțȎȒȜșȔțȎȐȜȕȐȞȎȧȎȠȪȟȭțȎȝȜȐȓȞȣțȜȟȠȪȝȞȓȔȒȓȥȓȚ
ǽǾǼDZǾǮǺǺǶǾǼǰǮǻǶdzȅdzǾdzǽǮȆǸǶȆǮȃȀdzǾǮ
285
ȘȜȝȎȠȪȟțȜȐȎǽȜȟȘȜșȪȘȡȘȎȔȒȩȗȣȜȒȖȟȝȜșȪȕȡȓȠȠȜȝșȖȐȜ
ȠȜȘȜșȖȥȓȟȠȐȜȣȜȒȜȐȟȜȐȓȞȦȎȓȚȩȣȥȓȞȓȝȎȦȘȜȗȣȜȠȓșȜȟȪ
ȏȩȟȒȓșȎȠȪȚȖțȖȚȎșȪțȩȚǺȩȟȒȓșȎȓȚȫȠȜȕȎȝȞȜȑȞȎȚȚȖ
ȞȜȐȎȐȥȓȞȓȝȎȦȘȡȠȎȘȥȠȜȏȩȜțȎȘȜȝȎșȎȐȐȓȞȣȘȜȑȒȎȏȡȒȓȠ
ȐȩȏȖȞȎȠȪȟȭțȎȝȜȐȓȞȣțȜȟȠȪǰȞȓȕȡșȪȠȎȠȓȥȓȞȓȝȎȦȘȎȏȡȒȓȠ
ȖȟȝȜșȪȕȜȐȎȠȪȠȜȝșȖȐȜțȎȟȠȜșȪȘȜȫȢȢȓȘȠȖȐțȜțȎȟȘȜșȪȘȜȫȠȜ
ȐȜȜȏȧȓȐȜȕȚȜȔțȜȝȜȟȘȜșȪȘȡȏȡȒȓȠțȓȠȜșȪȘȜȐȩȏȖȞȎȠȪȟȭțȎ
ȝȜȐȓȞȣțȜȟȠȪțȜȖȞȎȕȞȎȏȎȠȩȐȎȠȪȑȞȡțȠțȎȒȟȜȏȜȗ
DzȎȐȎȗȞȎȟȟȚȜȠȞȖȚȒȓȗȟȠȐȖȭțȎȘȜȠȜȞȩȣȝȜȟȠȞȜȓțȎșȑȜ
ȞȖȠȚȟȜȕȒȎțȖȭȦȎȣȠȩȟșȓȟȠțȖȤȓȗȖȐȩȭȟțȖȚȘȎȘȚȜȔțȜ
ȚȖțȖȚȖȕȖȞȜȐȎȠȪȞȎȟȣȜȒȠȜȝșȖȐȎȖȟȝȜșȪȕȡȓȚȜȑȜȥȓȞȓȝȎȦ
ȘȜȗțȎȘȎȔȒȜȚȫȠȎȝȓ
ǸȎȘȝȜȘȎȕȎțȜțȎȞȖȟȥȓȞȓȝȎȦȘȎțȎȥȖțȎȓȠȞȎȕȞȎ
ȏȜȠȘȡȟȏșȜȘȎȜȠȚȓȥȓțțȜȑȜȟȖȚȐȜșȜȚðȀȎȘȖȚȜȏȞȎȕȜȚȜțȎ
ȟȜȕȒȎȓȠȝȓȞȐȡȬȟȠȡȝȓțȪșȓȟȠțȖȤȩǽȜȟȘȜșȪȘȡȥȓȞȓȝȎȦȘȎțȓ
ȒȐȖȑȎȓȠȟȭțȎȫȠȜȚȫȠȎȝȓȜțȎțȓȖȟȝȜșȪȕȡȓȠȠȜȝșȖȐȜǽȓȞȐȩȗ
ȦȎȑșȓȟȠțȖȤȩțȡȔțȜȐȩȘȜȝȎȠȪȜȒȖțȞȎȕȐțȎȥȎșȓȝȞȜȑȞȎȚ
ȚȩȝȜȫȠȜȚȡȎșȑȜȞȖȠȚȏȜșȪȦȓțȓȝȜȐȠȜȞȭȓȠȫȠȜȠȦȎȑ
ˀ̛̭͘ϭϱ͘ϰ͘ˋ̸̡̡̨̨̨̨̛̖̬̖̪̹̦̦̖̯̪̯̪̭̜̌̌̌̌̌̽̔̍
ǵȎȠȓȚȥȓȞȓȝȎȦȘȎȝȓȞȓȚȓȧȎȓȠȟȭȐȝȓȞȓȒțȎȜȒȖțȏșȜȘȘ
ȟșȓȒȡȬȧȓȚȡȏșȜȘȡȜȠȘȜȠȜȞȜȑȜȏȡȒȓȠȞȩȠȪȘȜșȜȒȓȤȐțȖȕȘȎȘ
ȝȜȘȎȕȎțȜțȎȞȖȟȋȠȜȒȓȗȟȠȐȖȓȜțȎȏȡȒȓȠȝȜȐȠȜȞȭȠȪȘȎȔ
ȒȩȗȞȎȕȘȜȑȒȎȏȡȒȓȠțȎȥȖțȎȠȪȘȜȝȎȠȪțȜȐȩȗȘȜșȜȒȓȤȟȝȜ
ȐȓȞȣțȜȟȠȖȕȓȚșȖ
286
DZǹǮǰǮ
ˀ̛̭͘ϭϱ͘ϱ͘ʿ̸̨̡̨̨̨̡̡̛̛̭̣̖̼̪̼̦̪̖̬̣̖̬̖̪̹̙̖̯̭̪̖̬̖̦̏̌̏̌́̏̐̍̌̌̌̔̏́̏̔̌
̸̸̶̨̨̡̨̡̨̡̨̨̨̡̛̛̛̦̣͕̯̼̦̯̪̯̭̣̖̱̺̜̣̖̦͕̱̙̖̦̣̔̍̍̌̌̽̌̽̔̀̔̏̌̔̏̌̍̌̚
ǸȜȑȒȎȥȓȞȓȝȎȦȘȎțȎȥȖțȎȓȠȞȎȕȞȎȏȜȠȘȡȟșȓȒȡȬȧȓȑȜȘȜ
șȜȒȤȎȜțȎȞȎȟȘȎȝȩȐȎȓȠțȎȜȒȖțȏșȜȘȏȜșȪȦȓȥȓȚțȎȝȞȓ
ȒȩȒȡȧȓȚȦȎȑȓȖȜȝȡȟȘȎȓȠȟȭțȎȒțȜȘȜșȜȒȤȎȘȜȠȜȞȩȗȞȎȕ
ȞȎȏȎȠȩȐȎȓȠǻȎȞȖȟȝȜȘȎȕȎțȫȠȜȠȝȞȜȤȓȟȟ
ˀ̛̭͘ϭϱ͘ϲ͘ˋ̶̸̵̡̡̨̡̨̨̨̨̛̛̛̖̬̖̪̹̪̖̯̭̣̖̱̺̜̣̖͕̦̦̭̪̖̬̦̭̯̌̌̌̔̀̔̌̌́̏
ǽȜȟșȓȠȜȑȜȘȎȘȥȓȞȓȝȎȦȘȎȕȎȘȜțȥȖȠȒȜȏȩȥȡȐȫȠȜȚȘȜșȜȒ
ȤȓȞȎȕȞȎȏȜȠȘȡȟșȓȒȡȬȧȓȑȜȜțȎțȎȥțȓȠȟȓȑȜȒțȎȅȓȞȓȝȎȦȘȎ
ȒȜȏȡȒȓȠȏșȜȘȘȜȠȜȞȩȗțȎȣȜȒȖȠȟȭȝȓȞȓȒțȓȗȝȓȞȓȚȓȟȠȖȠȟȭ
ȐȝȓȞȓȒȖȜȘȎȔȓȠȟȭȐȟșȓȒȡȬȧȓȚȘȜșȜȒȤȓȀȎȚȜțȎȒȜȏȩȐȎȓȠ
ȏșȜȘȘȜȠȜȞȩȗțȎȣȜȒȖȠȟȭȝȜȒțȓȗȒȓșȎȭȫȠȜȠȘȜșȜȒȓȤțȎȜȒ
ǽǾǼDZǾǮǺǺǶǾǼǰǮǻǶdzȅdzǾdzǽǮȆǸǶȆǮȃȀdzǾǮ
287
țȡȝȜȕȖȤȖȬȑșȡȏȔȓȝȞȓȒȩȒȡȧȓȑȜȘȎȘȝȜȘȎȕȎțȜțȎȞȖȟ
DzȜȏȩȥȎȏșȜȘȎȝȜȒȥȓȞȓȝȎȦȘȜȗțȓȠȞȓȏȡȓȠȠȜȝșȖȐȎȝȜȫȠȜȚȡ
ȥȓȞȓȝȎȦȘȎȖȟȝȜșȪȕȡȓȠȠȜșȪȘȜȜȒțȡȓȒȖțȖȤȡȠȜȝșȖȐȎȒșȭ
ȒȜȏȩȥȖȒȐȡȣȏșȜȘȜȐȋȠȖȒȓȗȟȠȐȖȭȝȜȐȠȜȞȭȬȠȟȭȘȎȔȒȩȗȞȎȕ
ȘȜȑȒȎȞȎȕȞȎȏȜȠȘȎȘȜșȜȒȤȎțȎȥȖțȎȓȠȟȭȐțȡȠȞȖȦȎȣȠȩ
ˀ̛̭͘ϭϱ͘ϳ͘ˋ̡̡̨̡̨̨̨̛̖̬̖̪̹̼̪̼̖̯̣̪̖̬̖̭̜͕̪̖̬̖̥̖̺̖̯̭̦̦̌̌̏̌̏̌̍̔̍̌́̌̔
̨̡̡̨̡̨̨̨̣̪̖̬̖͕̯̖̥̼̪̼̖̯̣̪̭̜̍̏̔̌̌̏̌̏̌̍̔̍̚
ǰȕȎȐȓȞȦȎȬȧȓȗȥȎȟȠȖȎșȑȜȞȖȠȚȎȥȓȞȓȝȎȦȘȎȒȜșȔțȎ
ȐȩȗȠȖțȎȝȜȐȓȞȣțȜȟȠȪȥȠȜȏȩȝȜșțȜȟȠȪȬȞȎȕȞȎȏȜȠȎȠȪȠȓȘȡ
ȧȖȗȘȜșȜȒȓȤǻȎȞȖȟȢȖțȎșȪțȩȗȝȡȠȪȥȓȞȓȝȎȦȘȖȝȜ
ȘȎȕȎțȜȞȎțȔȓȐȜȗȟȠȞȓșȘȜȗ
ˀ̛̭͘ϭϱ͘ϴ͘ˋ̸̶̡̡̨̡̡̨̨̨̛̖̬̖̪̹̦̖̯̬̬̯̱̣͕̬̺̭̦̌̌̌̌̏̌̌̌̍̔̌̏̏̌̌́̽̌̚̚̚
̵̨̨̪̖̬̦̭̯̏̽
ǰȟȓȜȝȖȟȎțțȩȓȒȓȗȟȠȐȖȭȘȞȜȚȓțȎȥȎșȪțȜȑȜȥȓȞȓȝȎȦȘȎ
ȝȜȐȠȜȞȭȓȠȤȖȘșȖȥȓȟȘȖDzȞȡȑȖȚȖȟșȜȐȎȚȖȥȓȞȓȝȎȦȘȎȘȜ
288
DZǹǮǰǮ
ȝȎȓȠȐȝȓȞȓȒțȎȥȖțȎȭțȜȐȩȗȘȜșȜȒȓȤȖțȓȜȝȡȟȘȎȭȟȪțȎ
ȓȑȜȒțȜȕȎȘȎțȥȖȐȎȓȠȓȑȜȒȜȏȩȥȡȒȐȖȑȎȭȟȪȐȐȓȞȣȝȜȐȠȜȞȭȭ
ȝȡȠȖȜȏȜȕțȎȥȓțțȩȓțȎȞȖȟȢȖȜșȓȠȜȐȩȚȖȕȓșȓțȩȚȖ
ȖȜȞȎțȔȓȐȩȚȖȟȠȞȓșȘȎȚȖǽȜȫȠȜȚȡȦȎȏșȜțȡȝȞȜȖȟȣȜȒȖȠ
ȞȎȕȞȎȏȜȠȘȎȑȜȞțȜȑȜȚȎȟȟȖȐȎȝȜȒȐȎȘȜșȜȒȤȎȕȎȜȒȖțȝȞȜȣȜȒ
ȐțȖȕȎȕȎȠȓȚȐȐȓȞȣǰȩȝȜșțȓțȖȓȦȎȏșȜțȎȜȟȡȧȓȟȠȐșȭȓȠȟȭ
ȒȜȠȓȣȝȜȞȝȜȘȎȥȓȞȓȝȎȦȘȎțȓȒȜȟȠȖȑțȓȠȏȓȒȞȜȘȎȖșȖȡȘȎ
ȕȎțțȜȗȑșȡȏȖțȩ
ˀ̛̭͘ϭϱ͘ϵ͘ˌ̶̸̨̨̡̨̛̣̦̣̖̭̯̦̼͕̬̬̯̼̖̥̜̖̬̖̪̹̜̌̍̌̌̍̌̏̌̌̚
ǽȞȓȔ Ȓȓ ȥȓȚ ȝȞȖȟȠ ȡ ȝ Ȗ Ƞ Ȫ Ș ȞȎȕȞȎȏȜȠ Șȓ ȝȞȜȑ ȞȎ ȚȚȩ
stairminerȐȘȜȠȜȞȜȗȖȟȝȜșȪȕȡȓȠȟȭȠȜșȪȘȜȥȠȜȜȝȖȟȎțțȩȗ
ȎșȑȜȞȖȠȚȟȜȕȒȎțȖȭȦȎȣȠȩȟșȓȟȠțȖȤȓȗțȓȜȏȣȜȒȖȚȜțȎȝȖ
ȟȎȠȪțȓȘȜȠȜȞȩȓȐȟȝȜȚȜȑȎȠȓșȪțȩȓȢȡțȘȤȖȖǼțȖțȎȚȝȜțȎ
ȒȜȏȭȠȟȭȒșȭȜȏȞȎȏȜȠȘȖȟȖȠȡȎȤȖȗȘȜȑȒȎȥȓȞȓȝȎȦȘȓȏȡȒȡȠ
ȝȜȝȎȒȎȠȪȟȭȝȓȟȥȎțȩȓȖșȖȑȞȎȐȖȗțȩȓȏșȜȘȖ
ǽǾǼDZǾǮǺǺǶǾǼǰǮǻǶdzȅdzǾdzǽǮȆǸǶȆǮȃȀdzǾǮ
289
ĐĚĜČčĚĞĖČĘĚĐğėī0):dzȟșȖȠȩȒȡȚȎȓȦȪȥȠȜȐȩȕȜȐȢȡțȘȤȖȖturtle.dig()Ȑȟȓȑ
ȒȎȜȥȖȧȎȓȠȝȞȜȟȠȞȎțȟȠȐȜȝȓȞȓȒȥȓȞȓȝȎȦȘȜȗȠȜȫȠȜțȓ
ȠȎȘǽȓȟȥȎțȩȓȖȑȞȎȐȖȗțȩȓȏșȜȘȖțȎȒȏșȜȘȜȚȘȜȠȜȞȩȗ
ȒȜȏȩȐȎȓȠȥȓȞȓȝȎȦȘȎȝȎȒȎȬȠȐțȖȕȖȏșȜȘȖȞȡȬȠȓȓǶȝȜ
ȟȘȜșȪȘȡȞȎȕȞȎȏȜȠȎțțȩȗțȎȚȖȎșȑȜȞȖȠȚȟȜȕȒȎțȖȭȦȎȣȠȩȟ
șȓȟȠțȖȤȓȗȝȞȓȒȝȜșȎȑȎȓȠȥȠȜȥȓȞȓȝȎȦȘȎȝȓȞȖȜȒȖȥȓȟȘȖȏȡ
ȒȓȠȜȥȖȧȎȠȪȝȞȜȟȠȞȎțȟȠȐȜȝȓȞȓȒȖșȖțȎȒȟȜȏȜȗțȎȚțȡȔțȎ
ȠȎȘȎȭȢȡțȘȤȖȭȟȝȜȚȜȧȪȬȘȜȠȜȞȜȗȥȓȞȓȝȎȦȘȎȏȡȒȓȠȞȎȟ
ȘȎȝȩȐȎȠȪȠȎȘȖȓȝȎȒȎȬȧȖȓȏșȜȘȖȒȜȠȓȣȝȜȞȝȜȘȎȠȞȓȏȡȓ
ȚȜȓȝȞȜȟȠȞȎțȟȠȐȜȝȜșțȜȟȠȪȬțȓȜȟȐȜȏȜȒȖȠȟȭ
ǻȎȞȖȟȝȜȘȎȕȎțȩȠȞȖȝȓȟȥȎțȩȣȏșȜȘȎȡșȜȔȓțțȩȣ
ȒȞȡȑțȎȒȞȡȑȎȝȓȞȓȒȥȓȞȓȝȎȦȘȜȗȅȠȜȏȩȟȜȏȞȎȠȪȝȓȟȜȘȥȓ
ȞȓȝȎȦȘȎȒȜșȔțȎȐȩȕȐȎȠȪȢȡțȘȤȖȬturtle.dig()ȠȞȖȞȎȕȎ
Dz ș ȭ ȫ Ƞ Ȗ ȣ Ȥȓ șȓȗ Ț ȩ țȎ
ȝȖȦȓȚȢȡțȘȤȖȖdigUntilClear()ȖdigUpUntilClear()
ȘȜȠȜȞȩȓȝȜȥȠȖȖȒȓțȠȖȥțȩțȜ
ȞȎȕȞȎȏȎȠȩȐȎȬȠȝȞȜȟȠȞȎțȟȠȐȜ
ȝȓȞȓȒȖțȎȒȥȓȞȓȝȎȦȘȜȗȟȜ
ȜȠȐȓȠȟȠȐȓțțȜ
ˀ̛̭͘ϭϱ͘ϭϬ͘ˋ̡̨̖̬̖̪̹̣̙̦̌̌̔̌
̸̨̨̡̨̛̼̯̣̯̬̬͕̯̼̔̍̽̍̌̌̍̚
̸̨̨̨̛̛̭̯̯̪̬̭̯̬̦̭̯̪̖̬̖̽̌̏̔
̸̸̨̨̨̨̨̭̜͕̪̯̥̱̯̪̖̭̦̼̖̍̌
̨̡̛̛̣̱̱̯̪̯̦̍̍̔̌̔̌̽̏̚
ǽȜȟȘȜșȪȘȡȚȩȟȚȜȔȓȚȖȟ
ȝȜșȪȕȜȐȎȠȪȫȠȖȢȡțȘȤȖȖțȓ
Ƞ Ȝ ș Ȫ Ș Ȝ Ȑ ȫ Ƞ Ȝȗ ȝ Ȟ Ȝȑ ȞȎ Ț Țȓ
ȒȜȏȎȐȖȚȖȣȐȚȜȒȡșȪh a re.
ǰȜȏȜșȜȥȘȓȘȜȚȎțȒțȜȗȟȠȞȜȘȖ
ȐȩȝȜșțȖȘȜȚȎțȒȡedit hare.
ǽȓȞȓȚȓȟȠȖȘȡȞȟȜȞȐțȖȔțȬȬ
ȥȎȟȠȪȢȎȗșȎȖȝȞȜȒȜșȔȖȘȜȒ
ȒȜȏȎȐȖȐȟșȓȒȡȬȧȖȓȟȠȞȜȘȖ
hare
...ɩɪɨɩɭɫɤ...
216. -- digUntilClear() ɩɪɨɞɨɥɠɚɟɬɞɨɛɵɱɭɩɟɪɟɞ
ɱɟɪɟɩɚɲɤɨɣ
217. -- ɩɨɤɚɨɛɧɚɪɭɠɢɜɚɟɬɛɥɨɤɢ ɢɫɩɨɥɶɡɭɟɬɫɹɟɫɥɢ
218. -- ɩɟɫɨɤɢɥɢɝɪɚɜɢɣɩɚɞɚɸɬɧɚɩɭɬɢɪɚɡɪɚɛɨɬɤɢ
219. function digUntilClear()
290
DZǹǮǰǮ
220.
while turtle.detect() do
221.
if not turtle.dig() then
222.
return false
223.
end
224.
end
225.
return true
226. end
227.
228. -- digUpUntilClear() ɩɪɨɞɨɥɠɚɟɬɞɨɛɵɱɭɧɚɞ
ɱɟɪɟɩɚɲɤɨɣ
229. -- ɩɨɤɚɨɛɧɚɪɭɠɢɜɚɟɬɛɥɨɤɢ ɢɫɩɨɥɶɡɭɟɬɫɹɟɫɥɢ
230. -- ɩɟɫɨɤɢɥɢɝɪɚɜɢɣɩɚɞɚɸɬɧɚɩɭɬɢɪɚɡɪɚɛɨɬɤɢ
231. function digUpUntilClear()
232.
while turtle.detectUp() do
233.
if not turtle.digUp() then
234.
return false
235.
end
236.
end
237.
return true
238. end
ǿȜȣȞȎțȖȝȞȜȑȞȎȚȚȡȖȐȩȗȒȖȖȕȞȓȒȎȘȠȜȞȎȝȜȟșȓȐȐȜȒȎ
ȖțȟȠȞȡȘȤȖȗȋȠȡȝȞȜȑȞȎȚȚȡȠȎȘȔȓȚȜȔțȜȟȘȎȥȎȠȪȐȩȝȜș
țȖȐȘȜȚȎțȒȡpastebin get wwzvaKuW hare.
ĖĚĐĠğęĖĢĔĕ,1/=6
Последние комментарии
1 день 8 часов назад
1 день 16 часов назад
2 дней 7 часов назад
2 дней 10 часов назад
2 дней 11 часов назад
2 дней 11 часов назад