1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Đề tài trò chơi cờ vua

26 1 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI o0o Đề tài: TRÒ CHƠI CỜ VUA Nhóm thực : Nhóm số - CNTT1 - K61 Danh sách sinh viên tham gia : STT Mã sinh viên Họ tên 201210118 Trần Huy Hiệp (Trưởng nhóm) 201210098 Vũ Huy Đức 201205061 Phan Văn Thường Hà nội, ngày 02 tháng 04 năm 2022 Mục Lục Lời mở đầu 1 Giới thiệu đề tài: 1.1 Mở đầu: 1.2 Cách chơi: 2 Mô tả game: 2.1 Giao diện game: 2.2 Tính game: Mô tả lớp game: 11 3.1 Cấu trúc file: 11 3.2 Các lớp hàm: .11 Trình tự Game Cờ Vua 22 Lời mở đầu Trò chơi cờ vua (Chess Game) trò chơi cổ điển phổ biến giới trị chơi trí tuệ cực hay hấp dẫn Khi tham gia trị chơi giúp bạn rèn luyện khả tư nhạy bén Đây môn thể thao tổ chức với quy mô lớn nhỏ khác khắp giới Tại Việt Nam, Đại kiện tướng quốc tế tiếng Lê Quang Liêm Trong thời đại 4.0 nay, không thiết phải mua bàn cờ vua để chơi mà tải ứng dụng game cờ vua tảng cửa hàng Appstore, CHPlay, ….trên thiết bị điện tử cá nhân Nhận biết nhu cầu này, nhóm chúng em gồm ba thành viên Trần Huy Hiệp, Phan Văn Thường, Vũ Huy Đức thực xây dựng phát triển game cờ vua tảng số hóa Điều quan trọng game cờ vua chiến thuật chiến lược người chơi Ngay từ nước tham gia vào ván cờ, người chơi cần phải phát triển quân xây dựng cờ, mục đích để tạo cấu trúc liên kết mạnh mẽ Đây gọi giai đoạn dàn quân chiếm giữ vị trí quan trọng trung tâm bàn cờ Cốt lõi việc dàn quân để người chơi tính tốn phương án cơng phịng ngự Thế cờ phịng thủ nhằm mục đích bảo vệ Vua khỏi nước công đối phương Ngược lại, cờ công triển khai tốt, đứng quân cờ đẹp giúp người chơi chiếm giữ công vùng đất quan trọng bàn cờ, đem lại nhiều lợi để làm bàn đạp giành chiến thắng chung 1 Giới thiệu đề tài: 1.1 Mở đầu:  Trò chơi cờ vua (Chess Game) trò chơi cổ điển phổ biến giới trị chơi trí tuệ cực hay hấp dẫn Khi tham gia trị chơi giúp bạn rèn luyện khả tư nhạy bén Đây môn thể thao tổ chức với quy mô lớn nhỏ khác khắp giới Tại Việt Nam, Đại kiện tướng quốc tế tiếng Lê Quang Liêm  Trong thời đại 4.0 nay, không thiết phải mua bàn cờ vua để chơi mà tải ứng dụng game cờ vua tảng cửa hàng Appstore, CHPlay, ….trên thiết bị điện tử cá nhân Nhận biết nhu cầu này, nhóm chúng em gồm ba thành viên Trần Huy Hiệp, Phan Văn Thường, Vũ Huy Đức thực xây dựng phát triển game cờ vua tảng số hóa  Điều quan trọng game cờ vua chiến thuật chiến lược người chơi Ngay từ nước tham gia vào ván cờ, người chơi cần phải phát triển quân xây dựng cờ, mục đích để tạo cấu trúc liên kết mạnh mẽ Đây gọi giai đoạn dàn quân chiếm giữ vị trí quan trọng trung tâm bàn cờ  Cốt lõi việc dàn quân để người chơi tính tốn phương án cơng phịng ngự Thế cờ phịng thủ nhằm mục đích bảo vệ Vua khỏi nước công đối phương Ngược lại, cờ công triển khai tốt, đứng quân cờ đẹp giúp người chơi chiếm giữ công vùng đất quan trọng bàn cờ, đem lại nhiều lợi để làm bàn đạp giành chiến thắng chung 1.2 Cách chơi:  Trị chơi cờ vua diễn bảng hình vng gọi bàn cờ, gồm hàng cột tạo 64 hình vng với màu đen trắng xen kẽ Một ván cờ có người chơi, người chơi bắt đầu trò chơi với 16 quân cờ, người chơi quân cờ sau đối phương di chuyển xong  Các quân cờ vua bên gồm quân tốt, quân mã, quân tượng, quân xe, quân hậu qn vua Trong đó, người cầm qn trắng ln ln người trước Ván cờ kết thúc người chơi bị ăn vua  Giới thiệu nguyên lý di chuyển quân cờ: - Quân Vua (King): quân cờ quan trọng bậc vua bị ăn ván cờ kết thúc Chính vậy, việc bảo vệ vua nhiệm vụ ưu tiên hàng đầu Nhà vua di chuyển tiêu diệt quân đối phương theo hàng ngang, dọc chéo Tuy nhiên, quân vua ô liền kề Vua trắng Vua đen - Quân Hậu (Queen): bàn cờ, quân hậu quân cờ đa xem quân cờ quan trọng thứ hai sau quân Vua Cũng di chuyển ngang, dọc chéo quân Vua quân Hậu không bị giới hạn số ô di chuyển Hậu trắng Hậu đen - Quân Tượng (Bishop): quân cờ di chuyển chéo khơng bị giới hạn số ô di chuyển Tượng trắng Tượng đen - Quân Mã (Knight): quân cờ có nước tương đối đặc biệt, quân Cờ di chuyển theo hình chữ L ngang dọc Đặc biệt, quân Mã không bị cản trở, xuyên qua quân cờ khác Mã trắng Mã đen - Quân Xe (Rook): quân cờ di chuyển theo hướng dọc, ngang không bị giới hạn số ô di chuyển Xe trắng Xe đen - Quân Tốt (Pawn): quân cờ di chuyển theo chiều dọc phép tiến phía trước, khơng lùi lại Tuy qn Tốt thẳng lại ăn chéo Quân Tốt di chuyển tối đa liền kề tồn bàn cờ di chuyển tối đa ô liền kề nửa sân bên Tốt trắng Tốt đen Mô tả game: 2.1 Giao diện game:  Màn hình menu game (màn hình chức năng):  Màn hình chơi game: 2.2 Tính game:  Di chuyển quân cờ:  Ăn quân cờ đối phương:  Phong hậu:  Các nút chức năng: Nút Pause: cho phép dừng chơi dừng thời gian Nút Restart: xóa ván chơi cũ bắt đầu ván chơi Nút Exit: thoát game  Hiển thị nước đi: 10 Mô tả lớp game: 3.1 Cấu trúc file: 3.2 Cá c lớ p hà m:  Class Main: lớp có vai trò khởi động game 11  Class Controller: lớp đóng vai trị điều khiển game  Class Game: lớp đóng vai trị quan trọng chương trình, bên gồm hàm khởi tạo, điều khiển game, giao diện game,…  Hàm tạo Game: o Khai báo quân cờ từ file quân cờ package piece lồng package spot o Xây dựng bàn cờ ghép ảnh từ file chess.png chỉnh vị trí ảnh phù hợp với vị trí o Vẽ bàn cờ từ Graphics o Frame thêm MouseOptionListener có hàm mouseDragged: o Frame thêm MouseListener có hàm mouseClicked, mousePressed, mouseReleased: 12 13 o Tạo Jlabel chạy đồng hồ TimeLabel1 TimeLabel2: o Tạo Jlabel chứa tên người chơi: 14 o Tạo Jlabel chứa bước đi người chơi: o Tạo Button bao gồm Pause, Restart, Exit: : o Cài đặt Jframe: 15  Hàm khởi tạo thuộc tính Timer1:  Hàm khởi tạo thuộc tính Timer2: 16  Hàm ActionPerformed chứa kiện xảy với Jbutton: Pause, Restart, Exit:  Hàm start1, start2 dùng để chạy thời gian Timer1 Timer2: 17  Hàm stop1, stop2 dùng để dừng thời gian Timer1 Timer2:  Hàm getSpot dùng để xác định vị trí tọa độ trỏ:  Hàm Bkinglive, Wkinglive dùng để kiểm tra vua đen cịn sống hay khơng:  Hàm playMusic chạy nhạc từ setFile(i):  Hàm StopMusic dùng để dừng nhạc:  Hàm PlaySE: 18  Các phương thức getter setter Class Sound: class hỗ trợ audio / âm cho game, khiến game thêm thú vị, than thiện sinh động với người chơi  Hàm Sound(): khởi tạo đường dẫn để đến file âm  Hàm setFile(int i): mở file âm tương ứng với đường dẫn i  Hàm play: bắt đầu bật âm  Hàm loop: giúp cho file âm mở lặp lặp lại  Hàm stop: dừng file âm  Class Menu: class giao diện khởi đầu game  Hàm Menu: hàm tạo gồm JFrame, JButton, Jlabel hỗ trợ tạo nên giao diện mở đầu game 19  Hàm playMusic, stopMusic playSE: hỗ trợ chơi nhạc, dừng nhạc, lặp lại nhạc, đọc file nhạc  Hàm ActionPerformed: hàm bắt kiện với hai Button start exit  Interface Spot: chứa phương thức cần thiết lớp kế thừa (các lớp quân cờ) có phương thức di chuyển  Package piece: chứa lớp quân cờ  Class Piece o Các thuộc tính: - int x: tọa độ theo trục hoành - int y: tọa độ theo trục tung - int px: tọa độ theo trục hoành thực tế pixel - int py: tọa độ theo trục tung thực tế pixel - boolean color: màu sắc quân cờ (true quân trắng, false quân đen) 20 - boolean isDead: quân cờ chết hay chưa (true chết, false sống) - String name: tên quân cờ o Các phương thức: - Khởi tạo - Các phương thức getter, setter - Di chuyển: move(int xp, int yp, boolean canMove) - Bị giết: kill()  Class Bishop (quân tượng) o Các thuộc tính: - Piece a: lưu thuộc tính quân tượng 21     o Các phương thức: - Khởi tạo: Bishop(Piece a) - Các phương thức setter, getter - Di chuyển move(int x, int y) + Kiểm tra đầu vào + Kiểm tra đường chéo chính, phụ + Kiểm tra đích đến qn cờ có màu + Kiểm tra đường có qn cờ khơng, có qn cờ khơng thể tới điểm x, y Class King o Các thuộc tính: - Piece a: lưu thuộc tính quân vua - int countTurn = 0: đếm số nước (phục vụ cho hàm nhập thành) o Các phương thức: - Các hàm khai báo, getter, setter - Di chuyển: move(int x, int y) + Kiểm tra nhập thành + Di chuyển phía xung quanh Class Knight (quân mã) o Các thuộc tính: - piece a: lưu thuộc tính quân mã o Các phương thức: - Khởi tạo, getter, setter - Di chuyển move(int x, int y) + Nếu vị trí có tọa độ x, y khơng có qn cờ trùng màu tọa độ x, y không vượt tọa độ cho phép bàn cờ quân mã di chuyển tới tọa độ Class Pawn (quân tốt) o Các thuộc tính: - piece a: lưu thuộc tính quân tốt o Các phương thức: - Khởi tạo, getter, setter - Di chuyển move(int x, int y) + Phong hậu đến cuối bàn cờ + Giết chéo + Đi thẳng nước + Có thể nước bắt đầu Class Queen (quân hậu) o Các thuộc tính: 22 - piece a: lưu thuộc tính quân hậu o Các phương thức: - Khởi tạo, getter, setter - Di chuyển move(int x, int y) + Di chuyển dọc, ngang: tương tự quân xe (rook) + Di chuyển chéo: tương tự quân tượng (bishop)  Class Rook (quân xe) o Các thuộc tính: - piece a: lưu thuộc tính quân xe - int countTurn = 0: đếm số nước (phục vụ cho hàm nhập thành) o Các phương thức: - Khởi tạo, getter, setter - Di chuyển move(int x, int y) + Kiểm tra nhập thành (tương tự vua) phải kiểm tra số lượt vua xe vua xe khơng có qn cờ nằm tiến hành nhập thành Tùy thuộc vào nhập thành cánh vua hay cánh hậu mà ta thay đổi tọa độ quân cờ tương ứng + Di chuyển ngang, dọc Kiểm tra điểm xuất phát điểm đích đến có qn cờ cản khơng, có khơng cho phép Tại điểm đến phải trống tồn quân cờ khác màu Trình tự Game Cờ Vua Khi người chơi khởi động Game Cờ Vua, hình giao diện mở đầu lên với lựa chọn có sẵn Start Exit Nếu người chơi chọn Exit Game Nếu người chơi chọn Start, hình Game với bàn cờ quân cờ phía bên trái tính khác phía bên phải Ngay sau người chơi nhấn Start, đồng hồ đếm ngược cho lượt quân trắng bắt đầu chạy, người chơi có 15 phút để tính tốn di chuyển quân cờ, đồng hồ bên 0, bên lại giành chiến thắng Người chơi di chuyển quân trắng lượt đầu theo luật Cờ Vua thống, sau quân trắng xong lượt quân đen, đồng hồ đếm ngược cho lượt quân đen bắt đầu chạy quân đen di chuyển tiếp tục Phía bên trái hình tính nước quân cờ, lên lượt quân trắng đến lượt quân đen, người chơi cuộn lên để xem nước trước Phí bên phải hình chức ba nút Pause, Restart Exit Trong đó, nút Pause (dừng) hỗ trợ người chơi dừng game có việc bận, hình sau lên thơng báo dừng kèm lượt bên nào, đồng thời nút Pause chuyển thành nút Continue (tiếp tục) việc dừng game khiến cho người chơi di chuyển 23 quân cờ đồng hồ dừng hoạt động người chơi nhấn nút Continue để tiếp tục chơi Tiếp theo, nút Restart hỗ trợ người dùng việc khởi động ván game mới, đồng nghĩa với việc xóa ván game cũ, đồng hồ lượt quân trắng đếm ngược sau người chơi nhấn nút Restart Cuối nút Exit, nút Exit hỗ trợ thoát game, đóng hẳn tab chơi game 24

Ngày đăng: 15/05/2023, 08:31

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w