Gaya yang paling mudah dari program Karel menggunakan teks untuk menentukan urutan perintah terbina dalam yang perlu dilaksanakan apabila program tersebut run . Pertimbangkan program Karel yang mudah di bawah. Teks di sebelah kiri adalah program. Keadaan dunia Karel ditunjukkan di sebelah kanan:
Tekan butang "Jalankan" untuk melaksanakan program ini. Program biasanya ditulis dalam aplikasi khas yang dipanggil Persekitaran Pembangunan Bersepadu (IDE) dan kebanyakan program Karel ditulis dalam IDE yang dipanggil Eclipse. Seperti IDE, pembaca ini mempunyai keupayaan untuk melaksanakan program untuk membantu andalihatbagaimana perkara berfungsi seperti yang anda pelajari.
Program ini terdiri daripada beberapa bahagian. Bahagian pertama terdiri daripada baris berikut:
/* * Fail: KarelPertama.java * ---------------------- * Program KarelPertama mentakrifkan kaedah " run " d * engan tiga arahan. Perintah ini menyebabkan Karel * ke move ke depan satu blok, mengambil beeper dan k * emudian move ke depan ke sudut seterusnya. */
Garis-garis ini adalah contoh a komen , yang hanya teks yang direka untuk menjelaskan operasi program kepada pembaca manusia. Komen di kedua-dua Karel dan Jawa bermula dengan watak-watak /* dan berakhir dengan watak-watak */ . Di sini, komen bermula pada baris pertama dan berakhir beberapa baris kemudian. Bintang-bintang pada baris individu yang membuat teks komen tidak diperlukan, tetapi memudahkan para pembaca manusia untuk melihat sejauh mana komentar tersebut. Dalam program mudah, komen yang luas mungkin kelihatan konyol kerana kesan program itu jelas, tetapi ia amat penting sebagai cara mendokumentasikan reka bentuk program yang lebih besar dan lebih kompleks. Bahagian kedua program ialah garis:
import stanford.karel.*;
Garis ini meminta penyertaan semua definisi dari stanford.karel perpustakaan. Perpustakaan ini mengandungi definisi asas yang diperlukan untuk menulis program Karel, seperti definisi operasi standard move() dan pickBeeper() . Kerana anda sentiasa memerlukan akses kepada operasi ini, setiap program Karel yang anda tulis akan menyertakan perintah import ini sebelum anda menulis program yang sebenarnya.
Bahagian akhir program Karel terdiri daripada takrif program berikut:
public class KarelPertama extends Karel {
public void run() {
move();
pickBeeper();
move();
}
}
Untuk memahami definisi ini, berguna untuk melihat lebih teliti pada strukturnya. Takrif program KarelPertama terdiri daripada baris yang bermula dengan public class dan merangkumi segala-galanya antara penjepit kerinting pada akhir garisan itu dan penutup penutup yang sama pada baris terakhir program. Baris tunggal yang memperkenalkan kelas baru dipanggil kepala definisi; kod antara pendakap dipanggil badan .
Dalam pengaturcaraan, sering sangat berguna untuk berfikir tentang definisi tertentu dan badannya sebagai idea yang boleh dipisahkan. Dalam contoh ini, definisi KarelPertama mempunyai bentuk berikut, di mana seluruh badan takrif boleh diletakkan di dalam fikiran anda buat masa ini:
public class KarelPertama extends Karel {
badan definisi program
}
Barisan header di bahagian atas memberitahu anda sedikit tentang program KarelPertama, bahkan sebelum anda melihat untuk melihat apa yang terdapat dalam badan. Frasa public class memulakan definisi program. Frasa extends Karel digunakan untuk menunjukkan bahawa KarelPertama adalah program Karel.
Sekarang mari kita lihat badan program KarelPertama. Tubuh itu terdiri daripada garisan berikut:
public void run() {
move();
pickBeeper();
move();
}
Garis-garis ini mewakili definisi yang baru kaedah , yang menentukan urutan langkah-langkah yang perlu untuk bertindak balas terhadap arahan. Seperti dalam program KarelPertama sendiri, definisi kaedah terdiri daripada dua bahagian yang boleh dipertimbangkan secara berasingan: Baris pertama merupakan pengepala kaedah dan kod antara pendakap kerinting adalah badan kaedah. Jika anda mengabaikan badan untuk masa sekarang, definisi kaedah kelihatan seperti ini:
public void run() {
badan definisi kaedah
}
Dua perkataan pertama dalam pengepala kaedah, public dan void , adalah sebahagian daripada struktur sintaksis Jawa, dan anda harus berasa bebas untuk mengabaikannya pada ketika ini. Perkataan berikutnya pada baris header menentukan nama kaedah baru, yang dalam kes ini adalah kaedah run . Mendefinisikan kaedah bermakna bahawa Karel kini boleh bertindak balas terhadap arahan baru dengan nama itu. The run Perintah memainkan peranan khas dalam program Karel. Apabila anda memulakan program Karel ia membuat contoh Karel baru, menambah bahawa Karel ke dunia yang anda tentukan, dan kemudian mengeluarkan arahan run . Kesan run dalam program ini ditakrifkan oleh badan kaedah run , yang merupakan urutan arahan yang robot akan dilaksanakan dengan teratur. Sebagai contoh, kaedah kaedah run untuk program KarelPertama ialah:
move();
pickBeeper();
move();
Oleh itu, jika keadaan permulaan dunia sepadan dengan contoh yang diberikan dalam Bab 1, Karel pertama move ke hadapan ke sudut yang mengandungi beeper , mengambil yang beeper , dan akhirnya move ke hadapan ke sudut tepat sebelum dinding, seperti yang ditunjukkan dalam rajah sebelum dan selepas berikut:
Program KarelPertama yang ditakrifkan di atas tidak begitu banyak lagi. Mari cuba membuatnya lebih menarik. Katakan bahawa matlamatnya bukan semata-mata untuk mendapatkan Karel untuk mengambil beeper tetapi kepada move beeper dari kedudukan awalnya pada lajur ke-2 dan baris ke-1 ke arah tengah langkan. Oleh itu, tugasan seterusnya anda adalah untuk menentukan program Karel baru yang menyelesaikan tugas yang digambarkan dalam rajah ini:
Tiga perintah pertama dalam program baru-yang move ke depan, mengambil beeper , dan kemudian move sampai dengan langkan-sama seperti sebelumnya:
move();
pickBeeper();
move();
Dari sini, langkah seterusnya adalah belok kiri untuk memulakan memanjat tebing. Operasi itu mudah, kerana Karel mempunyai perintah belokKiri dalam repertoar standardnya. Melaksanakan perintah belokKiri pada akhir urutan urutan terdahulu meninggalkan Karel menghadap utara di sudut baris 1 dan lajur ke-3. Jika Karel kemudian melaksanakan arahan move , ia akan move utara untuk mencapai kedudukan berikut:
Dari sini, perkara seterusnya yang perlu anda lakukan ialah mendapatkan Karel berpaling ke kanan supaya ia menghadap ke timur lagi. Walaupun operasi ini secara konseptual semudah mendapatkan Karel untuk menghidupkan kiri, terdapat sedikit masalah: bahasa Karel termasuk turnLeft perintah, tetapi tidak turnRight perintah. Ia seolah-olah anda membeli model ekonomi dan kini telah mendapati bahawa ia kehilangan beberapa ciri penting.
Pada ketika ini, anda mempunyai peluang pertama anda untuk berfikir seperti seorang pengaturcara. Anda mempunyai satu set arahan, tetapi tidak tepat set yang anda perlukan. Apa yang kau boleh buat? Bolehkah anda mencapai kesan perintah belokKanan hanya menggunakan keupayaan yang anda miliki? Jawapannya, sudah tentu, ya. Anda boleh mencapai kesan putar kanan dengan memutar kiri tiga kali. Selepas tiga pusingan kiri, Karel akan menghadap ke arah yang dikehendaki. Dari sini, semua yang anda perlu lakukan adalah program Karel ke move ke pusat tebing, menjatuhkan beeper dan kemudian move ke hadapan ke kedudukan akhir. Berikut adalah pelaksanaan lengkap a Meningkatkan program yang memenuhi keseluruhan tugas: