karel deep
კარელი - მეორე თავი
ძირითადი ბრძანებები და კარელის პროგრამირების საფუძვლები
მეორე თავი: ძირითადი ბრძანებები
ამ თავში გავეცნობით კარელის ძირითად ბრძანებებს, რომლებიც საშუალებას მოგვცემს მარტივი ამოცანების შესრულება.
კარელის ძირითადი ბრძანებები
კარელს აქვს რამდენიმე ძირითადი ბრძანება, რომელთა დახმარებით შეუძლია სამყაროში მოძრაობა და მოქმედება:
- move() - კარელი გადაადგილდება ერთი უჯრით წინ
- turnLeft() - კარელი მარცხნივ მობრუნდება
- pickBeeper() - კარელი აიღებს ბიპერს იმ უჯრიდან, რომელზეც იმყოფება
- putBeeper() - კარელი დადებს ბიპერს იმ უჯრაზე, რომელზეც იმყოფება
პროგრამის სტრუქტურა
კარელის პროგრამა იწყება run ფუნქციით, რომელიც შეიცავს ყველა იმ ბრძანებას, რაც კარელმა უნდა შეასრულოს:
function run() {
move();
move();
pickBeeper();
turnLeft();
move();
}
move();
move();
pickBeeper();
turnLeft();
move();
}
კარელის მდგომარეობა
კარელს აქვს გარკვეული მდგომარეობა, რომელიც განსაზღვრავს მის შესაძლებლობებს:
- პოზიცია - სად იმყოფება კარელი სამყაროში
- მიმართულება - რომელ მიმართულებას უყურებს (აღმოსავლეთი, დასავლეთი, ჩრდილოეთი, სამხრეთი)
- ბიპერების რაოდენობა - რამდენი ბიპერი აქვს ჩანთაში
პირობითი ბრძანებები
კარელს შეუძლია შეამოწმოს გარკვეული პირობები და მათ მიხედვით მიიღოს გადაწყვეტილება:
- frontIsClear() - აბრუნებს true-ს, თუ წინ არ არის დაბრკოლება
- leftIsClear() - აბრუნებს true-ს, თუ მარცხნივ არ არის დაბრკოლება
- rightIsClear() - აბრუნებს true-ს, თუ მარჯვნივ არ არის დაბრკოლება
- beepersPresent() - აბრუნებს true-ს, თუ მიმდინარე უჯრაზე არის ბიპერი
- noBeepersPresent() - აბრუნებს true-ს, თუ მიმდინარე უჯრაზე არ არის ბიპერი
- beepersInBag() - აბრუნებს true-ს, თუ კარელს აქვს ბიპერები ჩანთაში
- noBeepersInBag() - აბრუნებს true-ს, თუ კარელს არ აქვს ბიპერები ჩანთაში
- facingNorth() - აბრუნებს true-ს, თუ კარელი ჩრდილოეთისკენ არის მიმართული
- facingSouth() - აბრუნებს true-ს, თუ კარელი სამხრეთისკენ არის მიმართული
- facingEast() - აბრუნებს true-ს, თუ კარელი აღმოსავლეთისკენ არის მიმართული
- facingWest() - აბრუნებს true-ს, თუ კარელი დასავლეთისკენ არის მიმართული
შენიშვნა: კარელის ყველა ბრძანება მთავრდება ფრჩხილებით და მძიმით, რადგან ეს არის JavaScript ფუნქციები.
მარტივი მაგალითი
ქვემოთ მოცემული პროგრამა კარელს აიღებს ბიპერს, გადაადგილდება ორი უჯრით წინ და დადებს ბიპერს:
function run() {
pickBeeper();
move();
move();
putBeeper();
}
pickBeeper();
move();
move();
putBeeper();
}
კოდის რედაქტორი
შედეგი:
პროგრამა ჯერ არ გაშვებულა...
Comments
Post a Comment