}
}
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.
ể
ướ
ẫ
ơ
ạ
ể
ộ
ộ
ơ