TRÒ CHƠI ĐÁNH CỜ CARÔ

Một phần của tài liệu Lập trình đa phương tiện (Multimedia) trên nền tảng Android (Trang 82 - 87)

Đánh cờ ca rô là một trò chơi đối kháng khá quen thuộc đối với chúng ta, rất thích hợp để giải trí nhẹ nhàng dành cho cho mọi người từ các bé, học sinh, sinh viên, giới công chức văn phòng,... Game đánh cờ ca rô, một trò chơi rất đơn giản nhưng lại đòi hỏi nhiều sự thông minh và tính toán nước đi khéo léo ở người chơi.

Cờ carô là một trò chơi rất thông dụng trên toàn thế giới dưới những cái tên khác nhau: cờ carô, gomoku, renju, nought and crosses, croix-zero, five-in-a-row, connect5, itsutsu-ishi, gobang, piskvorky, kolko i kyzyk. Luật chơi cũng có đôi chỗ khác nhau, nhưng luật cơ bản là hai bên thay phiên nhau đi những nước đi bằng các dấu X, O (hoặc bằng các quân cờ đen, trắng, xanh, đỏ) trên bàn cờ 15x15 ô, bên nào có đường 5 quân liền nhau trên một hàng, một cột hoặc một đường chéo là thắng. 3. MỤC TIÊU CẦN ĐẠT ĐƯỢC

 Xây dựng game đánh cờ ca rô hỗ trợ hai người chơi.

 Tích hợp âm thanh vào game.

 Thiết kế các hàm, phương thức trong game hỗ trợ nhận dữ liệu từ mạng, hướng đến chức năng chơi đối kháng game ca rô online trên thiết bị.

 Thiết kế các form hỗ trợ việc đăng ký, đăng nhập, thay đổi mật khẩu, danh sách người chơi, … phục vụ cho chơi game online.

 Cài đặt thành công giao thức trò chơi đối kháng dựa trên khung nền IRC. 4. HƯỚNG GIẢI QUYẾT

1. Làm quen với lập trình trên nền tảng Android.

2. Xây dựng kịch bản game, các chức năng của hệ thống. 3. Thiết kế các form, giao diện cho ứng dụng.

4. Xây dựng game đánh cờ ca rô.

5. Xây dựng các hàm chức năng hỗ trợ chơi online. 5. SƠ ĐỒ USECASE, SƠ ĐỒ CLASS

5.1. Sơ đồ user case, sơ đồ class giữa các thành phần giao diện

User Login Register Change Password Get Password Chat Play Game Ca Ro Online

Activity About ChangePass Chat GetPass GoMoKu GoMoKuGame Login Register Tabplay Wingame BackgroundProgress BackgroundService Online

Hình 3.2: Sơ đồ class mức khái niệm mối quan hệ giữa các Activity

5.2. Thông tin các Class

5.2.1. Class GoMoKu

Đây là class hiển thị giao diện menu chính của game. Tại class này ứng dụng sẽ tự động kết nối với server IRC bằng một nickname ngẫu nhiên.

5.2.2. Class BackgroundProgress

Class thực hiện các service xử lý việc lưu thông dữ liệu trên mạng. 5.2.3. Class BackgroundProgress

Class thực hiện các service xử lý việc lưu thông dữ liệu trên mạng. 5.2.4. Class About

Class dùng để hiển thị thông tin liên quan đến phiên bản ứng dụng, thông tin về những người thực hiện ứng dụng này.

5.2.5. Class Register

Class dùng để đăng ký thông tin thành viên. Tại class này bạn sẽ vào kênh đăng ký trên server IRC và thực hiện các lệnh trong protocol để đăng ký thành viên.

5.2.6. Class Login

Class dùng để đăng nhập hệ thống chơi game. Tại class này bạn sẽ vào kênh đăng nhập trên server IRC và thực hiện các lệnh trong protocol để đăng nhập hệ thống chơi game.

5.2.7. Class Online

Hiển thị danh sách người chơi, và cho phép người dùng sử dụng các chức năng như: mời chơi, xem thông tin những người khác và chat.

5.2.8. Class ChangePass

Thực hiện các lệnh trong protocol để thay đổi mật khẩu thành viên. 5.2.9. Class GetPass

Thực hiện các lệnh trong protocol để lấy lại mật khẩu thành viên. 5.2.10.Class Chat

Thực hiện các lệnh trong protocol để các các thành viên có thể chat với nhau trên server IRC.

5.2.11. Class TabPlay

Hiển thị dưới dạng tab.

