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

ĐỒ án JAVA xây DỰNG TRÒ CHƠI SUDOKU

35 7 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

Thông tin cơ bản

Tiêu đề Đồ Án Java Xây Dựng Trò Chơi Sudoku
Tác giả Lê Thành Hậu - 1811062932, Phạm Phúc Thịnh - 1811063154, Lê Huỳnh Ý - 1811061247
Người hướng dẫn TS. Nguyễn Thị Hải Bình
Trường học Trường Đại Học Công Nghệ Tp. Hcm
Chuyên ngành Công Nghệ Thông Tin
Thể loại đồ án
Năm xuất bản 2022
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 35
Dung lượng 0,94 MB

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM ĐỒ ÁN JAVA XÂY DỰNG TRÒ CHƠI SUDOKU Ngành: CÔNG NGHỆ THÔNG TIN Chuyên ngành: CÔNG NGHỆ PHẦN MỀM Giảng viên hướng dẫn: TS Nguyễn Thị Hải Bình Lớp: 18DTHJB1 Sinh viên thực hiện: Lê Thành Hậu - 1811062932 Phạm Phúc Thịnh - 1811063154 Lê Huỳnh Ý - 1811061247 TP Hồ Chí Minh, 2022 MỤC LỤC CHƯƠNG 1: TỔNG QUAN 1.1 Giới thiệu đề tài 1.2 Cơ sở lý thuyết 1.2.1 Java 1.2.2 Java Swing CHƯƠNG 2: XÂY DỰNG TRÒ CHƠI SUDOKU 2.1 MỤC TIÊU 2.2 GIAO DIỆN CHƯƠNG 3: CÀI ĐẶT 19 3.1 Input 19 3.2 Đồng hồ 19 3.3 New game 21 3.4 Reset game 21 3.5 Pause 21 3.6 Resume 21 3.7 Submit 22 3.8 Level 22 3.9 Help 22 3.10 Code để thiết kế giao diện 23 3.11 Code thiết kế giao diện chức để nhập liệu 26 CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG GIẢI QUYẾT 32 4.1 Ưu nhược điểm 32 4.2 Hướng giải 32 TÀI LIỆU THAM KHẢO 33 CHƯƠNG 1: TỔNG QUAN 1.1 Giới thiệu đề tài − Tên đề tài: Trị chơi Sudoku − Mơ tả: trị chơi dành cho người dùng để giải trí − Ngơn ngữ lập trình: java − Nền tảng: Apache Netbeans IDE 12.5 − Đối tượng sử dụng: người dùng 1.2 Cơ sở lý thuyết 1.2.1 Java Java một ngơn ngữ lập trình đại, bậc cao, hướng đối tượng, bảo mật mạnh mẽ Platform Platform: Bất môi trường phần cứng phần mềm mà có chương trình chạy, hiểu Platform Với môi trường runtime riêng cho (JRE) API, Java gọi Platform Ngơn ngữ lập trình Java ban đầu phát triển Sun Microsystems James Gosling khởi xướng phát hành vào năm 1995 Phiên Java Standard Edition Java SE Với tiến Java phổ biến rộng rãi nó, nhiều cấu hình xây dựng để phù hợp với nhiều loại tảng khác Ví dụ: J2EE cho ứng dụng doanh nghiệp, J2ME cho ứng dụng di động Các phiên J2 đổi tên thành Java SE, Java EE Java ME Phương châm java "Write Once, Run Anywhere" - viết lần chạy nhiều nơi, nghĩa bạn cần viết lần window chẳng hạn, sau chương trình bạn chạy Linux, Android, thiết bị J2ME… 1.2.1.1 Các tính Java Ngơn ngữ lập trình java có tính sau: • Hướng đối tượng - Trong Java, thứ Object Java dễ dàng mở rộng bảo trì xây dựng dựa mơ hình Object • Nền tảng độc lập - Khơng giống nhiều ngơn ngữ lập trình khác bao gồm C C ++, Java biên dịch, khơng biên dịch thành ngơn ngữ máy tảng cụ thể, thay vào mã byte - tảng độc lập Mã byte thông dịch máy ảo (JVM) tảng mà chạy • Đơn giản - Java thiết kế để dễ học Nếu bạn hiểu khái niệm OOP Java, dễ để trở thành master java • Bảo mật - Với tính an tồn Java, cho phép phát triển hệ thống khơng có virut, giả mạo Các kỹ thuật xác thực dựa mã hố khóa cơng khai • Kiến trúc - trung lập - Trình biên dịch Java tạo định dạng tệp đối tượng kiến trúc trung lập, làm cho mã biên dịch thực thi nhiều vi xử lý, với diện hệ điều hành Java • Portable - Là kiến trúc tập trung khơng có khía cạnh thực phụ thuộc đặc tả làm cho Java khả chuyển Trình biên dịch Java viết ANSI C, tập POSIX • Mạnh mẽ - Java làm nỗ lực để loại trừ tình dễ bị lỗi cách kiểm tra lỗi thời gian biên dịch kiểm tra lỗi runtime • Đa luồng - Với tính đa luồng Java viết chương trình thực nhiều tác vụ đồng thời Tính thiết kế cho phép nhà phát triển xây dựng ứng dụng tương tác chạy trơn tru • Thông dịch - Mã byte Java dịch trực tiếp tới máy tính gốc khơng lưu trữ đâu • Hiệu cao - Với việc sử dụng trình biên dịch Just-In-Time, Java cho phép thực hiệu cao • Phân tán - Java thiết kế cho môi trường phân tán Internet • Năng động - Java động C C++ thiết kế để thích nghi với mơi trường phát triển Các chương trình Java mang lượng lớn thơng tin runtime mà sử dụng để xác minh giải truy cập vào đối tượng runtime 1.2.1.2 Ưu nhược điểm Java Ưu điểm • Java tảng độc lập chạy mã Java máy mà không cần cài đặt phần mềm đặc biệt nào, JVM thực điều • Java hướng đối tượng lớp đối tượng • Lý để Java bảo mật trỏ, Java không sử dụng trỏ • Trong Java, thực thi nhiều chương trình đồng thời, đó, đạt đa luồng • Java mạnh mẽ có nhiều tính thu gom rác, khơng sử dụng trỏ rõ ràng, xử lý ngoại lệ • Java ngơn ngữ cấp cao giúp dễ hiểu • Quản lý nhớ hiệu thực Ngơn ngữ lập trình Java • Nhược điểm • Là ngơn ngữ cấp cao, phải xử lý cấp độ biên dịch trừu tượng máy ảo Java thể hiệu suất kém, nguyên nhân thu gom rác, cấu hình nhớ đệm không hợp lệ bế tắc quy trình • Java có trình tạo GUI – Swing, SWT, JSF JavaFX số trình xây dựng phổ biến • Để viết mã để thực tập hợp hoạt động đơn giản, bạn phải viết đoạn mã dài phức tạp Điều ảnh hưởng đến khả đọc đảm bảo lập trình viên nhập xác cần phải làm Khi chúng tơi so sánh Java với Python , nhận thấy Python không cần dấu chấm phẩy, dấu ngoặc đơn dấu ngoặc nhọn có mã ngắn rõ ràng 1.2.2 Java Swing - Java Swing cách gọi rút gọn người ta nhắc đến Swing Java Foundation (JFC) Nó cơng cụ GUI mà Sun Microsystems phát triển để xây dựng ứng dụng tối ưu dùng cho window (bao gồm thành phần nút, cuộn,…) - Swing xây dựng AWT API hoàn toàn viết Java Tuy nhiên, lại khác với AWT chỗ cơng cụ thuộc loại tảng độc lập, bao gồm thành phần nhẹ phức tạp AWT - Các gói javax.swing bao gồm lớp cho Java Swing API JMenu, JButton, JTextField, JRadioButton, JColorChooser,… - Việc xây dựng ứng dụng trở nên dễ dàng với Java Swing có cơng cụ GUI giúp đỡ cơng việc - Swing thức phát hành vào tháng 3/1998 Nó kèm với thư viện Swing 1.0 với 250 lớp, 80 giao tiếp - Hiện số tăng lên, phiên Swing 1.4 có 451 lớp 85 giao tiếp - Các phát hành Java (SDK 1.2 phiên hơn) bao gồm Swing runtime environment 1.2.2.1 Ứng dụng Java Swing: Java Swing dùng để hỗ trợ tạo giao diện đồ hoạ người dùng (với Java) Bộ công cụ cung cấp điều khiển nâng cao trượt, colorpicker, Tree, TabbedPane bảng điều khiển, Swing có đặc điểm: • Độc lập với thiết bị • Có thể tuỳ chỉnh, mở rộng • Khá nhẹ • Có thể cấu hình Ngồi bạn tùy chỉnh điều khiển xoay cách dễ dàng mà không ảnh hưởng đến thành phần khác 1.2.2.2 Cấu trúc phân lớp Java Swing - Chú thích: Tất thành phần swing kế thừa từ lớp Jcomponent JButton, JComboBox, JList, JLabel thêm vào lớp Container - Container window Frame Dialog Các container thêm thành phần vào 1.2.3 Java awt - Java AWT (Abstract Window Toolkit) API để phát triển ứng dụng dựa GUI cửa sổ java - Các thành phần Java AWT thành phần phụ thuộc vào tảng hiển thị theo giao diện hệ điều hành AWT có nghĩa thành phần sử dụng tài nguyên hệ điều hành - Gói java.awt cung cấp lớp cho api AWT TextField, Label, TextArea, RadioButton, CheckBox, Choice, List, v.v 1.2.3.1 Phân cấp Java Awt - Container: Vùng chứa (Container) thành phần AWT mà chứa thành phần khác button, textfield, label, Các lớp kế thừa lớp Container biết đến container Frame, Dialog, Panel - Window: The window is the container that have no borders and menu bars You must use frame, dialog or another window for creating a window - Panel: Panel vùng chứa mà không chứa tiêu đề menu Nó có thành phần button, textfield, - Frame: Khung (Frame) vùng chứa tiêu đề có trình đơn Nó có thành phần khác button, textfield, CHƯƠNG 2: XÂY DỰNG TRÒ CHƠI SUDOKU 2.1 MỤC TIÊU Sudoku trò chơi câu đố xếp chữ số dựa logic theo tổ hợp Mục tiêu trò chơi điền chữ số vào lưới 9×9 cho cột, hàng, phần số chín lưới 3×3 cấu tạo nên lưới (cũng gọi "hộp", "khối", "vùng") chứa tất chữ số từ tới Câu đố hoàn thành phần, người chơi phải giải tiếp việc điền số Nội dung hướng dẫn gồm phần: ✓ Thiết kế: Thiết kế giao diện ✓ Xây dựng chức Các phần ứng dụng: • Nút New game : Trò chơi tự động làm nhấn • Nút Reset game: Trị chơi tự động xóa nhập • Nút Pause: Trò chơi bị dừng • Nút Resume: Trò chơi tiếp tục trước người dùng bấm Pause • Nút Submit: Sau người chơi hồn thành kết hiển thị • Game: + New game 9x9: khởi tạo trị chơi theo dọc ngang + New game 6x6: khởi tạo trò chơi theo dọc ngang + Exit: Thốt trị chơi • • Level: + Beginner: Chế độ dễ + Intermediator: Chế độ trung bình + Expart: Chế độ khó Help: About: Thơng tin trị chơi 2.2 GIAO DIỆN Hình 2.2.1: Giao diện Chức năng: - New game: Tạo trị chơi - Reset game: Xóa điền - Pause: Dừng trò chơi - Resume: Tiếp tục trò chơi CHƯƠNG 3: CÀI ĐẶT 3.1 Input 19 3.2 Đồng hồ 20 3.3 New game 3.4 Reset game 3.5 Pause 3.6 Resume 21 3.7 Submit 3.8 3.9 3.10 Code thiết kế giao diện chương trình 22 23 24 3.11 Code thiết kế chức để nhập liệu vào giao diện 25 26 27 28 29 30 31 CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG GIẢI QUYẾT 4.1 Ưu nhược điểm - Ưu điểm: + Trò chơi đảm bảo chức cần thiết game sudoku + Tạo loại sudoku 9x9, 6x6 + Có level tùy ý - Nhược điểm: + Chưa có đăng nhập trị chơi + Chưa đặt tên cho người chơi + Lưu kết trò chơi 4.2 Hướng giải - Tìm hiểu hướng dẫn - Liên kết sở liệu 4.3 Hướng phát triển - Kết nối online để thi đấu với người chơi khác chức + Bảng điểm + So sánh + thời gian nhanh +…… 32 TÀI LIỆU THAM KHẢO [1] Java Swing gì? Cách học lập trình Java Swing | Ironhack VN (ironhackvietnam.edu.vn) [2]https://www.w3schools.com/ [3]http://www.thayphet.net/ [4] Thuật toán giải sudoku quay lui backtracking - O₂ Education (o2.edu.vn) [5] https://o2.edu.vn/thuat-toan-giai-sudoku-bang-quay-lui-backtracking/ [6] http://thayphet.net/product-cat/175-chuyen-de-1-cnpmngon-ngu-java-.html [7] http://thayphet.net/product-cat/104-lap-trinh-java-cd-mang-may-tinh-.html 33 ... thành phần khác button, textfield, CHƯƠNG 2: XÂY DỰNG TRÒ CHƠI SUDOKU 2.1 MỤC TIÊU Sudoku trò chơi câu đố xếp chữ số dựa logic theo tổ hợp Mục tiêu trò chơi điền chữ số vào lưới 9×9 cho cột, hàng,... 1.2 Cơ sở lý thuyết 1.2.1 Java 1.2.2 Java Swing CHƯƠNG 2: XÂY DỰNG TRÒ CHƠI SUDOKU 2.1 MỤC TIÊU 2.2 GIAO DIỆN... điểm: + Trò chơi đảm bảo chức cần thiết game sudoku + Tạo loại sudoku 9x9, 6x6 + Có level tùy ý - Nhược điểm: + Chưa có đăng nhập trị chơi + Chưa đặt tên cho người chơi + Lưu kết trị chơi 4.2

