วิธีการที่ง่ายที่สุดที่ใช้ในการโปรแกรมหุ่นยนต์คาเรลคือใช้ข้อความในการระบุลำดับของคำสั่งที่ต้องการให้หุ่นยนต์ทำงาน จากภาพโปรแกรมของคาเรลข้างล่าง ข้อความทางด้านซ้ายคือตัวโปรแกรมที่ใช้ควบคุมคาเรล ส่วนภาพทางด้านขวาคือโลกของคาเรลที่กำลังทำงาน
กดปุ่ม "Run" เพื่อสั่งโปรแกรมทำงาน โดยทั่วไปโปรแกรมจะเขียนในแอปพลิเคชันพิเศษที่เรียกว่า Integrated Development Enviroment (IDE) และโปรแกรม Karel ส่วนใหญ่เขียนใน IDE ที่เรียกว่า PyCharm เช่นเดียวกับ IDE นี้ ซึ่งจะช่วยให้ผู้อ่านนี้มีความสามารถในการใช้งานโปรแกรมเพื่อช่วยให้เห็นว่าสิ่งต่าง ๆ ทำงานอย่างไรในขณะที่คุณเรียนรู้
โครงสร้างของโปรแกรมสามารถแบ่งได้เป็นหลายส่วน จากตัวอย่างโปรแกรมข้างบนนั้น ส่วนแรกของโปรแกรม ประกอบไปด้วยบรรทัดดังต่อไปนี้:
# File: FirstKarel.py # ----------------------------- # The FirstKarel program defines a "main" # function with three commands. These commands cause # Karel to move forward one block, pick up a beeper # and then move ahead to the next corner.
บรรทัดกลุ่มนี้คือคอมเมนต์ comment เป็นส่วนที่ผู้เขียนโปรแกรม มักจะใช้เขียนอธิบายเกี่ยวกับรายละเอียดของโปรแกรมแบบคร่าวๆ ไม่ได้มีผลกับการทำงานของโปรแกรม เนื่องจากโปรแกรมคาเรลนี้ ถูกพัฒนาด้วยภาษาไพธอน (Python) การใช้เครื่องหมาย # นำหน้า จะทำให้ข้อความที่ตามหลังเครื่องหมายนี้ ไม่ถูกนำไปประมวลผล จากข้อความในคอมเมนต์ตัวอย่างนี้ ทำให้รู้ว่าชื่อของโปรแกรมนี้คือ FirstKarel
from karel.stanford import *
บรรทัดนี้จะเป็นการบอก IDE ให้เรียกใช้คำสั่งต่างๆ ที่อยู่ในไลบราลี karel.stanford ซึ่งเป็นที่เก็บคำสั่งต่างๆ ทั้งหมดที่ใช้ควบคุมการทำงานของหุ่นยนต์คาเรล
ส่วนสุดท้ายของโปรแกรม Karel ประกอบด้วยคำนิยามฟังก์ชั่น ดังต่อไปนี้:
def main():
move()
pick_beeper()
move()
ซึ่งส่วนสุดท้ายของโปรแกรมนี้ เป็นส่วนที่ใช้เรียงลำดับคำสั่งต่างๆ สำหรับการทำงานของโปรแกรมที่ชื่อ FirstKarel
ในหนึ่งโปรแกรมนั้น สามารถรวมคำสั่งหลายๆ คำสั่งไว้เป็นฟังก์ชัน โดยฟังก์ชันแรกที่ IDE จะเริ่มทำงาน จะใช้ชื่อว่า main
และจะใช้คำว่า def
ที่ย่อมาจากคำว่า define ในการประกาศชื่อฟังก์ชัน
def main():
body of the function definition
ส่วนข้อความที่อยู่ด้านล่างของการประกาศฟังก์ชัน จะต้องทำการย่อหน้าด้วยการกดปุ่มเว้นวรรค (Spacebar) และทุกๆ คำสั่งที่อยู่ภายในการประกาศฟังก์ชันนี้ จะต้องเรียงให้ตรงกัน โปรแกรม IDE ถึงจะสามารถสั่งให้หุ่นยนต์ทำงานได้อย่างถูกต้อง จากตัวอย่างโปรแกรม FirstKarel หุ่นยนต์ถูกโปรแกรมให้เดินหน้า - หยิบเหรียญ - เดินหน้า แล้วสิ้นสุดการทำงาน
move()
pick_beeper()
move()
ดังนั้นหากกำหนดระดับเริ่มต้นของโลกตรงกับตัวอย่างที่ให้ไว้ใน บทที่ 1, Karel เริ่มเคลื่อนที่ครั้งแรกย้ายไปข้างหน้าในมุมที่มีเหรียญ และหยิบเหรียญนั้น ในท้ายที่สุดก็ย้ายไปที่มุมผนังดังแสดงในแผนภาพก่อนและหลัง:
โปรแกรม FirstKarel ที่กำหนดไว้ข้างต้นนั้น แค่ทำให้รู้ว่าหุ่นยนต์สามารถทำงานได้ ถ้ากำหนดโจทย์ให้คาเรลทำการหยิบเหรียญจากตำแหน่งพิกัด (2, 1) ไปวางที่ตำแหน่งพิกัด (5, 2) ก็ต้องทำการเขียนโปรแกรมเพิ่มเติมเพื่อควบคุมหุ่นยนต์คาเรลให้ไปวางเหรียญตามที่่กำหนด
สามคำสั่งแรกของโปรแกรม จะทำให้หุ่นยนต์ไปหยุดอยู่หน้ากำแพง หุ่นยนต์ต้องทำการเลี้ยวซ้าย 3 ครั้งแทนการเลี้ยวขวา ผู้ใช้สามารถสร้างฟังก์ชันใหม่เพื่อให้หุ่นยนต์เลี้ยวขวาโดยเฉพาะได้ ในบทนี้ ซึ่งจะเดินหน้า เลี้ยวขวา (ซึ่งหุ่นยนต์ตัวนี้ ไม่สามารถเลี้ยวขวาได้ ต้องทำการเลี้ยวซ้าย 3 ครั้งแทน) เดินหน้า เดินหน้า วางเหรียญ เดินหน้า สิ้นสุดการทำงาน ซึ่งสามารถระบุคำสั่งต่อจากบรรทัดสุดท้ายในฟังก์ชัน main ได้
move()
pick_beeper()
move()
ซึ่งสามารถระบุคำสั่งต่อจากบรรทัดสุดท้ายในฟังก์ชัน main ได้