4.2. Sơ đồ hoạt động: 4.2.1. Đăng nhập:
4.2.2. Mua Puppy:
4.2.3. Bán Puppy:
4.2.4. Cho Puppy giao phối:
4.2.5. Tạo Puppy:
4.2.6. Nhượng quyền Puppy:
4.3. Sơ đồ trạng thái: 4.3.1. Đăng nhập: 4.3.1. Đăng nhập:
4.3.2. Xem tất cả Puppies:
4.3.3. Phối giống:
4.3.4. Chuyển nhượng:
4.4. Sơ đồ lớp:
4.4.1. Sơ đồ lớp hoàn chỉnh:
4.4.2. Danh sách các lớp đối tượng:
STT Tên lớp Loại Chú thích
1 Ownable Concrete class Chứa thông tin về chủ sở hữu (nhà phân phối) của trò chơi và phương thức thay đổi địa chỉ của chủ sở hữu đó.
2 Puppy Instance class Định nghĩa các thuộc tính của một con vật trong trò chơi (bao gồm mã gen, thời gian sinh, thời gian bắt đầu cooldown trước khi có thể giao phối, ID của bố mẹ, ID của con vật được giao phối cùng, chỉ số cooldown và chỉ số thế hệ).
3 Cooldown Instance class Định nghĩa các mốc thời gian cooldown trước khi có thể giao phối của Puppies.
4 PuppyBase Concrete class Chứa cơ sở dữ liệu những con vật có trong trị chơi, địa chỉ (address) của chủ sở hữu (owner) của trò chơi và một số phương thức để tạo, chuyển nhượng Puppies.
5 ERC721 Interface Định nghĩa các phương thức cần thiết để tổ chức, chuyển nhượng, thể hiện quyền sở hữu NFTs theo tiêu chuẩn ERC721.
6 PuppyOwnership Concrete class Chứa các phương thức tra cứu chủ sở hữu của Puppies, những Puppies mà một người sở hữu, chuyển nhượng cũng như các
phương thức khác liên quan.
7 GeneScience Instance class Chứa thuật toán phối giống (với mã gen của bố và mẹ) để truy xuất trong PuppyBreeding.
8 PuppyBreeding Concrete class Chứa các phương thức để khởi tạo việc mang thai và sinh sản của Puppy trong trò chơi.
9 PuppyMinting Concrete class Bao gồm các phương thức khởi tạo Puppies nhằm quảng bá trò chơi (hoặc tặng cho người chơi khi cần thiết).
10 PuppyCore Concrete class Gồm những phương thức phục vụ việc truy cập, lấy thông tin về Puppies.