CÔNG NGHỆ PHẦN MỀM ĐỀ TÀI GAMES TRÒ CHƠI CỜ VUA PHẦN I: GIỚI THIỆU TRÒ CHƠI_phần 2 - Pdf 20

CÔNG NGHỆ PHẦN MỀM
- ĐỀ TÀI GAMES TRÒ
CHƠI CỜ VUA

PHẦN III: GIỚI THIỆU CHƯƠNG TRÌNH CỜ VUA

Chương trình cờ vua 2 người chơi bao gồm 1 server và các client. Khi
client muốn chơi cờ thì client phải đăng ký tới server, mỗi 1 ván cờ sẽ bao
gồm 2 người chơi trên 1 bàn cờ, các client giao tiếp với nhau thông qua 1
server. Server cờ vua sẽ đảm nhận việc giao tiếp giữa các client, server này
sẽ trả về danh sách người dùng đã đăng ký chơi khi có yêu cầu chọn người
chơi từ client, khi 2 người chơi bắt đầu chơi thì server sẽ gửi bàn cờ về cho
2 client hiển thị. Khi 2 client chơi với nhau thì server sẽ chịu trách nhiệm
truyền qua lại bàn cờ cho 2 client khi bàn cờ được cập nhật.
Chương trình gồm 2 project chính: Covua(Client) và
Covuaserver(Server)
+ Project Covuaserver: gồm các lớp BanCo.java, NguoiChoi.java,
QLBanco.java, Main.java.
+ Project Covua: gồm các lớp BanCo.java, JframeChessClient.java,
JpanelBanCo.java, JpanelKetNoi.java, NguoiChoi.java, OCo.java,
Main.java. I/ GIAO DIỆN CHƯƠNG TRÌNH.
1) Form 1(JframeChessClient): Form đầu tiên hiển thị khi chương trình
chạy.

2) Form 2(JpanelKetnoi): Form hiển thị khi chọn menu Connect.

Button Connect: để kết nối đến server và đăng ký chơi trên Domain:
localhost ở port: 3001 và Username là hoang1. Server sẽ trả về danh sách

+ Ten: tên của người chơi.
+ Choico: là biến cho biết người chơi hiện tại có đang chơi cờ với ai
hay không.
VD: 0 là chưa chơi với ai, 1 là đang chơi với người khác.
3) Đối tượng bàn cờ
Đối tượng bàn cờ gồm các thuộc tính:

+ Oco[][]: mỗi một bàn cờ sẽ gồm 8x8 ô cờ.
+ N1, N2: một bàn cờ chỉ có 2 người chơi N1, N2.
+ Status: báo hiệu tới lượt người chơi nào đi.
+ N: số lượng ô cờ.
4) Jpanel Kết nối
Thực hiện các thao tác kết nối đến server để lấy dữ liệu về như là: danh
sách người chơi và bàn cờ.
JpanelKetnoi gồm các hàm xử lý sự kiện:
- Sự kiện khi ấn nút play: nếu người chơi chọn chơi với người đang
chơi với người khác thì chương trình sẽ hiện lên bảng cảnh báo chọn lại.
Nếu chọn đúng thì chương trình sẽ gọi hàm play().

Hàm play() có nhiệm vụ yêu cầu server tạo ra bàn cờ cho 2 người chơi
hiện tại và người chơi được chọn để chơi cờ.

-Sự kiện khi ấn nút Connect:

Khi người chơi ấn nút Connect thì chương trình sẽ gọi hàm connect()
để kết nối đến server với các thông số như Domain, Port, UserName.
Hàm connect() có nhiệm vụ kết nối đến server thông qua socket qua
port được định nghĩa và nó sẽ gửi thông tin của user hiện tại lên server
thông qua phương thức ObjectOutputStream. Hàm này cũng có nhiệm vụ
yêu cầu server gửi danh sách người chơi đã đăng ký chơi về cho client

client này đến client khác và ngược lại.
+ void listen(): đây là hàm luôn luôn lắng nghe từ server. Nếu server
truyền về cho client là USER thì chương trình sẽ gọi hàm đọc
danhsachnguoichoi(), còn nếu server gửi về cho client là PLAY thì
chương trình sẽ đọc đối tượng bàn cờ sau đó load() bàn cờ lên.

+ void docDanhSachNguoiChoi(): hàm này có nhiệm vụ đọc danh sách
người chơi khi server gửi cho client sau đó xuất danh sách user ra table.
+ void connect(String host, Integer port,String name,JpanelKetNoi
pkn): đây là hàm có nhiệm vụ kết nối client với server dựa trên các thông
số domain, port…khi người chơi ấn nút Connect trên JpanelKetNoi.
+ void play(int i): có nhiệm vụ yêu cầu server tạo ra bàn cờ cho 2 người
chơi hiện tại và người chơi được chọn để chơi cờ.

III/ CHƯƠNG TRÌNH CỜ VUA SERVER
Đây là server có nhiệm vụ đảm bảo giao tiếp giữa các máy client chơi cờ
1 cách trôi chảy, luôn được cập nhật liên tục.
Ở đây server cũng bao gồm các đối tượng tương tự như server như là:
BanCo và NguoiChoi để giúp server có thể hiểu được những gì mà client
gửi tới server. Ngoài ra chương trình server còn có lớp QLBanCo để giúp
cho server có thể quản lý Bàn cờ của các người chơi.
Về cơ bản thì lớp QLBanCo cũng có các biến và đối tượng tương đồng
với lớp JframeChessClient bên client để có thể giao tiếp được với client.
VD: các biến USER, PLAY, CONPLAY và các đối tượng như Thread,
Socket…
Các hàm quan trọng của lớp QLBanCo như:
+ public void run(): đây cũng là hàm luôn luôn lắng nghe từ phía client.
Nếu client gửi cho server yêu cầu là USER thì server sẽ gửi lại cho client
danh sách người chơi, còn nếu client yêu câu là PLAY thì server có
nhiệm vụ sẽ gửi 2 bàn cờ cho người chơi yêu cầu và người chơi được yêu


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status