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 pps

11 475 0

Daniel Gửi tin nhắn Báo tài liệu vi phạm

Tải lên: 111,441 tài liệu

  • Loading ...
1/11 trang

Thông tin tài liệu

Ngày đăng: 05/08/2014, 13: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 người chơi đã đăng ký và hiển thị lên table. Button Play: sau khi chọn người chơi thích hợp trong table thì người chơi ấn nút play để yêu cầu người chơi được chọn chơi cờ. 3) Form 3(JpanelBanco): Form BanCo hiển thị để 2 người chơi giao tiếp với nhau. Bàn cờ sẽ gồm 64 ô cờ được sắp xếp sẵn và 3 label chính: + Label user1: sẽ hiện thị tên của user 1. + Label user2: sẽ hiện thị tên của user 2. + Label trạng thái: sẽ hiện thị “Tới lượt bạn đi” hoặc “Chưa tới lượt bạn đi” khi tới lượt bạn và khi chưa. II/ CHƯƠNG TRÌNH CỜ VUA CLIENT Bao gồm các đối tượng như ô cờ, bàn cờ, người chơi, JpanelKetnoi, JpanelBanco và Jframechessclient. Các đối tượng này sẽ giúp client giao tiếp được với server một cách dễ dàng và hiệu quả. Sau đây bọn em sẽ trình bày chi tiết về các đối tượng và các lớp: 1)Đối tượng Ô cờ Đối tượng ô cờ bao gồm các thuộc tính như: Mỗi một ô cờ sẽ là 1 button trên bàn cờ bao gồm các thuộc tính: + line, col: là vị trí dòng, cột của ô cờ trên bàn cờ. + status: mỗi một ô cờ sẽ có 1 trạng thái khác nhau tương ứng từng quân cờ đặt trên nó hoặc rỗng. VD: khi ô cờ rỗng status=20, khi có con chốt trắng đặt trên nó thì status=6… 2) Đối tượng người chơi Đối tượng bàn cờ gồm các thuộc tính: + Id: Mỗi một người chơi sẽ có 1 id duy nhất để phân biệt với các người chơi khác. + 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 hiện tại. 5) Jpanel Bàn cờ Jpanel bàn cờ gồm các đối tượng như JframeChessClient, và Oco. Jpanel bàn cờ thực hiện các thao tác vẽ bàn cờ mới và xử lý khi người chơi ấn vào ô cờ để di chuyển quân cờ hiện tại qua ô cờ khác. Vì lớp này khá dài nên em chỉ giới thiệu các hàm liên quan: + public JpanelBanCo(JframeChessClient fcc): đây là hàm khởi tạo bàn cờ mới, và bao gồm chức năng lắng nghe sự kiện user ấn vào ô cờ sau đó sẽ gọi hàm xulyNutDuocAn() để xử lý. + public void xuLyNutDuocAn(OCo oco): nhiệm vụ của hàm này là xử lý thao tác khi người chơi ấn vào ô cờ để di chuyển quân cờ hiện tại qua ô cờ khác, sau đó nó sẽ gửi đối tượng bàn cờ được cập nhật sau khi đi qua client đối thủ thông qua server. 6) Jframe Chess Client Đây là lớp quan trọng nhất trong chương trình cờ vua client nó có các biến cũng như các đối tượng quan trọng để giao tiếp với server. Cơ bản JframeChessClient chứa các đối tượng như BanCo, NguoiChoi và nó còn chứa cả JpanelKetNoi. Ngoài ra nó còn chứa các biến như USER, PLAY, CONPLAY để nhận diện dữ liệu nhận từ server là gì? Như là danh sách user, bàn cờ. Các biến này còn giúp client có thể giao tiếp với server, để server biết client đang gửi cái gì cho nó và đối thủ. Ngoài ra JframeChessClient còn các đối tượng để giao tiếp, truyền nhận dữ liệu với server như là ObjectInputStrem, ObjectOutputStream, Socket, Thread. Trong lớp này cũng có nhiều hàm quan trọng như: + public void xuLyNutAn(OCo Oco): gửi bàn cờ đã được update từ 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 cầu, còn nếu là CONPLAY thì server sẽ gửi bàn cờ đã được update từ client yêu cầu đến client bên đối thủ. + public void lietKe(ObjectOutputStream oout): là hàm liệt kê các người chơi và gửi danh sách người chơi về cho client yêu cầu. + public void play(Integer i,Integer j): là hàm có nhiệm vụ gửi bàn cờ khởi tạo ban đầu cho người chơi yêu cầu và người chơi được yêu cầu. + private void goiBanCoChoDoiPhuong(): đây là hàm sẽ gửi bàn cờ đã update từ client yêu cầu gửi đến client đối thủ để cập nhật lại bàn cờ. IV/ HẠN CHẾ CỦA CHƯƠNG TRÌNH [...]...- Chương trình còn thô sơ chưa có nhiều chức năng như: newgame… - Chương trình cờ vua chỉ mới có thể giao tiếp trên mạng giữa 2 máy client, nhưng vẫn chưa được cập nhật luật chơi nên gây khó khăn khi chơi Vậy mong thầy và các bạn thông cảm, bọn mình sẽ có gắng hoàn thiện chương trình về sau THE END . 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ờ. 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. 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
- Xem thêm -

Xem thêm: 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 pps, 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 pps, 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 pps

Từ khóa liên quan

Gợi ý tài liệu liên quan cho bạn