Tải bản đầy đủ
Hình 2.14 Biểu đồ cộng tác UC “Add/Edit Description”

Hình 2.14 Biểu đồ cộng tác UC “Add/Edit Description”

Tải bản đầy đủ

2.2.4.7 UC Filter game
- Mục đích: Yêu cầu hệ thống chỉ hiện thị danh sách các Sudoku đã được lọc
theo một tiêu chí nào đó.
- Luồng sự kiện chính:
Hành động của tác nhân

Phản ứng của hệ thống

1. Tại giao diện FolderList, chọn một
mức chơi
2. Truy vấn CSDL và liệt kê các Sudoku
của mức chơi hiện tại ra giao diện
PuzzleList
3. Chọn menu “Filter game”
4. Hiện thị Dialog cho phép người chơi
lựa chọn trạng thái của các Sudoku
muốn hiển thị
5. Chọn các trạng trạng thái
6. Truy vấn cơ sở dữ liệu và hiển thị lại
danh sách các Sudoku đã được lọc lên
giao diện PuzzleList

60

Hình 2.15 Biểu đồ trình tự UC “Filter Game”

61

Hình 2.16 Biểu đồ cộng tác UC “Filter Game”

62

2.2.5 Biểu đồ lớp của hệ thống

Hình 2.17 Biểu đồ lớp của hệ thống

63

CHƯƠNG 3. CÀI ĐẶT CHƯƠNG TRÌNH
3.1 Thiết kế cơ sở dữ liệu
Chương trình lưu thông tin về game trong cơ sở dữ liệu gồm 2 bảng:
- Bảng Folder: Mỗi folder đại diện cho một level của game, và nó chứa một
số Sudoku ứng với level đó.
- Bảng Sudoku: Chứa dữ liệu của mỗi Sudoku.

Folder table
Thuộc tính

Diễn giải

Kiểu dữ liệu

Khóa

_id

Mã Folder

Integer

PK

created

Ngày tạo folder

Integer

name

Tên folder

Text

Bảng 3.1 Chi tiết bảng Folder

64

Sudoku table
Thuộc tính

Diễn giải

Kiểu dữ liệu

Khóa

_id

Mã Sudoku

Integer

PK

Folder_id

Mã folder chứa Sudoku

Integer

FK

Created

Ngày tạo Sudoku

Integer

state

Trạng thái Sudoku

Integer

Last_played

Thời gian đã chơi Sudoku
này
Lần cuối chơi Sudoku này

data

Dữ liệu của Sudoku

Text

puzzle_description

Ghi chú về Sudoku

Text

time

Integer
Integer

Bảng 3.2 Chi tiết bảng Sudoku
3.2 Một số lớp chính trong chương trình
- Lớp Cell.java: Lớp này biểu diễn cho một ô trong 1 Sudoku game. Mỗi ô
có các giá trị như: nhóm, chỉ số hàng, chỉ số cột, giá trị, ghi chú. Lớp cũng bao gồm
một số phương thức cho phép khởi tạo ô hoặc trả về các thuộc tính của ô từ chuỗi dữ
liệu đầu vào.
- Lớp CellGroup.java: Lớp này biểu diễn cho một nhóm các Cell. Mỗi
CellGroup có thể là một hàng, một cột hay một khối 3x3 chứa 9 Cell (với Sudoku
dạng chuẩn 9 hàng, 9 cột).
- Lớp CellCollection: Lớp này đại diện cho một tập hợp tất cả các Cell của
một game Sudoku. Nó có các thuộc tính như: tập hợp các Cell theo ma trận 9x9, tập
các CellGroup.

65