300000
English | Français | فارسی | 中文 | Українська | Azerbaijani | ខ្មែរ | Tiếng Việt | Bahasa Melayu | Deutsch | O'zbek | РусскийTurtle Walk
Jumlah kemenangan: 131979
Apa itu Blockly?
Blockly ialah cara visual untuk membina kod dengan blok. Ini adalah kaedah terbaik untuk belajar membuat kod dan membuat kod yang baik. Anda boleh membaca lebih lanjut mengenainya here. Anda juga boleh mencuba permainan Blockly untuk kanak-kanak here.
Bagaimana anda bermain?
Di sini, anda akan membuat kod untuk memindahkan penyu ke kolamnya. Untuk melakukan ini, anda menggunakan tetikus anda untuk menyeret blok dari kotak kelabu di tengah, dan sambungkannya ke blok mula. Apabila anda menekan 'Jalankan', ia menjalankan kod yang anda buat di bawah Mula Block. Klik pada butang Penyelesaian untuk melihat salah satu penyelesaian yang mungkin untuk teka-teki, tidak semestinya yang terpendek.
Bagaimana anda menang?
Anda menang apabila kod anda memindahkan penyu ke kolamnya. Permainan ini lebih sukar apabila anda perlu melakukan ini dengan bilangan blok yang terhad.
Untuk Orang yang baru belajar
Apakah kod?
\"Kod\" mungkin terdengar keras, menakutkan, atau misteri, tetapi tidak.
Malah, ia adalah pertaruhan yang selamat bahawa anda menggunakan kod sepanjang masa! Jika anda pernah menggunakan aplikasi, bermain permainan pada skrin, mengklik butang, maka anda telah menggunakan kod. Kod hanyalah senarai arahan yang peranti anda (telefon, tablet, komputer, konsol) tahu cara membaca dan mengikuti.
Blockly membolehkan anda membuat kod dan bermain dengan prinsip pengekodan seperti pemboleh ubah, fungsi, gelung dan banyak lagi. Ini adalah idea yang sama yang digunakan oleh pengaturcara komputer dan pembangun aplikasi / permainan dalam pekerjaan mereka setiap hari.
Apakah kod \"baik\"?
Pertama, kod adalah baik apabila ia melakukan apa yang sepatutnya! Ini bermakna ia \"betul\". Dalam permainan ini, kod anda adalah \"betul\" apabila penyu sampai ke kolam. Walau bagaimanapun, terdapat lebih daripada satu cara \"betul\" untuk melakukan ini. Katakan penyu perlu pergi dalam garis lurus untuk sampai ke kolam.
Berikut adalah satu kod yang betul:
Mula:
⇧ ke depan ⇧
⇧ ke depan ⇧
⇧ ke depan ⇧
⇧ ke depan ⇧
⇧ ke depan ⇧
Adakah kod ini betul?
Ya, penyu akan sampai ke kolam, jadi betul.
Adakah ini kod terbaik untuk tugas ini?
tidak. Kod yang baik juga harus cekap : ia harus melakukan tugas dalam kod (blok paling sedikit) yang sekurang mungkin. Penyu juga harus mengambil laluan ke hadapan yang paling lurus. Sudah tentu, hanya ada satu laluan pada masa ini, tetapi seperti yang akan kita lihat dalam contoh seterusnya, kadang-kadang terdapat lebih daripada satu jawapan pendek.
Bagaimanakah anda boleh melakukan tugas yang sama dengan blok yang kurang?
Blok gelung akan mengulangi apa yang anda masukkan ke dalamnya, seberapa banyak kali yang anda mahukan.
Bagaimanakah anda boleh menggunakan gelung untuk melakukan perkara yang sama?
Kod yang lebih baik akan kelihatan seperti ini:
Mula:
↺ ulangi 5 kali ↺
⇧ ke depan ⇧
Kod ini lebih baik dengan cara lain. Adakah anda melihat bagaimana? Katakan bukannya kolam yang 10 langkah jauhnya, ia adalah 100 langkah jauhnya.
Apa yang perlu anda ubah untuk menggerakkan penyu 100 langkah dan bukannya 10?
Daripada menambah 90 kali blok \"ke depan\", anda hanya perlu menukar satu benda: nombor dalam blok gelung. Kod ini bagus kerana ia betul, lebih cekap, dan mudah diperbaiki / diubah.
Mula:
↺ ulangi 100 kali ↺
⇧ ke depan ⇧
Apakah jenis blok gelung yang akan meningkat lebih mudah daripada blok gelung \"ulangi\"?
Blok gelung \"lakukan sehingga\". Ini skala lebih mudah daripada blok ulangan kerana untuk 5 langkah ke hadapan atau 100 langkah ke hadapan atau bahkan 1000 langkah ke hadapan, kod akan sama:
Mula:
↺ hingga Kolam ↺
⇧ ke depan ⇧
Contoh lain: Bolehkah anda menjadikan kod ini lebih baik?
Di sini, penyu perlu naik \"tangga\" untuk membuatnya ke kolam. Berikut adalah beberapa kod untuk membawanya ke sana. Ia betul, tetapi ia tidak begitu baik. Bolehkah anda menjadikannya lebih baik? Ingat, kod yang baik harus betul, cekap, dan mudah diperbaiki / diubah.
Mula:
⇧ ke depan ⇧
← belok kiri ←
⇧ ke depan ⇧
→ belok kanan →
⇧ ke depan ⇧
← belok kiri ←
⇧ ke depan ⇧
→ belok kanan →
⇧ ke depan ⇧
← belok kiri ←
⇧ ke depan ⇧
Jawapan
Dalam kod, kami mengulangi blok \"ke depan + belok kanan + pergi ke depan + belok kiri\" berulang kali. Kod akan lebih pendek dan lebih cekap jika kita meletakkan blok ini dalam gelung.
Mula:
↺ hingga Kolam ↺
⇧ ke depan ⇧
← belok kiri ←
⇧ ke depan ⇧
→ belok kanan →
Bagaimana anda boleh menyesuaikan kod ini?
Berikut adalah tangga yang sedikit berbeza. Bagaimanakah anda boleh menukar kod anda untuk menggunakannya di sini?
Jawapan
Anda boleh menyimpan kod lama anda: ia akan melakukan perkara yang sama, dan penyu masih akan sampai ke kolam. Dalam kes ini, penyu akan cuba bergerak ke atas dan terhantuk dinding, kemudian terus bergerak. Tetapi penyu mengambil laluan yang tidak terus, cuba bergerak apabila tidak dapat. Sebaliknya, anda boleh menambah \"ke depan\" dua kali di dalam gelung, seperti yang ditunjukkan di bawah. Seperti yang anda lihat, dalam versi ini, mempunyai kod kerja terpendek tidak semestinya penyelesaian terbaik, kerana penyu mengambil masa yang lebih lama untuk sampai ke kolam.
Mula:
↺ hingga Kolam ↺
⇧ ke depan ⇧
⇧ ke depan ⇧
← belok kiri ←
⇧ ke depan ⇧
⇧ ke depan ⇧
→ belok kanan →
Ringkasan
Bersenang-senang membuat kod dengan Blockly! Pastikan anda cuba membuat kod yang baik yang betul, cekap dan mudah diubah atau diperbaiki.
Strategi Umum
Mulakan dengan pengaturcaraan laluan dengan hanya langkah arah yang mudah (iaitu ke depan, belok).
Kemudian, semak urutan berulang yang boleh dimasukkan ke dalam gelung. Jika urutan serupa tetapi tidak sama, periksa sama ada langkah-langkah boleh ditambah ke urutan yang lebih pendek tanpa kesan, seperti terhantuk ke dinding supaya urutan yang kini sama boleh digantikan dengan gelung sama sendiri, dilaksanakan seberapa banyak kali yang diperlukan.
Gelung
Terdapat 2 jenis blok gelung dalam Jalan Penyu.
Ulangi [X] kali
Gelung dilaksanakan beberapa kali tetap, tidak kira apa yang berlaku semasa melaksanakannya.
Sehingga sampai ke kolam, buat...
Gelung dilaksanakan sehingga penyu sampai ke kolam.
Bersarang
Anda boleh menyarangkan gelung di dalam gelung lain, atau bahkan jika... Kemudian... (Lain-lain) keadaan di dalam gelung.
Helah untuk Memerlukan Lebih Sedikit Blok
Untuk membuat kod yang lebih baik dan lebih pendek, cuba yang berikut (Klik untuk contoh):
Jika tindakan berulang, letakkannya di dalam gelung.
Dalam Jalan 3, bagaimana anda boleh menggunakan gelung untuk menggunakan blok yang lebih sedikit?
Gunakan gelung untuk mengulangi tindakan \"ke depan + belok kiri + ke depan + belok kanan\".
Bergerak dalam Lingkaran
Jalan 8 boleh diselesaikan dengan hanya 4 blok. Bagaimana?
Untuk sampai ke kolam, penyu hanya perlu pergi ke hadapan dan belok kanan, dan tindakan ini boleh disarangkan di dalam gelung berulang. Tidak kira jika penyu belok kanan dan cuba berlari ke dinding pada kali pertama : pada masa berikut ia bertukar ke kanan, ia akan dapat bergerak ke hadapan. Kita boleh menganggap pergerakan ini sebagai lingkaran, hanya beralih ke satu arah (kanan atau kiri) dan bergerak ke hadapan.
Bergerak di Tangga
Jalan 9 boleh diselesaikan dengan hanya 5 blok. Bagaimana?
Penyu perlu pergi dari sudut kanan bawah ke sudut kiri atas. Ia tidak boleh bergerak secara pepenjuru secara langsung jadi ia mesti mengikut corak tangga (dalam kes ini kiri, atas, kiri, ke atas). Walaupun laluan untuk menyeberang bukan tangga yang sempurna, ini akan berfungsi. Sekali lagi, tidak kira jika penyu memukul dinding di sepanjang jalan.
Gabungkan Lingkaran dan Tangga
Jalan 12 boleh diselesaikan dengan hanya 9 blok. Bagaimana?
Pertama, ikuti corak \"Lingkaran\". Iaitu, di dalam gelung belok dalam satu arah (kanan) dan bergerak ke hadapan sebanyak mungkin (pilih nombor yang tinggi, di sini 5 berfungsi - sekali lagi, ia tidak menyakiti penyu untuk memukul dinding).
Sekarang, penyu boleh mengikuti corak \"Tangga\", walaupun laluan ke kolam bukanlah laluan berbentuk tangga yang sempurna. Berulang kali bergerak ke kiri dan sehingga ke kolam.
Gunakan blok \"jika laluan\".
Jalan 5 boleh diselesaikan dengan hanya 4 blok. Bagaimana?
Gabungkan blok \"lakukan sehingga ke kolam\" dengan blok \"jika jalan betul\" supaya penyu berpusing tepat apabila ia boleh tetapi sebaliknya terus ke depan.
Cabaran yang berbeza
Sila cuba cabaran dari pelbagai jenis jalan kami. Sebahagian daripada mereka hanya mempunyai koridor tunggal, sementara laluan yang lain. Ada yang mempunyai perangkap dan pintu yang disambungkan, kunci untuk membuka pintu, ruang terbuka dengan halangan, atau labirin untuk menyeberang.
Beberapa Jalan Penyu Kelihatan Seperti labirin
Sebagai contoh, Jalan 36, 44, 48 adalah labirin yang sangat mudah.
Bayangkan anda dibuang ke dalam labirin di mana dinding di sekeliling anda menghalang penglihatan anda - apakah strategi melarikan diri yang boleh anda gunakan?
Strategi mudah adalah mengikuti sama ada dinding kanan atau kiri.
Bagaimanakah anda memprogram strategi sedemikian?
Petunjuk: Ia hanya memerlukan 6 blok, kami akan membiarkan anda memikirkannya.
Bagi sesetengah Jalan, mengikuti satu dinding membawa penyu ke dalam perangkap manakala yang lain membawanya ke kolam, contohnya. Jalan 44.
Bilakah strategi ini gagal sepenuhnya?
Contohnya ialah Jalan 10. Sama ada penyu mengikut dinding kiri atau kanan, ia tidak akan sampai ke kolam.
Apakah isu matematik?
Kaedah ini gagal apabila terdapat gelung tertutup, dan penyu berada di dalam gelung dan kolam berada di luar atau sebaliknya. Dalam kedua-dua kes, penyu tidak akan sampai ke kolam apabila mengikuti satu dinding.
Apa yang boleh anda lakukan apabila strategi ini gagal?
Dalam kes ini, anda boleh cuba melakukan langkah-langkah lain sebelum mengikuti dinding, atau menukar dinding, atau mengikuti dinding untuk satu masa dan kemudian melakukan beberapa langkah lain untuk sampai ke Kolam.
Adakah anda melihat jalan-jalan yang boleh diprogramkan dengan cara ini?
Ikuti atau langgan untuk kemas kini: