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

}

}

Ba dòng đ u tiên là các câu l nh

ệ import; chúng li t kê các l p trong GridWorld đ c dùng đ n

ượ

ế ở

ch

ng trình này. B n có th tìm tài li u cho nh ng l p này

ươ

t i

http://www.greenteapress.com/thinkapjava/javadoc/gridworld/.

Cũng nh nh ng ch

ng trình khác ta đã g p, BugRunner đ nh nghĩa l p có nhi m v cung c p ph

ng

ư

ươ

ươ

th c

ứ main. Dòng đ u tiên trong

main t o ra m t đ i t

ng

ộ ố ượ ActorWorld. đây,

new là t khóa Java đ

t o nên đ i t

ng m i.

ố ượ

Hai dòng k t ti p t o ra m t Bug (con b ) và m t Rock (t ng đá), r i b sung chúng vào

ế ế ạ

ồ ổ

world (môi

tr

ng). Dòng cu i cùng hi n th môi tr

ng lên màn hình.

ườ

ườ

Hãy m t p tin

ở ậ

BugRunner.java đ ch nh s a và thay dòng này:

ể ỉ

world.add(

new

Bug());

b ng các dòng này:

Bug redBug =

new

Bug();

world.add(redBug);

Dòng đ u tiên gán Bug cho m t bi n có tên

ế

redBug; ta có th dùng

redBug đ kích ho t nh ng ph

ng

ươ

th c c a Bug. hãy th l nh này:

ứ ủ

ử ệ

System.out.println(redBug.getLocation());

Chú ý: N u b n ch y l nh này tr

c khi b sung Bug vào

ế

ạ ệ

ướ

world, thì k t qu s là

ế

ả ẽ null, b i đ i t ng Bug

ở ố ượ

này ch a có m t v trí c th .

ư

ộ ị

ụ ể

Hãy kích ho t nh ng ph

ng th c truy c p khác r i in ra các thu c tính c a con b v a t o ra. Kích

ươ

ọ ừ ạ

ho t các ph

ng th c

ươ

ứ canMove, move và turn đ ng th i đ m b o r ng b n n m đ c tác d ng c a

ờ ả

ả ằ

ượ

chúng.

5.3 Bài t p

Bài t p 1

1.

Hãy vi t m t ph

ng th c có tên

ế

ươ

moveBug đ nh n vào tham s là con b r i kích ho t

ọ ồ

ạ move. Ki m tra

ph

ng th c v a vi t ra b ng cách g i nó t

ươ

ứ ừ

ế

ừ main.

2.

S a ch a

ữ moveBug đ nó kích ho t

ạ canMove r i di chuy n con b ch khi nó chuy n đ ng đ c.

ọ ỉ

ượ

3.

S a ch a

ữ moveBug đ nó nh n m t tham s là s nguyên

n, r i di chuy n con b

ọ n l n (n u có th ).

ế

4.

S a ch a

ữ moveBug sao cho n u con b không chuy n đ ng đ c thì ph ng th c này s kích ho t

ế

ượ

ươ

ạ turn.

Bài t p 2

1.

L p

ớ Math cung c p m t ph ng th c mang tên

ươ

random đ tr l i m t s ph y đ ng gi a 0.0 và 1.0

ể ả ạ

ộ ố

(không bao g m 1.0).

2.

Hãy vi t m t ph

ng th c mang tên

ế

ươ

randomBug đ nh n tham s là m t Bug r i đ t h

ng c a con b

ồ ặ ướ

này là m t trong nh ng giá tr 0, 90, 180 ho c 270 theo xác su t b ng nhau, r i cho con b chuy n đ ng

ấ ằ

n u nó có th .

ế

3.

S a ch a

ữ randomBug đ nh n vào s nguyên

n r i th c hi n l p l i

ệ ặ ạ n l n thao tác trên.K t qu s là

ế

ả ẽ

m t quá trình “b

c ng u nhiên”, mà b n có th xem thêm

ướ

http://en.wikipedia.org/wiki/Random_walk.

4.

Đ quan sát quá trình b

c ng u nhiên dài h n, b n có th cho ActorWorld m t không gian r ng h n.

ướ

ơ

ơ