Quay lại danh sách dự án
Kỹ thuật phần mềm2024Dự án phần mềm

Othello - Trò chơi bàn cờ bằng Java

Ứng dụng Othello JavaFX được tổ chức như một sản phẩm phần mềm dễ bảo trì, tách biệt logic, giao diện, kiểm thử và quy trình bàn giao.

Java 22JavaFXGradleJUnitGitLab CI
Hình xem trước của Othello - Trò chơi bàn cờ bằng Java

Định hướng kỹ thuật

Xây dựng một dự án hoàn chỉnh, không chỉ riêng tính năng.

Tôi xây dựng Othello như một ứng dụng desktop hoàn chỉnh thay vì chỉ ghép luật chơi với các nút bấm. Mỗi trách nhiệm có vị trí rõ ràng và hành vi có thể được kiểm thử mà không cần mở giao diện.

Mục tiêu kỹ thuật

Trò chơi phải xử lý nước đi hợp lệ, lật quân, điểm số, nhiều chế độ, hoàn tác và lưu ván chơi, trong khi giao diện JavaFX vẫn độc lập với luật cốt lõi.

Cấu trúc dự án

Bốn nhóm trách nhiệm với ranh giới rõ ràng

01

Miền nghiệp vụ

Bàn cờ, quân cờ, người chơi, vị trí và luật Othello được mô tả bằng Java thuần, không phụ thuộc JavaFX.

02

Luồng ứng dụng

Gameplay và controller điều phối lượt chơi, điểm số, chế độ và lịch sử trạng thái.

03

Lớp hiển thị

Gói graphics định nghĩa giao diện dùng lại, còn JavaFX xây dựng cửa sổ, bàn cờ và tương tác.

04

Hạ tầng

Cấu hình, lưu tệp, Java modules và Gradle kết nối ứng dụng với hệ điều hành.

Nguyên tắc làm việc

Những lựa chọn giúp thay đổi dễ kiểm soát

Phụ thuộc vào hợp đồng rõ ràng

Interface giữa controller và view giúp logic không bị phụ thuộc vào một màn hình cụ thể.

Quản lý trạng thái có chủ đích

Mỗi nước đi tạo một bản chụp trạng thái dùng cho hoàn tác, lưu và khôi phục ván chơi.

Kiểm thử độc lập

46 bài kiểm thử JUnit và Mockito bao phủ luật, người chơi, gameplay và controller mà không cần chạy JavaFX.

Tài liệu hóa cách khởi chạy

README giải thích cách build, test và chạy dự án trên macOS, Linux và Windows.

Quy trình bàn giao chuyên nghiệp

Build, kiểm tra và đóng gói nhất quán mỗi lần

Build có thể tái lập

Gradle wrapper đảm bảo mọi thành viên dùng cùng một quy trình mà không phải cài Gradle toàn cục.

Kiểm tra tự động

GitLab CI build dự án với JDK 22 và lưu tệp JAR dưới dạng artifact.

Đóng gói desktop

Java module system và jlink chuẩn bị môi trường chạy độc lập với đủ thư viện cần thiết.

Bản chơi thử

Luật chơi được chạy trực tiếp trên trình duyệt

Phiên bản cho trình duyệt

Chơi Othello với luật cốt lõi

Đặt quân vào ô được đánh dấu để bao vây và lật quân đối phương. Bạn có thể chọn chế độ hai người chơi hoặc đấu với AI Minimax của dự án.

Chế độ chơi

Quân đen

2

Quân trắng

2

Lượt của bạn (quân đen). Bạn đang đấu với AI.

Tổng kết

Những năng lực dự án thể hiện

Kết quả quan trọng không chỉ là một trò chơi có thể chơi được, mà là codebase có ranh giới rõ ràng: luật có thể phát triển độc lập, giao diện có thể thay thế, kiểm thử bảo vệ hành vi và quy trình bàn giao nằm ngay trong repository.