Ngày đăng: 05/10/2022, 04:30

HÌNH ẢNH LIÊN QUAN

PHÂN TÍCH TÌNH HÌNH SỬ DỤNG KHÁNG SINH TRONG VIÊM PHỔI BỆNH VIỆN TẠI  KHOA HỒI SỨC TÍCH CỰC – CHỐNG ĐỘC, - ĐỒ án JAVA xây DỰNG TRÒ CHƠI SUDOKU
PHÂN TÍCH TÌNH HÌNH SỬ DỤNG KHÁNG SINH TRONG VIÊM PHỔI BỆNH VIỆN TẠI KHOA HỒI SỨC TÍCH CỰC – CHỐNG ĐỘC, (Trang 2)
Hình 2.2.1: Giao diện chính - ĐỒ án JAVA xây DỰNG TRÒ CHƠI SUDOKU
Hình 2.2.1 Giao diện chính (Trang 10)
Hình 2.2.2: New game - ĐỒ án JAVA xây DỰNG TRÒ CHƠI SUDOKU
Hình 2.2.2 New game (Trang 11)
Hình 2.2.3: Reset game - ĐỒ án JAVA xây DỰNG TRÒ CHƠI SUDOKU
Hình 2.2.3 Reset game (Trang 12)
Hình 2.2.4: Pause - ĐỒ án JAVA xây DỰNG TRÒ CHƠI SUDOKU
Hình 2.2.4 Pause (Trang 13)
Hình 2.2.5: Submit - ĐỒ án JAVA xây DỰNG TRÒ CHƠI SUDOKU
Hình 2.2.5 Submit (Trang 14)
Hình 2.2.6: New game 9x9 - ĐỒ án JAVA xây DỰNG TRÒ CHƠI SUDOKU
Hình 2.2.6 New game 9x9 (Trang 15)
Hình 2.2.7: New game 6x6 - ĐỒ án JAVA xây DỰNG TRÒ CHƠI SUDOKU
Hình 2.2.7 New game 6x6 (Trang 16)
Hình 2.2.8: Level beginner - ĐỒ án JAVA xây DỰNG TRÒ CHƠI SUDOKU
Hình 2.2.8 Level beginner (Trang 17)
Hình 2.2.9: Level Intermediator - ĐỒ án JAVA xây DỰNG TRÒ CHƠI SUDOKU
Hình 2.2.9 Level Intermediator (Trang 18)
Hình 2.2.10: Level Expart - ĐỒ án JAVA xây DỰNG TRÒ CHƠI SUDOKU
Hình 2.2.10 Level Expart (Trang 19)
Hình 2.2.11: Thông tin - ĐỒ án JAVA xây DỰNG TRÒ CHƠI SUDOKU
Hình 2.2.11 Thông tin (Trang 20)
w