Tải bản đầy đủ - 0 (trang)
Chương II: Phân tích và thiết kế game

Chương II: Phân tích và thiết kế game

Tải bản đầy đủ - 0trang

Báo cáo tiến độ bài tập lớn nhóm 3



III.



Sơ đồ User-Case



Hình 1 Sơ đồ User-Case



IV.



Thiết kế giao diện

3.1. Giao diện.

-



Phần mềm với thiết kế giao diện đơn giản, rõ ràng giúp người

chơi dễ sử dụng và thực hiện các thao tác chơi, trong q trình

chơi, game được tính hợp thêm các âm thanh, hình ảnh, giúp

người chơi có những phút thư giãn, thoải mái.



Báo cáo tiến độ bài tập lớn nhóm 3



-



Một số hình ảnh của game cờ Caro:



Hình 2 Giao diện chơi chính



Báo cáo tiến độ bài tập lớn nhóm 3



Hình 3 Giao diện khi chiến thắng.



Báo cáo tiến độ bài tập lớn nhóm 3



Hình 4 Giao diện khi thua cuộc

-



Giao diện với 2 thành phần chính : Giao diện chức năng và giao



-



diện người chơi.

Thanh công cụ chức năng bao gồm : menu chức năng và menu

trợ giúp người chơi.



Hình 5 Thanh cơng cụ chức năng



Báo cáo tiến độ bài tập lớn nhóm 3



 Thanh cơng cụ chức năng gồm có :

• Menu Game: tạo ra một ván mới và thốt trò chơi.







Menu Turn: Người chơi chọn lượt đi trước hoặc sau máy.







Menu Level: Người chơi chọn mức độ khó của trò chơi.







Menu Help: Cung cấp cho người chơi các chơi game và

thơng tin nhóm phát triển game.







Menu trợ giúp gồm có : Các nút bấm nhanh hỗ trợ tốt hơn

cho người chơi

trong quá trình chơi game như: Tạo nhanh ván mới , chọn

lượt đi , đánh lại. Tạo sự thuận tiện cho người chơi. Menu

cũng thể hiện mức độ khó của trò chơi giúp người chơi

chọn được mức độ khó phù hợp với trình độ của mình.



Hình 6 Menu trợ giúp



Báo cáo tiến độ bài tập lớn nhóm 3

-



Bàn cờ: được thiết kế với kích thước 20x 20 ơ, mỗi ơ có diện

tích 30x30 pixel. Kích thước như vậy là vừa phải cho người chơi

có thể thao tác cũng như quan sát để suy nghĩ nước cờ, tránh

nhầm lẫn trong các bước đi. Nếu màu nền bàn cờ là một màu

đơn sắc sang sủa và các quân cờ màu đậm, giúp người chơi dễ

dàng phân biệt được quân cờ trong quá trình chơi.



-



Mỗi khi thắng hoặc thua sẽ có nhạc và hình ảnh minh họa hài

hước, hấp dẫn làm cho game hấp dẫn hơn , người chơi được

thoải mái khi chơi và làm cho người chơi có hứng chơi tiếp dù

thua hay thắng.



3.2. Chức năng và cách sử dụng.

-



Bất kì game nào cũng cần có chức năng hỗ trợ cho người chơi,

giúp người chơi xử lý khi chơi game được thuận tiện, dễ dàng

hơn. Sản phầm “Cờ Caro” cũng phát triển các chức năng cần

thiết để trò chơi hoàn chỉnh và tạo sự thân thiện cũng như hỗ

trợ tốt nhất cho nhu cầu của người chơi đối với sản phẩm của



-



chúng em.

Game có những chức năng chính như sau:

 Chơi ván mới: Khi một ván đấu kết thúc hoặc bàn cờ đã kín

mà ván chơi kết thúc mà vẫn chưa phân được thằng thua thì

cần tạo ra một ván mới để chơi tiếp. Người chơi có thể tạo

ra một ván mới bằng cách click vào “Game “ sau đó chọn

“New Game” hoặc click vào biểu tượng



trên thanh công



cụ để tạo nhanh một ván mới.



 Lựa chọn lượt đi: Người chơi có thể lựa chọn lượt đi trước



hoặc sau máy tùy ý, người choi có thể lựa chọn lượt chơi



Báo cáo tiến độ bài tập lớn nhóm 3



bằng cách click vào “Turn“ rồi lựa chọn hoặc click vào biểu

tượng setting



để lựa chọn nhanh hơn.



 Chọn mức độ chơi: trò chơi gồm có 5 mức độ chơi khác



nhau, người chơi có thể chọn các mức độ phù hợp với trình

độ của mình và cũng có thể thử sức với các mức rất khó. Để

chọn mức độ khó của, người chơi có thể click vào menu

“Level” trên thanh cơng cụ để lựa chọn.

 Hướng dẫn cách chơi: tuy đây là trò chơi đơn giản và vơ



cùng gần gũi với hầu hết tất cả mọi người, nhưng cũng

khơng tránh khỏi có những người chơi lần đầu tiên hoặc là

luật chơi của mỗi nơi có sự khác nhau nhất định trong cách

chơi, chính vì vậy cần phải hướng dẫn luật chơi để người

chơi có thể nắm bắt tránh sự nhầm lẫn khi chơi. Người chơi

có thể xem hướng dẫn chơi bằng cách click vào menu

“Help” và chọn “Rule” để xem hướng dẫn. Trong menu

“Help” có thêm mục “Information” cung cấp thơng tin tác

giả nếu người chơi muốn liên hệ đóng góp những ý kiến để

game có thể hồn thiện hơn.

 Undo game: khi chơi người chơi có thể tính tốn nhầm nước



đi hay vơ tình nhấn chuột tạo thành một nước đi khơng như

ý, chính vì vậy chức năng undo sẽ giúp người chơi có thể

loại bỏ các nước đi khơng như ý và thay vào đó là một nước

đi khác mà người chơi muốn. Người chơi cũng có thể undo 1

lần hoặc nhiều lần tùy ý. Để sử dụng chức năng undo người

chơi có thể nhấn vào biểu tượng undo

hỗ trợ.



trên thanh menu



Báo cáo tiến độ bài tập lớn nhóm 3



IV.Xây dựng các Module

4.1. Biểu đồ UML các module.



Hình 7 Biểu đồ UML các module



V.



Các thuật toán sử dụng.

5.1. Hàm lượng giá cho tồn bộ bàn cờ.

-



Hàm tính điểm cho tồn bộ bàn cờ bằng cách sử dụng một xâu

lưu trữ các hàng, cột và đường chéo các kí tự, sau đó đếm các

trường hợp có trong xâu đó số điểm của bàn cờ tại thời điểm

xét sẽ được tính như sau:

 Sẽ có 2 loại điểm tương ứng với X và O, với các trường hợp

giống nhau thì điểm của X và O là như nhau. Giả sử O là



Báo cáo tiến độ bài tập lớn nhóm 3



máy, X là người chơi, điểm của bàn cờ sẽ bằng: trường hợp

o1*n1 + trường hợp o2*n2 +... - trường hợp x1*n3 - trường

hợp x2*n4 -..... (với n là số lần xuất hiện của một trường

hợp).



 Điểm càng dương tức là lợi thế đang nghiêng về máy, ngược

-



lại nếu điểm càng âm thì lợi thế càng nghiêng về người chơi.

Điểm càng dương tức là lợi thế đang nghiêng về máy, ngược lại

nếu điểm càng âm thì lợi thế càng nghiêng về người chơi.



5.2. Thuật toán Minimax và cắt tỉa alpha beta.

-



Đây là thuật tốn chính làm lên trí tuệ nhân tạo cho chương

trình và tạo ra các mức độ khó khác nhau cho người chơi. Giả

sử máy tính sẽ là max, người chơi là min, mỗi khi tới lượt đánh

của người chơi, người chơi sẽ cố gắng làm sao để điểm của bàn

cờ nghiêng về mình nhiều nhất có thể (âm nhất có thể) ngược

lại đến lượt máy tính thì muốn điểm của bàn cờ là dương nhất

có thể để dẫn đến chiến thắng, từ đó với một độ sâu cho trước,

mỗi khi tới lượt máy tính đánh máy lại duyệt trước số nước đi

bằng với độ sâu nhằm tìm ra nước đi khiến điểm sau các nước



-



đi đó đạt cực đại hoặc đạt được chiến thắng.

Thuật toán cắt tỉa alpha beta được xây dựng dựa trên ý tưởng

là nếu một nhánh tìm kiếm nào đó khơng thể cải thiện đối với

giá trị mà chúng ta đã tính ở một nhánh khác thì ta khơng cần

xét đến nhánh tìm kiến đó nữa. Ở đây, ta sử dụng hai biến giá

trị là alpha và beta để so sánh giá trị. alpha là giá trị của nước

đi tốt nhất đối với Max tính tới thời điểm hiện tại của nhánh tìm

kiếm, nếu một nhánh có giá trị tồi hơn alpha thì Max sẽ bỏ qua

nước đi ứng với nhánh đó. Beta được định nghĩa tương tự đối

với hàm Min.



Báo cáo tiến độ bài tập lớn nhóm 3



VI. Những

-



khó khăn gặp phải.



Trong q trình thiết kế, chúng em đã gặp phải rất nhiều khó

khăn như ban đầu ý tưởng chỉ là thiết kế hàm lượng giá cho tồn

bộ bàn cờ sau đó sử dụng thuật tốn minimax kết hợp alphabeta

để tìm nước đi tiếp theo, tuy nhiên do không loại bỏ bớt các ô cần

duyệt lúc đầu nên chương trình chạy rất chậm, rất lâu đề tìm



-



được một nước mới, trong khi đó độ xâu khơng phải là quá lớn.

Phần thiết kế giao diện chúng em vẫn chưa hồn thiện một cách

hồn chỉnh được. Vẫn còn nhiều lỗi nhỏ, chúng em sẽ cố gắng tìm

cách khắc phục trong các tuần tiếp theo.



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Chương II: Phân tích và thiết kế game

Tải bản đầy đủ ngay(0 tr)

×