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

cũng có m t ít đi u ki n ban đ u cho th y đ ph c t p đáng k . M t trong nh ng đi u ki n đ u nh v y

ứ ạ

ư ậ

là r-pentomino: b t đ u ch v i 5 viên đá, c u hình này ch y su t 1103 b

c th i gian r i k t thúc m t

ắ ầ

ỉ ớ

ướ

ồ ế

ở ộ

c u hình b n v ng v i 116 viên đá s ng (xem

http://www.conwaylife.com/wiki/R-pentomino).

Các m c ti p sau đây là nh ng g i ý đ th c hi n trò ch i Life trong GridWorld. B n có th t i v l i

ế

ể ự

ơ

ể ả ề ờ

gi i c a tôi

ả ủ

t i

http://thinkapjava.com/code/LifeRunner.java http://thinkapjava.com/code/LifeRock.java.

16.5 LifeRunner

Hãy sao l i m t b n file

ộ ả

BugRunner.java r i đ t tên thành

ồ ặ

LifeRunner.java, sau đó b sung nh ng

ph

ng th c v i nguyên m u nh sau:

ươ

ứ ớ

ư

/**

* Lập nên một lưới ô cho trò chơi Life, cùng cấu hình r-pentomino. */

public static void

makeLifeWorld(

int

rows,

int

cols)

/**

* Xếp các viên đá LifeRock lên lưới ô. */

public static void

makeRocks(ActorWorld world)

Ph

ng th c

ươ

ứ makeLifeWorld c n ph i t o nên m t Grid ch a các Actor cùng m t ActorWorld, sau đó

ả ạ

kích ho t

ạ makeRocks, đ n l t ph ng th c này s ph i đ t m t

ế ượ

ươ

ả ặ

ộ LifeRock vào m i ô trong Grid.

16.6 LifeRock

Hãy sao l i m t b n c a file

ộ ả ủ

BoxBug.java r i đ t tên là

ồ ặ

LifeRock.java. L p

ớ LifeRock ph i m r ng

ở ộ

t

ừ Rock. Hãy b sung thêm m t ph ng th c

ươ

ứ act ch ng đ làm gì c . Bây gi mã l nh ph i ch y thông

đ

c và b n s th y m t Grid ch a đ y Rock.

ượ

ạ ẽ ấ

Đ theo dõi tr ng thái c a nh ng viên đá này, b n có th b sung m t bi n th c th m i, ho c b n có

ể ổ

ế

ể ớ

ặ ạ

th dùng màu s c (Color) c a Rock đ bi u th tr ng thái. B ng cách nào đi n a, hay vi t nh ng ph

ng

ể ể

ị ạ

ế

ươ

th c có các nguyên m u sau đây:

/**

* Trả về true nếu viên đá còn sống. */

public boolean

isAlive()

/**

* Làm cho viên đá sống lại. */

public void

setAlive()

/**

* Làm viên đá chết đi. */

public void

setDead()

Hãy vi t m t constructor đ kích ho t

ế

ạ setDead r i kh ng đ nh ch c r ng t t c viên đá đ u ch t.

ắ ằ

ấ ả

ế

16.7 C p nh t đ ng th i

ậ ồ

Trong trò ch i Life, t t c viên đá đ u đ

c c p nh t m t cách đ ng th i; nghĩa là t ng viên đá đ u

ơ

ấ ả

ượ ậ

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.