No lam cho việc lập trinh trơ nên sang sua hơn, va phu hợp vơi lam việc nhom. Cơng cụ đề lam việc nay tốt co thể la ngơn ngư mơ hinh hoa như UML. Khi đã co
một mơ hinh tốt để nhi vao thi viêc lập trinh trơ nên đơn gian hơn bơi mơ hinh
giup ta co được một cai nhin tổng quan va hệ thống. Nhin vao mơ hinh thi mọi thư gân như sang to. Hơn thế nữa mơ hinh con giup việc nâng cấp nâng cấp game dễ dang hơn.
Sau khi co khuơn mẫu, cơng việc con lại la phat triển game. Thương thi thơi gian cho hai cơng việc nay la ngang nhau. Khi lam game J2ME co một số chu y quan
trong la: ta cần phai theo doi kích thược cua file JAR (file nen để cai đặt vao điện
thoại) trong qua trinh lam bơi sư dụng qua nhiều anh se lam cho kích thươc file JAR tăng lên nhanh chong.
Va một câu noi em thấy rất hay: “The secret to making great games is to make bad games firs£”.
2. Cac Nhân Vật Game Va Phân Tích Lập Trinh
Phân nay em giơi thiêu vê cac nhân vật va cach tao ra nhân vật dươi goc đơ lập trinh:
2.1Cac nhân vật trong game va đặc điểm: 1. Player (Ngươi chơi) co những chưực năng sau:
a. Di chuyền trai phai lên xuống
b. Quay tại chỗ theo hai chiều — để thiết lâp chế đơ bao vê.
c. Gặp địch trong ban kinh bắn thi co kha năng bắn đan theo hai chế độ:
tự đơng hay nhấn phim.
2. Turret (phao) — nhân vật nay khơng di chuyền.
a. Băn Player nếu player năm trong ban kính bắn cua no 3. Black
a. Di chuyền trai phai lên xuống b. Đi theo quy đao bất ki trong ban đồ
Tin2 K50
c. Gặp Player trong ban kinh bắn thi bắn
4. Fighter (Nhân vật nay se bổ xung sau nay)
a. Di chuyền trai phai lên xuống
b. Đi va tim Player nếu player năm trong vung phat hiên cua no c. Gặp Player trong ban kinh băn thi bắn
Cac đặc điểm cưa cac nhân vật:
Chương trinh em cai đặt đưa vao 3 nhân vật la Player, Black, Turret. Trong đo
Player do ngươi chơi đam nhân. Black va Turret do may điều khiến va ngươi chơi se bắn nhau vơi may vu khi sư dụng đều la đạn (Bullet). Cac nhân vật được xây dựng vơi nhưng đặc điểm sao cho phu hợp nhất, khơng bên nao qua mạnh hay qua yếu, mỗi nhân vật đều co điểm mạnh va yếu điểm riêng. Đặc điểm cua nhân vật Player la đi chuyển nhanh, tốc đơ bắn đạn nhanh, tâm xa lơn kha năng sat thương trung binh va mạng cung lơn tuy nhiên lại đơn độc chiến
đấu một minh. Nhân vật Black va Turret cung một phe, Black co đặc điểm la khơng bao giơ hết, no chết đi rồi lai sinh ra, di chuyển nhanh, tốc đơ bắn đan
trung binh, tâm xa trung binh kha năng sat thương kem va mạng yếu. Turret co
đặc điểm la khơng di chuyền, tốc đơ bắn châm, kha năng sat thương lơn, tâm xa
rất lơn va mạng lơn.
Đo la tổng quan về cac nhân vật, vấn đề bây giơ la xây dựng cac nhân vật bằng ngơn ngư lập trinh.
2.2Phân tích cac nhân vật theo lợp
VI cac nhân vât co một số chưc năng giống nhau va cùng co một số chưc năng khac nhau. Vĩ dụ như Black va Fighter co hai điểm chung la co co thể di chuyển theo bốn hương, va khi găp Player thi bắn; va co một điểm khac nhau về cach thực di chuyền. Do đo ta sư dụng phương phap lập trinh kế thưa lợp trưu tượng.
Tao một lợp trưu tượng (abstract class) mang tên la Actor. Tất ca cac nhân vật
trong game đều kế thưa lợp trưu tượng nay. Lợp co một số thuộc tính như: tọa độ
(x, y) trên man hinh, chiều rộng va chiều cao cua nhân vật, ...va một số phương
khơng dung phương thưc nay), phương thưc tự nổ khi hết mang. Thêm một số phương thưc liên quan đến va chạm.
Tao lợp nhân vật Player kế thưa lợp trưu tượng Actor, va co thêm chưc năng tự quay vong quanh no (chế đơ chống đan cua Player).
Tao lơp nhân vật Turret kế thưa lợp trưu tượng Actor, va co thêm chưc năng đình
hương bắn để bắn cac đối tượng đang di chuyển.
Tạo lơp nhân vật Black kế thưa lợp trưu tượng Actor, va co thêm chực năng di chuyền bất ki trong pham ban đồ.
Tao lợp nhân vật FIghter (Mơ rơng)kế thưa tư lợp trưu tượng Actor, va co thêm chưc năng xac định vi trí Player tư xa va di chuyền theo Player khi đối tượng đi vao vung ban km bắn cua no.
Đạn cung được coi la những nhân vật (Sprite) tuy nhiên do nhiều khac biệt nên no
khơng kế thưa lợp trưu tượng Actor (Số lượng đạn trong một thơi điểm la kha lơn
vì vậy lơp đạn phai được thiết kế riêng). Lợp đan co thuộc tính quan trong nhất la hương di chuyền, biết hương di chuyển ta co thể ve được đương đi cua đạn vị điểm bắt đầu cua đan la nhân vật bắn ra no.
Chy y: J2ME khơng hỗ trợ cac phép tính dấu phay động vi tốc độ xư ly cua phần
lơn điện thoại la hạn chế. Co mơi giai phap ưa ra la quy đỉnh chiêu bắn cua đạn chỉ theo một số chiếu cố định. Em quy định số chiếu băn la l6.
Tin2 K50
Nhân xet: việc hạn chế 16 chiêu như trên lam cho cac nhân vật băn khơng chỉnh xac, fuy vậy đo
lại la lợi thế vì đoi hoi sự căn chính cua ngươi chơi để co thế băn trung địch.
Cac nhân vật co những thuộc tính khac nhau như:
© _ Số mạng - chăng han như nhân vật phao (Turret) se co “Sưc khoe” lơn nhất. e _ Ban kinh băn - vi dụ nhân vật phao (Turret) se co tầm bắn xa nhất, sau đo la
Player...
s® Khoang thơi gian dưng giữa hai lân băn: Player co thơi gian dưng la nho
nhất — co thể băn được nhiều đạn hơn so vơi cac nhân vật khác trong một
khoang thơi gian.
Cac thuộc tính nay đều để dang sfafic final (la cac hằng số tỉnh) lưu riêng trong một
inferface va co thể truy câp được truy cập bơi bất ki lợp nao thực hiện interface đo.
2.3_Mơt số vần đề đặt ra va hương siạ quyết:
Đề cac nhân vật co thể hanh động đồng thơi thi mỗi nhân vật sinh ra phai co một
Thread riêng, nhân vật đo se thực hiện hanh đơng cua minh khi Thread cua no
được cấp phat CPU. Vơi đạn thi nếu giơi hạn mỗi nhân vật chi co thể bắn ra một
viên đạn trong trong man hinh thi quan ly đan se đơn gian hơn, thuộc tính đạn co thể gắn ngay vao lợp nhân vật cung vơi phương thưc liên quan đến no. Tuy nhiên,
nếu cho phep một nhân vật co thể bắn ra nhiều đan chay trong man hinh thi se tao
một lợp đạn riêng se dễ kiểm xoat số đạn trong man hinh. Thêm nữa chưc năng bắn
đoi hoi ta phai nhân biết được viên đạn đo do nhân vật nao bắn ra (xem như đan
cua Player se khơng “sat thương” được chính no, va cung như vậy đối vơi cac nhân
vật khac). Tư yêu cầu trên ta se phai phân chia đạn ra thanh cac loại đan khac nhau
Phần 4
Xây dựng mơ hình UML cho chương trình
Em khơng đi vao giai thích cac khai niêm cua ngơn ngư nay ma đi trực tiếp ap dụng cho cho bai luơn. Cơng cụ em sư dụng la UML trong Netbeans.
Project UML được để trong cung thư mục
1 Use Case Diagram
La biểu đồ chỉ Ta sự tương tac giữa Use Case (UC) Vâ Các tác nhân. Tac nhân co thể la con ngươi, hệ thống hay thơi gian. Ở đây cac nhân vật la cac tac nhân gây ra hanh động. Biểu đồ Use Case nhầm mục đích mơ ta yêu cầu chưc năng cua hệ thống va thương được xây dựng qua trao đối giữa khach hang va ngươi phat triển hê thống.
VI chương trinh đơn gian nên em chỉ dung một Use Case:
Move UP
Move Right
Move Down Explosion
IS) LƠNG „ Fire ị ị 4. \ )Y <994g0slgseusges ⁄ vàn = = Sœ
Hinh 14: Use Case cac nhân vât va cac phương thưc cua chung
Player Giai thích: Page 33