5.2.12. Class GoMoKuGame GoMoKuGame +KEY_PLAYER +gameview +gameInProgress +board +EMPTY +RED +BLUE +GAME_SIZE +currentPlayer +mp +doNewGame() +winner() +count() +getTile() +setTile() +checkWin() +playgame() Hình 3.3: Class GoMoKuGame

Class này sẽ thông qua các phương thức để thực hiện việc lưu tọa độ quân cờ, kiểm tra thắng thua và đổi lượt đi.

Các phương thức quan trọng trong class GoMoKuGame:

- doNewGame(): khởi tạo một mảng rổng để chứa tọa độ các quân cờ. - winner(): Kiểm tra nước cờ vừa đi có dẫn đến chiến thắng hay không.

- count(): đếm số quân cờ theo chiều dọc, ngang, và đường chéo hỗ trợ cho hàm winner.

- getTile(): lấy tọa độ quân cờ tại vị trí nào đó trên màn hình thiết bị. - setTile(): định một con cờ vào một vị trí nhất định.

- checkWin(): gọi hiển thị giao diện chào mừng và gởi tin nhắn thông báo kết quả cho BOT.

- gamePlay(): nhận tọa độ con cờ, ghi con cờ vào mảng và gọi hàm kiểm tra chiến thắng.

5.2.13. Class GoMoKuView

Đây là cửa sổ giao diện của ứng dụng. Nhận tọa độ từ mạng thông qua các lớp xử lý mạng sau đó vẽ lại bàn cờ.

5.2.14. Class Tool

Thay đổi kích thước hình ảnh cho phù hợp với bàn cờ. 6. ĐẶC TẢ CHỨC NĂNG

6.1. Chức năng đăng ký thông tin

 Mô tả chức năng:

Cho phép người dùng đăng ký làm thành viên của hệ thống chơi game đánh cờ ca rô online trên thiết bị Android.

 Mô tả hoạt động:

Người dùng sẽ điền đầy đủ thông tin vào form Register. Sau đó ứng dụng sẽ tổng hợp thông tin gởi lên kênh Register (đây là một kênh chat trên server IRC). Tại kênh

Register này BOT (IRC client: làm nhiệm vụ lưu trữ thông tin, điều khiển việc đăng

ký đăng nhập và chơi cờ trên server IRC) sẽ nhận thông tin đăng ký, kiểm tra nếu thông tin mà thiết bị gởi lên hợp lệ BOT sẽ lưu trữ thông tin vào cơ sở dữ liệu. 6.2. Chức năng đăng nhập

 Mô tả chức năng:

Giúp người dùng chứng thực thông tin đăng nhập vào hệ thống chơi game ca rô online.

 Mô tả hoạt động:

Người dùng điền thông tin đăng nhập bao gồm: username và password vào form

LOGIN, ứng dụng sẽ lấy thông tin gửi lên BOT, BOT kiểm tra thông tin đăng và gửi

thông báo trạng thái đăng nhập về cho người dùng. 6.3. Chức năng lấy lại mật khẩu đã mất

Cho phép người dùng lấy lại thông tin mật khẩu khi người dùng quên hoặc bị mất mật khẩu đã đăng ký với hệ thống trước đó.

 Mô tả hoạt động:

Người dùng sẽ điền đầy đủ thông tin vào form Get Password, ứng dụng sẽ gửi thông tin này lên BOT kiểm tra, nếu thông tin hợp lệ, BOT sẽ thay thể mật khẩu hiện có trên hệ thống bằng một mật khẩu mới, sau đó gửi thông tin mật khẩu và tên đăng nhập về Email của người dùng.

6.4. Chức năng thay đổi mật khẩu

 Mô tả chức năng:

Giúp người dùng thay đổi mật khẩu đăng nhập vào hệ thống để chơi game.

 Mô tả hoạt động:

Người dùng sẽ điền đầy đủ thông tin username, password, confirm password. Sau đó ứng dụng sẽ gởi thông tin lên BOT và cập nhật lại mật khẩu.

6.5. Chức năng chơi cờ ca rô online

 Mô tả chức năng:

Chơi cờ ca rô online trên server IRC với người dùng khác trên hai thiết bị sử dụng nền tảng Android.

6.6. Chức năng chat

Người dùng có thể chat với nhau thông qua hệ thống IRC được tích hợp sẵn trên ứng dụng.

6.7. Chức năng xem thông tin người chơi

Người dùng có thể xem thông tin như: cấp độ, nickname, email những người cùng chơi.

Một phần của tài liệu Lập trình đa phương tiện (Multimedia) trên nền tảng Android (Trang 82 - 87)

Tải bản đầy đủ (DOCX)

(99 trang)
w