300000
English | Français | فارسی | 中文 | Українська | Azerbaijani | ខ្មែរ | Tiếng Việt | Bahasa Melayu | Deutsch | O'zbek | РусскийTurtle Walk
Total number of wins: 131979
Що таке Blockly?
Blockly - це наочний спосіб побудови коду за допомогою блоків. Це чудовий спосіб навчитися кодувати і писати хороший код. Докладніше про це ви можете прочитати тут . Ви також можете спробувати ігри Blockly для дітей тут .
Як грати?
Тут ви створюєте код для переміщення черепахи до її ставка. Для цього ви додаєте блоки з лівого сірого вікна. Коли ви натискаєте \"Виконати \", ви запускає код, який створили у блоці Запустити блок . Натисніть кнопку Рішення, щоб побачити одне з можливих рішень головоломки, не обов'язково найкоротше.
Як перемогти?
Ви перемагаєте, коли ваш код переміщує черепаху до ставка. Гра складніша, коли вам доводиться робити це з обмеженою кількістю блоків.
Для Початківців
Що таке код?
\"Код\" може звучати важко, страшно або загадково, але це не так.
Насправді, ви можете використовувати код постійно! Якщо ви коли-небудь користувались додатком, грали в гру на екрані, натискали кнопку, то ви використовували код. Код - це лише перелік інструкцій, які ваш пристрій (телефон, планшет, комп’ютер, консоль) вміє читати та виконувати.
Blockly дозволяє створювати код і грати з принципами кодування, такими як змінні, функції, цикли тощо. Це ті самі ідеї, які комп'ютерні програмісти та розробники програм / ігор використовують на своїх робочих місцях щодня.
Що таке \"хороший\" код?
По-перше, код хороший, коли робить те, що повинен! Це означає, що він \"правильний\", У цій грі ваш код \"правильний\", коли черепаха потрапляє до ставка. Однак існує не один \"правильний\" спосіб зробити це. Скажімо, черепасі потрібно йти прямо, щоб дістатися до водойми.
Ось один правильний код:
Запустити:
⇧ йти вперед ⇧
⇧ йти вперед ⇧
⇧ йти вперед ⇧
⇧ йти вперед ⇧
⇧ йти вперед ⇧
Чи є цей код правильним?
Так, черепаха потрапить у ставок, отдже він правильний.
Чи є цей код найкращим для цього завдання?
Ні. Хороший код також повинен бути ефективним: він повинен виконувати завдання за допомогою якомога меншої кількості коду (мінімум блоків). Черепаха також повинна пройти найбільш прямий шлях. Звичайно, на даний момент існує лише один маршрут, але, як ми побачимо в наступному прикладі, іноді існує більше однієї короткої відповіді.
Як можна виконати одне і те ж завдання з меншою кількістю блоків?
Цикл повторюватиме те, що ви вкладете всередину, скільки завгодно разів.
Як можна виконати теж саме за допомогою циклу?
Кращий код буде виглядати так:
Запустити:
↺ повторити 5 раз(ів) ↺
⇧ йти вперед ⇧
'Цей код має і інші переваги. Бачите які? Скажімо, ставок знаходився не за 10, а за 100 кроків.
Що потрібно змінити, щоб перемістити черепаху на 100 кроків замість 10?
Замість того, щоб додавати 90 разів блок \"йти вперед\", вам потрібно змінити лише одне: число у блоці циклу. Цей код хороший тим, що він правильний, ефективніший і його легко виправити / змінити.
Запустити:
↺ повторити 100 раз(ів) ↺
⇧ йти вперед ⇧
Який тип циклічного блоку масштабується навіть легше аніж цикл “повторити”?
Цикл \"виконувати до\", Він масштабується легше, ніж блок повторення, оскільки для 5 кроків вперед, 100 кроків вперед або навіть 1000 кроків вперед код буде однаковим:
Запустити:
↺ до ставка ↺
⇧ йти вперед ⇧
Інший приклад: чи можете ви зробити цей код кращим?
Тут черепасі потрібно піднятися \"сходами\", щоб дістатися до ставка. Нижче наведено деякий код, щоб отримати бажаний результат. Це код правильний, але не дуже хороший. Чи можете ви зробити його кращим? Пам'ятайте, хороший код повинен бути правильним, ефективним і його має бути легко виправити / змінити.
Запустити:
⇧ йти вперед ⇧
← повернути ліворуч ←
⇧ йти вперед ⇧
↑ повернути праворуч ↑
⇧ йти вперед ⇧
← повернути ліворуч ←
⇧ йти вперед ⇧
↑ повернути праворуч ↑
⇧ йти вперед ⇧
← повернути ліворуч ←
⇧ йти вперед ⇧
Відповідь
В цьому коді ми повторюємо блоки “йти вперед + повернути праворуч + йти вперед + повернути ліворуч” знову і знову. Код буде коротшим і більш ефективним, якщо ми помістимо ці блоки у цикл.
Запустити:
↺ до ставка ↺
⇧ йти вперед ⇧
← повернути ліворуч ←
⇧ йти вперед ⇧
↑ повернути праворуч ↑
Як можна адаптувати код?
Ось трохи інші сходи. Як ви можете змінити свій код, щоб використовувати його тут?
Відповідь
Ви могли б зберегти свій старий код: він зробить те саме, і черепаха все одно дістанеться до водойми. У цьому випадку черепаха буде намагатися рухатися вгору і ударятиметься об стіну, а потім буде продовжувати рухатися. Але черепаха в такому разі йде “обхідним” шляхом, намагаючись піднятися вгору, коли це не вдається. Натомість ви можете додати \"йти вперед\" двічі всередині циклу, як показано нижче. Як бачите, у цій ситуації мати найкоротший робочий код - не обов’язково найкраще рішення, оскільки черепаха витратить більше часу, щоб дістатися до ставка.
Запустити:
↺ до ставка↺
⇧ йти вперед ⇧
⇧ йти вперед ⇧
← повернути ліворуч ←
⇧ йти вперед ⇧
⇧ йти вперед ⇧
↑ повернути праворуч ↑
Підсумок
Створюйте код з задоволенням з Blockly! Старайтеся робити хороший код - правильний, ефективний і такий, який легко виправити / змінити.
Загальна Стратегія
Спочатку створіть шлях лише з простих спрямованих кроків (таких як йти вперед, повернути тощо).
Тоді перевірте, чи не повторюються послідовності, які можна вкласти в цикли. Якщо послідовності подібні, але не ідентичні, перевірте, чи не можна додати кроки до коротшої послідовності без наслідків - таких як, наприклад, врізатись у стіну, щоб ці рівні послідовності могли бути замінені тотожним циклом, який виконується стільки разів, скільки потрібно.
Цикли
У Прогулянці Черепахи є 2 типа циклів.
повторити [X] раз(ів)
Цикл виконується фіксовану кількість разів, незалежно від того, що відбувається під час його виконання.
до ставка, виконати...
Цикл виконується до тих пір, поки черепаха не дістанеться до ставка.
Гніздування
Ви можете вкласти цикли всередину інших циклів або навіть умову Якщо ... То ... (Інакше) всередині циклу.
Способи Зменшити Необхідну Кількість Блоків
Щоб зробити кращий, коротший код, спробуйте наступне (клікніть для прикладів):
Якщо дії повторюються, помістіть їх у цикл.
У Прогулянці 3, як можна використовувати цикл, щоб зменшити кількість блоків?
Використовуйте цикл, щоб повторювати дії \"йти вперед + повернути ліворуч + йти вперед + повернути праворуч\",
Рухайтесь по Спіралі
Прогулянку 8 можна вирішити за допомогою лише 4 блоків. Як?
Щоб дістатися до ставка, черепасі дійсно потрібно лише рухатися вперед і робити правильні повороти, і ці дії можуть бути вкладені всередину повторюваних циклів. Не має значення, якщо перший раз черепаха поверне праворуч і вріжеться у стіну: наступні рази, коли вона буде повертати праворуч, вона зможе рухатися вперед. Можна сприймати цей рух як спіраль, що повертається лише в одному напрямку (вправо або вліво) і рухається вперед.
Рух Сходами
Прогулянку 9 можна вирішити за допомогою лише 6 блоків. Як?
Черепасі потрібно дістатися від нижнього правого кута до лівого верхнього. Вона не може рухатися по діагоналі, тому повинна слідувати за схемою сходів (у цьому випадку ліворуч, вгору, ліворуч, вгору). Навіть якщо шлях для перетину не є ідеальними сходами, це спрацює. Знову ж таки, не має значення, чи врізається черепаха в стіни по дорозі.
Об’єднайте Спіралі та Сходи
Прогулянку 12 можна вирішити за допомогою лише 9 блоків. Як?
Спочатку дотримуйтесь “спіральної” схеми. Тобто всередині циклу повертайте в одному напрямку (праворуч) і рухатися вперед якомога більше (обирайте велике число, в цьому випадку підходить 5 - знову ж таки, не має значення, чи врізається черепаха в стіни по дорозі).
Тепер черепаха може рухатись за схемою «Сходи», навіть якщо шлях до ставка не має ідеальної форми сходів. Кілька разів рухайтесь ліворуч і вгору, щоб дістатися до водойми.
Використовуйте блоки \"якщо можна іти\",
Прогулянку 5 можна вирішити за допомогою лише 4 блоків. Як?
Об’єднайте блоки “виконувати до ставка” та \"якщо можна іти направо\", щоб черепаха повертала праворуч, коли може, але в іншому випадку продовжувала рухатися вперед..
Різні лабіринти
Будь ласка, спробуйте лабіринти з нашого широкого кола заготовок. Деякі з них мають лише один коридор, а інші розгалужуються. У деяких є пастки та з'єднані двері, ключі для відмикання дверей, відкриті простори з перешкодами або лабіринти.
Деякі Прогулянки Черепахи Схожі на Лабіринти
Наприклад, Прогулянки 36, 44, 48 - це дуже прості лабіринти.
Уявіть, що вас помістили в лабіринт, де стіни навколо вас перекривають ваше місцеперебування - яку стратегію втечі ви можете застосувати?
Проста стратегія полягає у тому, щоб рухатись вздовж правої або лівої стіни.
Як запрограмувати таку стратегію?
Підказка: для цього потрібно всього 6 блоків, ми дамо вам змогу розібратися у цьому самостійно.
У деяких прогулянках рух вздовж однієї стіни веде черепаху до пастки, а рух вздовж іншої стіни - до ставка, наприклад, у прогулянці 44.
Коли ця стратегія зовсім не підходить?
Прикладом є прогулянка 10. Якщо черепаха йде вздовж лівої або правої стіни, вона ніколи не дійде до ставка.
В чому математична проблема?
Цей метод зазнає невдачі, коли є замкнутий цикл, а черепаха знаходиться всередині циклу, а ставок - зовні, або навпаки. В обох випадках черепаха ніколи не дійде до ставка, слідуючи вздовж однієї стіни.
Що можна зробити, коли стратегія зазнає невдачі?
У таких випадках можна спробувати виконати інші кроки до того як черепаха почне рухатись вздовж стіни, або обрати іншу стіну, або ж певний час рухатись вздовж стіни, а потім виконати інші кроки, щоб дістатися до ставка.
Ви бачите прогулянки, які можна запрограмувати таким чином?
Слідкуйте за оновленнями або підписуйтесь на них: