THINK JAVA: CÁCH SUY NGHĨ NHƯ NHÀ KHOA HỌC MÁY TÍNH - Trang 94

* 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();

}

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.