* Tạo nên bông hoa trừ khi con mối đã có sẵn một bông.
*/
public void
createFlower();
/**
* Bỏ lại bông hoa tại vị trí con mối đang đứng.
*
* Lưu ý: trên mỗi ô chỉ có được một vật, bởi vậy hiệu ứng
* của việc đánh rơi bông hoa sẽ được hoãn lại đến khi con mối di chuyển.
*/
public void
dropFlower();
/**
* Ném bông hoa vào chỗ mà con mối đang hướng tới.
*/
public void
throwFlower();
/**
* Nhặt bông hoa tại vị trí con mối hướng tới, nếu có,
* và nếu con mối chưa mang theo hoa.
*/
public void
pickUpFlower();
Có nh ng ph
ng th c mà
ữ
ươ
ứ
Bug cung c p m t l i đ nh nghĩa này và
ấ
ộ ờ ị
Termite l i cung c p cái khác. Trong
ạ
ấ
tr
ng h p nh v y, ph
ng th c
ườ
ợ
ư ậ
ươ
ứ Termite sẽ ghi đè lên ph ng th c
ươ
ứ Bug.
Ch ng h n,
ẳ
ạ Bug.canMove tr l i
ả ạ true n u có m t bông hoa v trí k ti p, b i v y các có th
ế
ộ
ở ị
ế ế
ở ậ
ể Bug có th
ể
gi m lên
ẫ
Flower. Còn Termite.canMove s tr l i
ẽ ả ạ false n u có b t kì đ i t ng nào khác v trí k ti p,
ế
ấ
ố ượ
ở ị
ế ế
nên bi u hi n c a
ể
ệ ủ Termite s khác đi.
ẽ
M t ví d khác, các đ i t
ng con m i có m t phiên b n
ộ
ụ
ố ượ
ố
ộ
ả turn trong đó nh n tham s là s nguyên ch
ậ
ố
ố
ỉ
đ góc. Sau cùng, đ i t
ng con m i có
ộ
ố ượ
ố
randomTurn, v i tác d ng quay ng u nhiên qua trái ho c ph i
ớ
ụ
ẫ
ặ
ả
v i góc quay 45 đ .
ớ
ộ
Sau đây là mã l nh t file
ệ
ừ
TermiteRunner.java:
public class
TermiteRunner {
public static void
main(String[] args) {
ActorWorld world =
new
ActorWorld();
makeFlowers(world, 20);
Termite alice =
new
Termite();
world.add(alice);
Termite bob =
new
Termite();
bob.setColor(Color.blue);
world.add(bob);
world.show();
}