Cộng hòa Xã hội chủ nghĩa Việt Nam
Độc Lập – Tự Do – Hạnh phúc
Đồ án môn:
CÔNG NGHỆ PHẦN MỀM
NÂNG CAO
Đề tài: Tìm hiểu Eclipse Platform, áp dụng viết phần mềm game Cờ tỷ phú
Nhóm 10:
Nguyễn Chí Thanh – 10DH11124
Lê Minh Trung – 10DH11143
1. Tổng quan
1.1. Đặt vấn đề
Hiện nay, xu hướng sử dụng phần mềm mã nguồn mở đang ngày càng được nhân
rộng vì những điểm nổi bật sáng giá của nó trong khi vẫn duy trì chất lượng ngang bằng
với những phần mềm được phát triển theo hướng truyền thống. Vì thế, nhu cầu phát
triển phần mềm mã nguồn mở cũng ngày càng được nâng cao. Eclipse hiện đang là một
trong những môi trường phát triển tích hợp (IDE) phổ biến nhất trên thế giới sử dụng mã
nguồn mở, được hỗ trợ bởi một cộng đồng khổng lồ toàn cầu những người sử dụng, các
nhà phát triển và các nhà nghiên cứu.
1.2. Tổng quan về Eclipse Platform
Eclipse là một nền tảng phát triển mã nguồn mở dựa trên Java, có thể mở rộng
được. Bản thân chỉ đơn giản là một khung công tác và một tập các dịch vụ để xây dựng
ứng dụng từ các trình cắm thêm (plugin). Về cơ bản, Eclipse đã đi kèm với một bộ trình
cắm thêm tiêu chuẩn trong đó có Java Development Tools (JDT).
Tuy người dùng đã khá hài lòng khi sử dụng Eclipse như một môi trường phát
triển Java tích hợp nhưng tham vọng của nó không dừng ở đó. Eclipse cũng có các môi
trường phát triển cắm thêm (PDE - Plug-in Development Environment) dành cho người
người muốn mở rộng Eclipse, cho phép xây dựng các công cụ tích hợp liên tục với môi
trường Eclipse. Vì mọi thứ trong Eclipse là trình cắm thêm nên tất cả các nhà phát triển
công cụ đều có một sân chơi bình đẳng để cung cấp các phần mở rộng cho Eclipse,
mang lại một IDE hợp nhất, nhất quán cho người dùng.
Sự bình đẳng và nhất quán này không chỉ hạn chế trong các công cụ phát triển
Java. Các trình cắm thêm đã có sẵn hoặc được lập kế hoạch để hỗ trợ cho các ngôn ngữ
lập trình như như JavaScript, PHP, C, C++, Cobol, Python, C#, HTML, XML. Khung
công tác Eclipse cũng có thể được sử dụng làm cơ sở cho các kiểu ứng dụng khác không
liên quan đến phát triển phần mềm, chẳng hạn như các hệ thống quản lý nội dung, ứng
dụng mạng như Telnet, trình duyệt web.
1.3. Một số sản phẩm đã phát triển liên quan đến Eclipse Platform
1.3.1. Android Development Tools (ADT)
ADT là một plugin cho Eclipse, được thiết kế để xây dựng ứng dụng Android
trong một môi trường tích hợp mạnh mẽ. ADT mở rộng những tính năng của Eclipse,
cho phép cài đặt nhanh chóng các dự án Android, tạo giao diện, thêm gói dựa vào
Android Framework API, debug ứng dụng bằng công cụ Android SDK và xuất ra những
file .apk để phân phối ứng dụng.
Báo cáo CNPM nâng cao Page 2
1.3.2. Google Plugin for Eclipse (GPE)
GPE là một bộ những công cụ phát triển phần mềm cho phép những nhà phát
triển trên Java nhanh chóng thiết kế, xây dựng, tối ưu hóa và triển khai ứng dụng dựa
trên điện toán đám mây.
Báo cáo CNPM nâng cao Page 3
1.3.3. Adobe Flash Builder
Adobe Flash Builder là một môi trường phát triển để xây dựng game và ứng
dụng, sử dụng ngôn ngữ ActionScript và framework mã nguồn mở Flex.
1.3.4. IBM Rational Software Architect (RSA)
RSA là một công cụ thiết kế, mô hình hóa và phát triển toàn diện cho phân phối
phần mềm end-to-end, sử dụng UML để thiết kế ứng dụng Java và dịch vụ web. RSA
được xây dựng trên nền tảng Eclipse và có thể mở rộng bằng nhiều Eclipse plugin.
Báo cáo CNPM nâng cao Page 4
1.4. Mục tiêu demo, các sản phẩm có chức năng tương tự demo
Ứng dụng sẽ triển khai một phiên bản máy tính của trò chơi Cờ tỷ phú. Phiên bản
này sẽ giả lập trò chơi Cờ tỷ phú bằng Eclipse Platform và các bộ plugins của Eclipse
Hiện nay trò chơi Monopoly đã và đang được nhiều hãng phát hành dưới nhiều
phiên bản, hầu hết đã hướng tới chơi online trên trình duyệt web:
- Monopoly: do hãng Pogo phát triển, tập trung vào chơi online nhiều người, có
thể chơi với bạn bè nếu có tài khoản trên trang web của hãng Pogo:
Báo cáo CNPM nâng cao Page 5
- Monopoly: do hãng Popcap phát triển, tập trung vào mô phỏng bàn cờ tỷ phú
như thực tế, có nhiều hiệu ứng 3D bắt mắt:
Báo cáo CNPM nâng cao Page 6
Hạn chế: Hiện nay những phiên bản Cờ tỷ phú đã được thương mại hóa đều
không hỗ trợ đa ngôn ngữ.
1.5. Phần mở rộng, cải tiến chức năng demo
- Người chơi có thể thay đổi giao diện bàn cờ; giao diện, nhân vật thân thiện, dễ
sử dụng.
2. Các thành phần và phương pháp xây dựng ứng dụng
2.1. Các thành phần, đặc trưng
Eclipse Platform được thiết kế và xây dựng để đáp ứng những yêu cầu sau:
• Hỗ trợ việc xây dựng nhiều công cụ phát triển ứng dụng.
• Hỗ trợ một bộ cung cấp công cụ không giới hạn, bao gồm những nhà phát hành
độc lập (ISV).
• Hỗ trợ công cụ điều khiển các loại nội dung tùy ý (ví dụ: Java, HTML, C, XML,
…)
Báo cáo CNPM nâng cao Page 7
• Tạo điều kiện cho các công cụ tích hợp liên tục với nhiều loại nội dung và nhà
cung cấp công cụ khác nhau.
• Hỗ trợ những môi trường phát triển ứng dụng sử dụng GUI và không sử dụng
GUI.
• Chạy được trên nhiều hệ điều hành, bao gồm Windows, LinuxTM, Mac OS X,
Solaris AIX, và HP-UX.
• Nhấn mạnh tính phổ biến của ngôn ngữ Java trong việc viết ra các công cụ.
Vai trò chủ yếu của Eclipse Platform là cung cấp các cơ chế và quy tắc cho nhà
cung cấp công cụ sử dụng để viết những bộ công cụ tích hợp liên tục. Những cơ chế này
được phơi bày qua các API giao diện, lớp và phương thức được định nghĩa đầy đủ.
Eclipse Platform cũng cung cấp những framework tạo điều kiện cho việc phát triển công
cụ mới.
Hình 1: Kiến trúc của Eclipse Platform.
2.1.1. Platform Runtime
Báo cáo CNPM nâng cao Page 8
Runtime là mã định nghĩa mô hình trình cắm thêm của Eclipse, dựa trên đặc tả
OSGi và quan điểm về các phần mở rộng và các điểm mở rộng. Thời gian chạy cũng
cung cấp các dịch vụ bổ sung như ghi nhật ký và tương tranh.
Công việc chính của Platform runtime là phát xem plugin nào đang có trong thư
mục plugin của Eclipse.Mỗi plugin đều có 1 tập tin Manifest liệt kê những kết nối mà
plugin cần. Plugin chỉ được tải vào Eclipse mỗi khi thực sự cần thiết để giảm lượng tài
nguyên yêu cầu và thời gian khởi tạo.
Một plugin là đơn vị nhỏ nhất của hàm trong Eclipse Platform, có thể được phát
triển và phân phối riêng. Ngoại trừ Platform Runtime, tất cả tính năng của Eclipse
Platform đều được đặt trong các plugin.
2.1.2. Workbench
Workbench là giao diện đồ họa người dùng của Eclipse, gồm có Standard Widget
Toolkit (SWT) và JFace. Eclipse không hoàn toàn bắt buộc phải sử dụng SWT hay Jface
để lập trình giao diện, vẫn có thể sử dụng AWT hay SWING của Java thông qua việc cài
đặt các plugin.
Workbench cung cấp cho Eclipse phong cách riêng của nó. Khái niệm về các
khung nhìn, các phối cảnh và những thứ giống như các trình soạn thảo được định nghĩa
ở cấp độ này.
Eclipse được cấu thành bởi nhiều thành phần (components), và thành phần cơ bản
nhất là Eclipse Workbench. Đó chính là phần cửa sổ chính xuất hiện khi Eclipse được
gọi thực thi. Workbench chỉ có một công việc đơn giản là kết nối các thành phần và các
trình bổ sung lại với nhau cho phép ta làm việc hiệu quả. Hay nói cách khác, xét ví dụ về
lập trình Java, Workbench không hề biết gì về biên soạn, thực thi và gỡ rối chương trình
Java; nó chỉ biết cách điều hướng các dự án và tài nguyên (ví dụ tập tin và thư mục). Với
những thao tác không thực hiện được, Workbench trao cho các thành phần khác; trong
ví dụ trên, JDT (Java Development Toolkit) có nhiệm vụ hỗ trợ các công cụ cho phép
lập trình viên biên soạn, biên dịch, thực thi và gỡ rối các chương trình Java.
2.1.3. Plugin
Trình bổ sung là một thành phần (component) cung cấp một số loại dịch vụ trong
khuôn khổ của Eclipse Workbench.
Eclipse là một nền tảng có khả năng mở rộng cho việc xây dựng các môi trường
phát triển tích hợp (IDE). Eclipse cung cấp lõi các các dịch vụ (a core of services) điều
Báo cáo CNPM nâng cao Page 9
khiển một tập hợp các công cụ (tools) kết hợp với nhau để hỗ trợ các tác vụ lập trình.
Các nhà cung cấp các công cụ đóng góp vào nền tảng Eclipse bằng cách gói gọn các
công cụ của họ vào các thành phần có thể gắn vào (pluggable) Eclipse, được gọi là trình
bổ sung Eclipse (Eclipse plug-in).
Một plugin là đơn vị nhỏ nhất của hàm trong Eclipse Platform, có thể được phát
triển và phân phối riêng. Ngoại trừ Platform Runtime, tất cả tính năng của Eclipse
Platform đều được đặt trong các plugin.
2.1.4. Workspace
Workspace chịu trách nhiệm quản lý tài nguyên người dùng được tổ chức dưới
dạng Project. Mỗi Project là một thư mục con trong thư mục Workspace.
Workspace bảo quản cấp thấp lịch sử những sự thay đổi tài nguyên, tránh thất
thoát tài nguyên người dùng.
Workspace đồng thời chịu trách nhiệm thông bào những công cụcấn thiết cho
việc thay đổi tài nguyên.
2.1.5. Team Support
Trang bị hệ thống quản trị để quản lý dự án của người dùng : Concurrent
Versions System (CVS).
2.1.6. Help
Cung cấp hệ thống tài liệu mở rộng, có thể là định dạng HTML hay XML.
2.2. Quy trình và phương pháp xây dựng ứng dụng
- Bước 1: Phân tích, thiết kế sơ đồ chức năng (use case) và các kịch bản trong
game.
- Bước 2: Import các plugin hỗ trợ cho việc thiết kế giao diện .
- Bước 3: Tạo Project
+ Chọn menu FileNewProject.
+ Hộp thoại New Project xuất hiện, chọn Java Project, bấm next. Hộp thoại
New Java Project xuất hiện, đặt tên project, bấm finish để kết thúc.
Workbench xuất hiện với giao diện như sau:
Báo cáo CNPM nâng cao Page 10
+ Chọn File New để tạo các lớp (class) và màn hình giao diện (JFrame) trong
game.
- Bước 4: Tiến hành cài đặt ứng dụng.
- Bước 5: Kiểm tra và sửa lỗi.
- Bước 6: Hoàn thành demo với phiên bản Monopoly 1.0.
3. Phân tích, thiết kế, cài đặt ứng dụng
3.1. Luật chơi
Trò chơi luôn vận hành với hai viên xúc xắc.
Báo cáo CNPM nâng cao Page 11
• Khi đổ xúc xắc, nếu kết quả của hai viên xúc xắc ra trùng nhau thì người chơi sẽ
được thêm một lượt đổ nữa. Nếu người chơi đổ xúc xắc trùng nhau ba lần liên tiếp sẽ
phải vào tù.
• Người chơi bị vào tù sẽ phải di chuyển quân cờ của mình đến ô thăm tù. Khi
người chơi ra khỏi tù sẽ xuất phát từ ô đó thay vì vạch xuất phát.
• Có ba cách để ra tù: 1, Gieo được hai viên xúc xắc trùng nhau. 2, Trả một khoản
tiền bảo lãnh cho ngân hàng (giá trị khoản tiền được quy định khác nhau tùy phiên
bản). 3, Dùng thẻ ra tù miễn phí (nhận được do bốc thăm thẻ khí vận/cơ hội hoặc
mua lại từ người chơi khác)
• Người chơi đang ở trong tù nếu đã thử 3 lần mà vẫn không gieo được hai viên
xúc xắc trùng nhau thì bắt buộc phải trả tiền bảo lãnh cho ngân hàng để ra tù.
• Để xây được nhà trên một mảnh đất nào đó, người chơi phải sỡ hữu toàn bộ các
mảnh đất của nhóm màu đó. Ví dụ: Một người chơi muốn xây nhà trên khu đất màu
đỏ, người đó phải có trong tay tất cả các mảnh đất màu đỏ khác trên bàn cờ.
• Để xây được khách sạn người chơi trước tiên phải xây 4 căn nhà, đến căn nhà thứ
5 sẽ tự động đổi thành khách sạn.
• Mỗi lần đi qua vạch xuất phát người chơi sẽ được nhận một khoản tiền.
• Một khi đã mua đất, người chơi không thể bán lại cho ngân hàng nhưng có thể
bán hoặc trao đổi với người chơi khách, hoặc đem đi cầm cố ở ngân hàng (với giá
thấp hơn giá mua).
• Khi một mảnh đất đang bị cầm cố, người chơi nào dừng chân trên mảnh đất đó
không phải trả phí.
3.2. Sơ đồ Use case
Báo cáo CNPM nâng cao Page 12
- Mô tả:
Use Case Nhập thông tin người chơi:
Điều kiện: không.
Dòng sự kiện chính:
Ngay sau khi trò chơi bắt đầu, màn hình nhập thông tin người chơi sẽ hiện lên
để người chơi nhập tên và thêm người chơi đó vào.
Dòng sự kiện phụ: không.
Dòng sự kiện khác:
Tên người chơi không được là một chuỗi rỗng. Nếu người chơi nhập chuỗi
rỗng, trò chơi sẽ không cho thêm vào người chơi đó.
Khi người chơi bấm nút Exit, trò chơi sẽ kết thúc.
Use Case Di chuyển:
Điều kiện:
Khi người chơi đã nhập thông tin người chơi.
Dòng sự kiện chính:
Trò chơi được chơi theo lượt. Quân cờ di chuyển dựa trên kết quả đổ xí ngầu.
Sự kiện xảy ra với người chơi tùy thuộc vào ô người chơi đi đến và tùy thuộc
vào người chơi có đi qua Go không. Vị trí và thông tin mới của người chơi
được hiển thị trên bàn cờ. Lượt chơi kết thúc khi người chơi bấm nút End
Turn. Sau đó lượt chơi của người khác sẽ bắt đầu
Báo cáo CNPM nâng cao Page 13
Dòng sự kiện phụ:
Sau khi người chơi đã di chuyển đến vị trí mới, tùy theo loại ô cờ mà người
chơi có khả năng dừng ngay Go; đi đến ô Jail; dừng tại ô Jail; dừng tại ô Free
Parking; trả tiền thuê cho chủ ô cờ; lấy thẻ từ Community Chest hoặc Chance;
hoặc mua 1 ô cờ có thể giao dịch được.
Dòng sự kiện khác: không.
Use Case Đi qua Trạm khởi hành:
Điều kiện:
Đang là lượt của người chơi.
Người chơi đã đổ xí ngầu.
Dòng sự kiện chính:
Nếu người chơi đi qua Go hoặc đi đến Go sau khi di chuyển thì người chơi
được cộng $200.
Dòng sự kiện phụ: không.
Dòng sự kiện khác:
Nếu người chơi đi qua Go vì bị đưa vào ô Jail thì người chơi không được tiền.
Người chơi bị đưa vào ô Jail do bốc phải thẻ Go to Jail hoặc đi đến ô Go to
Jail.
Use Case Vào tù:
Điều kiện:
Đang là lượt của người chơi.
Người chơi đã đổ xí ngầu.
Người chơi đi đến ô Go to Jail.
Dòng sự kiện chính:
Người chơi bị đưa đến ô Jail. Khi người chơi bị đưa đến ô Jail thì được gọi là
“vào tù”.
Dòng sự kiện phụ: không.
Dòng sự kiện khác: không.
Use Case Thăm tù:
Điều kiện:
Đang là lượt của người chơi.
Người chơi đã đổ xí ngầu.
Người chơi đi đến ô Jail.
Dòng sự kiện chính:
Người chơi thăm tù. Không có sự kiện nào xảy ra cho người thăm tù.
Dòng sự kiện phụ: không.
Dòng sự kiện khác: không.
Use Case Đến Bãi đỗ xe:
Điều kiện:
Báo cáo CNPM nâng cao Page 14
Đang là lượt của người chơi.
Người chơi đã đổ xí ngầu.
Người chơi đi đến ô Free Parking.
Dòng sự kiện chính:
Không có sự kiện nào xảy ra cho người đi đến ô Free Parking.
Dòng sự kiện phụ: không.
Dòng sự kiện khác: không.
Use Case Mua đất trống:
Điều kiện:
Đang là lượt của người chơi.
Người chơi đã đổ xí ngầu.
Người chơi đi đến một ô cờ có thể giao dịch được.
Dòng sự kiện chính:
Trò chơi này có 3 loại ô cờ có thể giao dịch được: ô bất động sản, ô sân bay và
ô dịch vụ. Ô có thể giao dịch được khi không có chủ. Khi người chơi đi đến ô
cờ có thể giao dịch được, người chơi có thể mua ô này bằng cách bấm nút
Purchase. Số tiền người chơi phải trả bằng với giá trị của ô đó. Thông tin
người chơi được hiển thị trên bàn cờ được rerfresh để hiển thị lại các ô và số
tiền người chơi đang có.
Dòng sự kiện phụ: không.
Dòng sự kiện khác:
Không có sự kiện nào xảy ra nếu người chơi không đủ tiền mua ô đó.
Ô sân bay và dịch vụ có cùng 1 giá.
Use Case Mua nhà:
Điều kiện:
Đang là lượt của người chơi.
Người chơi chưa đổ xí ngầu.
Người chơi độc quyền một hay nhiều nhóm màu.
Dòng sự kiện chính:
Khi một người chơi sở hữu tất cả ô cờ trong 1 nhóm màu thì người chơi này
được gọi là độc quyền nhóm màu đó. Người chơi có thể xây nhà trên các ô bất
động sản có cùng 1 nhóm màu mà người chơi độc quyền bằng cách bấm nút
Buy House trước khi người chơi đổ xí ngầu. Giá tiền của 1 căn nhà phụ thuộc
vào ô cờ. Sau khi mua nhà, trạng thái của người chơi được cập nhật và hiển
thị trên bàn cờ.
Dòng sự kiện phụ:
Khi nút Buy House được nhấn, một dialog sẽ hiện ra. Người chơi chọn nhóm
màu độc quyền và số nhà muốn mua trong dialog. Sau khi nhấn nút OK,
người chơi trả phí và nhà được tạo ra. Tất cả ô bất động sản trong nhóm màu
được chọn phải có cùng số nhà.
Dòng sự kiện khác:
Báo cáo CNPM nâng cao Page 15
Không có sự kiện nào xảy ra nếu người chơi không đủ tiền.
Người chơi có thể xây tối đa 4 căn nhà trong cùng 1 ô cờ.
Use Case Trả tiền thuê:
Điều kiện:
Đang là lượt của người chơi.
Người chơi đã đổ xí ngầu.
Người chơi đi đến một ô cờ thuộc sở hữu của người chơi khác.
Dòng sự kiện chính:
Người chơi trả tiền thuê cho chủ ô cờ. Tỉ giá tiền thuê phụ thuộc vào loại ô cờ
người chơi đi đến.
Dòng sự kiện phụ:
Tiền thuê 1 ô bất động sản được định nghĩa trong thuộc tính bất động sản. Mỗi
ô cờ có thể có mức thuê khác nhau. Nếu ô cờ nằm trong nhóm màu độc quyền
của chủ ô cờ thì tiền thuê tăng gấp đôi.
Nếu ô cờ là ô dịch vụ, người chơi trả tiền thuê theo kết quả xí ngầu. Nếu chủ ô
cờ sở hữu 1 ô dịch vụ thì người chơi trả số tiền thuê gấp 4 lần kết quả xí ngầu.
Nếu sở hữu 2 ô thì gấp 10 lần.
Nếu ô cờ là ô sân bay và chủ ô cờ sở hữu N ô sân bay thì số tiền thuê người
chơi cần trả là $25*2
N-1
.
Dòng sự kiện khác:
Nếu người chơi không đủ tiền trả thì sẽ phá sản. Người chơi phải trao tất cả ô
cờ có thể trao đổi được cho chủ ô cờ, và không còn trong màn chơi nữa.
Use Case Lấy thẻ:
Điều kiện:
Đang là lượt của người chơi.
Người chơi đã đổ xí ngầu.
Người chơi đi đến ô cơ hội.
Dòng sự kiện chính:
Trò chơi này có 2 loại thẻ: Community Chest và Chance. Khi người chơi đi
đến ô cơ hội, một thẻ ngẫu nhiên sẽ được phát cho người chơi. Người chơi
thực hiện theo những gì ghi trên thẻ, trạng thái người chơi sẽ được cập nhật và
hiển thị.
Dòng sự kiện phụ:
Nếu thẻ cho phép người chơi thu được 1 số tiền, số tiền đó sẽ được trao cho
người chơi.
Nếu thẻ nói rằng người chơi bị mất 1 số tiền, số tiền đó sẽ được trừ vào người
chơi.
Nếu là thẻ vào tù, người chơi sẽ bị đưa đến Jail ngay lập tức.
Nếu thẻ yêu cầu người chơi đi đến 1 ô nào đó, người chơi sẽ được đưa đến ô
đó ngay lập tức.
Dòng sự kiện khác:
Báo cáo CNPM nâng cao Page 16
Nếu người chơi không đủ tiền trả thì sẽ phá sản. Tất cả ô cờ có thể trao đổi được
trở thành vô chủ, và người chơi không còn trong màn chơi nữa.
Use Case Đổ xí ngầu:
Điều kiện:
Đang là lượt của người chơi.
Dòng sự kiện chính:
Người chơi đổ xí ngầu bằng cách nhấn vào nút Roll Dice. Xí ngầu sẽ nhảy và
cho biết giá trị bằng bao nhiêu. Trò chơi này sử dụng 2 xí ngầu 6 mặt.
Dòng sự kiện phụ: không.
Dòng sự kiện khác: không.
Use Case Đổi lượt chơi:
Điều kiện:
Đang là lượt của người chơi.
Người chơi đã đổ xí ngầu và đi đến ô cờ mới.
Dòng sự kiện chính:
Người chơi đổ xí ngầu bằng cách nhấn vào nút Roll Dice. Xí ngầu sẽ nhảy và
cho biết giá trị bằng bao nhiêu. Trò chơi này sử dụng 2 xí ngầu 6 mặt.
Dòng sự kiện phụ: không.
Dòng sự kiện khác: không.
Use Case Xem thông tin:
Điều kiện: không.
Dòng sự kiện chính:
Người chơi có thể xem trạng thái bao gồm tên, số tiền và bất động sản trên
bàn cờ. Thuộc tính của những ô cờ bao gồm tên, chủ sở hữu, số nhà đang có
và giá tiền cũng được hiển thị trên bàn cờ.
Dòng sự kiện phụ: không.
Dòng sự kiện khác: không.
Use Case Ra tù:
Điều kiện:
Đang là lượt của người chơi.
Người chơi chưa đổ xí ngầu.
Người chơi đang bị vào tù.
Dòng sự kiện chính:
Trước khi người chơi đổ xí ngầu, người chơi có thể bấm nút Get Out of Jail.
Khi bấm nút, người chơi trả $50 và không còn ở tù nữa. Người chơi có thể đổ
xí ngầu để được 2 số nút giống nhau, khi đó người chơi sẽ được ra tù.
Dòng sự kiện phụ: không.
Dòng sự kiện khác:
Báo cáo CNPM nâng cao Page 17
Nếu người chơi không đổ được 2 nút giống nhau và không đủ tiền trả thì sẽ
phá sản. Tất cả ô cờ có thể trao đổi được trở thành vô chủ, và người chơi
không còn trong màn chơi nữa.
Use Case Giao dịch:
Điều kiện:
Đang là lượt của người chơi.
Người chơi chưa đổ xí ngầu.
Dòng sự kiện chính:
Người chơi có thể yêu cầu người chơi khác bán ô có thể giao dịch được. Nếu
người chơi muốn giao dịch với người chơi khác thì bấm nút Trade. Dialog
giao dịch sẽ hiện lên cho người chơi chọn người muốn giao dịch, ô cờ người
chơi muốn giao dịch và số tiền người chơi muốn trả. Sau đó 1 dialog sẽ hiện
lên để xác nhận. Nếu người bán chọn Yes thì ô cờ sẽ được bán theo thỏa thuận
giao dịch.
Dòng sự kiện phụ: không.
Dòng sự kiện khác:
Nếu người chơi bấm nút Cancel, dialog sẽ đóng và giao dịch bị hủy.
Nếu người chơi không đủ tiền, giao dịch bị hủy bỏ.
Nếu người bán không đồng ý thỏa thuận, giao dịch bị hủy bỏ.
3.3. Màn hình giao diện và mô tả thành phần
3.3.1. Giao diện khởi động:
Báo cáo CNPM nâng cao Page 18
3.3.1.1. Mô tả thành phần:
Gồm 3 Button:
- Play Now : Người chơi chọn để vào game.
- Help : Xem luật chơi.
- Exit : Thoát game.
3.3.1.2. Mô tả xử lý:
- Biến cố 1: Khi người chơi nhấp nút “PLAY NOW” sẽ vào màn hình tạo nhân
vật.
- Biến cố 2: Khi người chơi nhấp nút “Help” trò chơi sẽ mở màn hình hướng
dẫn luật chơi. Sử dụng các 4 button để di chuyển qua lại xem các phần hướng
dẫn.
Báo cáo CNPM nâng cao Page 19
- Biến cố 3: Xảy ra khi người chơi nhấp nút “EXIT” trò chơi sẽ hiển thị thông
báo: “Do you want to exit the game ?” (Yes, No)
+ Yes :Thoát game
+ No: Không làm gì cả.
3.3.2. Giao diện tạo nhân vật:
Báo cáo CNPM nâng cao Page 20
3.3.2.1. Mô tả thành phần:
- 4 textbox : người chơi nhập tên đại diện theo thực tế (Nếu không phần mềm sẽ
tự động lấy tên mặc định).
- 4 Button “Add Player” : xác nhận tên người chơi cùng với nhân vật đại diện
(phải có ít nhất 2 người chơi).
- Button “Shuffle players”: Xáo trộn thứ tự người chơi.
- Button “Start Game”: bắt đầu trò chơi.
- Button “Help”: Giúp người chơi có thể xem hướng dẫn luật chơi tại màn hình
tạo nhân vật.
- Button “Exit”: Thoát game.
3.3.2.2. Mô tả xử lý:
- Biến cố 1: Xảy ra khi đã xác nhận ít nhất 2 người chơi thì nút “Shuffle
Players” sẽ hiện lên.
Báo cáo CNPM nâng cao Page 21
- Biến cố 2: Khi người dùng nhấp vào nút Shuffle Players phần mềm sẽ tiến
hành xóa trộn và quy định thứ tự các người chơi. Đồng thời ẩn đi nút Shuffle
Players và hiện nút Start game.
-
- Biến cố 3: Khi người chơi nhấp nút Start Game sẽ bắt đầu trò chơi với tên và
hình ảnh đại diện của người chơi đã xác nhận trước đó.
Báo cáo CNPM nâng cao Page 22
- Biến cố 4: Khi người chơi chọn nút Help sẽ vào màn hình hướng dẫn luật
chơi.
- Biến cố 5: Xảy ra khi chơi nhấp vào nút Exit, phần mềm sẽ hiện thị thông báo
“Do you want to exit the game ? ” (Yes, No)
Báo cáo CNPM nâng cao Page 23
+ Yes: Thoát game
+ No: không làm gì cả
3.3.3. Giao diện trong trò chơi
3.3.3.1. Mô tả thành phần:
- Button RollDice: Đổ xí ngầu.
- Button EndTurn: Kết thúc lượt chơi, chuyển lượt chơi cho người chơi kế tiếp.
Báo cáo CNPM nâng cao Page 24
- Button Trade : Trao đổi tiền hoặc tài sản với những người chơi khác.
- Button Redeem : Khôi phục tài sản đã cầm cố.
- Button Mortgage : Cầm cố tài sản (nếu có).
- Button Sell : Bán tài sản cho những người chơi khác.
- Button Build: Xây nhà hoặc khách sạn trên khu đất đã mua.
3.3.3.2. Mô tả xử lý:
- Biến cố 1: Xảy ra khi người dùng nhấp vào nút RollDice, phần mềm sẽ tiến
hành đổ xí ngầu và nhân vật sẽ tiến đến ô theo tổng số điểm của 2 xí ngầu.
- Biến cố 2: xảy ra khi người chơi nhấp nút EndTurn phần mềm sẽ chuyển đến
lượt người chơi kế tiếp.
- Biến cố 3: Xảy ra khi người nhấp nút Trade, phần mềm sẽ hiện hộp thoại cho
phép người chơi trao đổi tiền hoặc tài sản với những người chơi khác.
Báo cáo CNPM nâng cao Page 25