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

public static void

makeFlowers(ActorWorld world,

int

n) {

for

(

int

i = 0; i<n; i++) {

world.add(

new

EternalFlower());

}

}

}

đây m i th c có l đ u quen thu c.

ẽ ề

ộ TermiteRunner t o nên m t

ộ ActorWorld v i

20 EternalFlowers và hai Termite.
M i

ỗ EternalFlower là m t

ộ Flower ghi đè lên act sao cho các bông hoa không đ c tô th m đi.

ượ

public class

EternalFlower

extends

Flower {

public void

act() {

}

}

N u b n ch y

ế

ạ TermiteRunner.java, b n s th y hai con m i di chuy n ng u nhiên quanh nh ng bông

ạ ẽ ấ

hoa.
MyTermite.java gi i thi u nh ng ph

ng th c t

ng tác v i các bông hoa. Sau đây là l i khai báo l p

ươ

ứ ươ

này:

public class

MyTermite

extends

Termite {

public void

act() {

if

(getGrid() ==

null

)

return

;

if

(seeFlower()) {

pickUpFlower();

}

if

(hasFlower()) {

dropFlower();

}

if

(canMove()) {

move();

}

randomTurn();

}

}

MyTermite m r ng

ở ộ Termite và ghi đè lên act. N u

ế MyTermite th y m t bông hoa, nó s nh t lên. N u

ế

có bông hoa r i, thì nó s b l i bông hoa này.

ẽ ỏ ạ

10.2 Con m i c a Langton

ố ủ

Con ki n c a Langton là m t mô hình đ n gi n v bi u hi n c a ki n nh ng hi n th nh ng bi u hi n

ế ủ

ơ

ề ể

ệ ủ

ế

ư

ph c t p đáng ng c nhiên. Con ki n s ng trong m t l

i ô nh

ứ ạ

ế ố

ộ ướ

ư GridWorld trong đó t ng ô có màu tr ng

ho c đen. Ki n di chuy n theo nh ng quy t c sau:

ế