1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

35 2 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, Phạm Phúc Thịnh, Lê Huỳnh Ý
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

Cấu trúc

  • 1.2.1 Java là gì (3)
  • 1.2.2 Java Swing là gì (5)
  • CHƯƠNG 2: XÂY DỰNG TRÒ CHƠI SUDOKU (9)
    • 2.1 MỤC TIÊU (9)
    • 2.2 GIAO DIỆN (10)
  • CHƯƠNG 3: CÀI ĐẶT (21)
    • 3.1 Input (21)
    • 3.2 Đồng hồ (22)
    • 3.3 New game (23)
    • 3.4 Reset game (23)
    • 3.5 Pause (23)
    • 3.6 Resume (23)
    • 3.7 Submit (24)
    • 3.8 Level (0)
    • 3.9 Help (0)
    • 3.10 Code để thiết kế giao diện (0)
    • 3.11 Code thiết kế giao diện chức năng để nhập dữ liệu (0)
  • CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG GIẢI QUYẾT (34)
    • 4.1 Ưu và nhược điểm (34)
    • 4.2 Hướng giải quyết (34)
  • TÀI LIỆU THAM KHẢO (0)

Nội dung

Java là gì

Java là một một ngôn ngữ lập trình hiện đại, bậc cao, hướng đối tượng, bảo mật và mạnh mẽ và là một Platform

Nền tảng (Platform) được định nghĩa là bất kỳ môi trường phần cứng hoặc phần mềm nào mà trong đó có một chương trình hoạt động Java được coi là một nền tảng nhờ vào môi trường runtime riêng biệt (JRE) và API của nó.

Ngôn ngữ lập trình Java ban đầu được phát triển bởi Sun Microsystems do James

Java, được khởi xướng và phát hành vào năm 1995, hiện có phiên bản mới nhất là Java SE 8 Sự phát triển và phổ biến của Java đã dẫn đến việc xây dựng nhiều cấu hình khác nhau để phù hợp với các nền tảng đa dạng, chẳng hạn như J2EE cho ứng dụng doanh nghiệp và J2ME cho ứng dụng di động.

Các phiên bản J2 mới đã được đổi tên thành Java SE, Java EE và Java ME Java mang đến phương châm "Write Once, Run Anywhere" - viết một lần, chạy ở mọi nơi, cho phép bạn chỉ cần viết mã trên Windows và có thể chạy chương trình đó trên các hệ điều hành khác như Linux, Android và các thiết bị J2ME.

1.2.1.1 Các tính năng của Java

Ngôn ngữ lập trình java có các tính năng sau:

Trong Java, mọi thứ đều được xem như một đối tượng, điều này giúp ngôn ngữ này trở nên dễ dàng mở rộng và bảo trì Kiến trúc dựa trên mô hình đối tượng của Java là yếu tố chính cho khả năng phát triển linh hoạt và hiệu quả của nó.

Java là một ngôn ngữ lập trình độc lập, khác biệt với nhiều ngôn ngữ như C và C++ Khi được biên dịch, Java không chuyển đổi thành mã máy cụ thể cho từng nền tảng, mà thay vào đó, nó được biên dịch thành mã byte Mã byte này sau đó được máy ảo Java (JVM) thông dịch trên bất kỳ nền tảng nào mà nó chạy, giúp Java có khả năng tương thích cao và dễ dàng triển khai trên nhiều hệ điều hành khác nhau.

• Đơn giản - Java được thiết kế để dễ học Nếu bạn hiểu khái niệm cơ bản về OOP Java, sẽ rất dễ để trở thành master về java

Java cung cấp tính năng bảo mật mạnh mẽ, cho phép phát triển các hệ thống miễn nhiễm với virus và giả mạo Các kỹ thuật xác thực trong Java dựa trên mã hóa khóa công khai, đảm bảo an toàn cho dữ liệu và thông tin người dùng.

Trình biên dịch Java tạo ra định dạng tệp đối tượng kiến trúc trung lập, cho phép mã biên dịch có thể được thực thi trên nhiều bộ vi xử lý khác nhau, miễn là có sự hiện diện của hệ điều hành Java.

Java là một ngôn ngữ lập trình di động nhờ vào kiến trúc tập trung và không phụ thuộc vào các khía cạnh thực hiện Trình biên dịch Java được phát triển bằng ANSI C, một tập con của POSIX, giúp tăng cường khả năng khả chuyển của ngôn ngữ này.

Java là một ngôn ngữ lập trình mạnh mẽ, với khả năng loại trừ các tình huống dễ bị lỗi thông qua việc kiểm tra lỗi ngay tại thời gian biên dịch và kiểm tra lỗi trong quá trình thực thi (runtime).

Tính năng đa luồng trong Java cho phép phát triển các chương trình thực hiện nhiều tác vụ đồng thời, giúp tạo ra các ứng dụng tương tác mượt mà và hiệu quả hơn.

• Thông dịch - Mã byte Java được dịch trực tiếp tới các máy tính gốc và không được lưu trữ ở bất cứ đâu

• Hiệu năng cao - Với việc sử dụng trình biên dịch Just-In-Time, Java cho phép thực hiện hiệu năng cao

• Phân tán - Java được thiết kế cho môi trường phân tán của Internet

Java được coi là ngôn ngữ lập trình năng động hơn C hoặc C++ nhờ khả năng thích ứng với các môi trường phát triển Các chương trình Java có khả năng xử lý một lượng lớn thông tin trong thời gian chạy, cho phép xác minh và quản lý các truy cập vào đối tượng một cách hiệu quả.

1.2.1.2 Ưu và nhược điểm của Java Ưu điểm

Java là nền tảng độc lập, cho phép người dùng chạy mã Java trên mọi thiết bị mà không cần cài đặt phần mềm đặc biệt Điều này được thực hiện nhờ vào Java Virtual Machine (JVM).

• Java là hướng đối tượng vì các lớp và đối tượng của nó

• Lý do chính để Java được bảo mật là con trỏ, Java không sử dụng con trỏ

• Trong Java, chúng ta có thể thực thi nhiều chương trình đồng thời, do đó, có thể đạt được đa luồng

• Java mạnh mẽ vì nó có nhiều tính năng như thu gom rác, không sử dụng con trỏ rõ ràng, xử lý ngoại lệ

• Java là một ngôn ngữ cấp cao giúp nó dễ hiểu

• Quản lý bộ nhớ hiệu quả được thực hiện bằng Ngôn ngữ lập trình Java

Java là một ngôn ngữ lập trình cấp cao cần xử lý nhiều cấp độ biên dịch và trừu tượng của máy ảo Tuy nhiên, hiệu suất của Java thường không đạt yêu cầu, chủ yếu do vấn đề liên quan đến bộ thu gom rác, cấu hình bộ nhớ đệm không tối ưu và sự bế tắc giữa các quy trình.

• Java có rất ít trình tạo GUI – Swing, SWT, JSF và JavaFX trong số những trình xây dựng phổ biến hơn

Khi viết mã cho các hoạt động đơn giản, lập trình viên thường phải đối mặt với việc tạo ra những đoạn mã dài và phức tạp, điều này có thể làm giảm khả năng đọc hiểu Tuy nhiên, điều này đảm bảo rằng các lập trình viên thực hiện đúng những gì cần thiết So với Java, Python nổi bật với cú pháp đơn giản hơn, không yêu cầu dấu chấm phẩy, dấu ngoặc đơn hay dấu ngoặc nhọn, dẫn đến việc viết mã ngắn gọn và dễ hiểu hơn.

Java Swing là gì

- Java Swing là cách gọi rút gọn khi người ta nhắc đến Swing của Java Foundation (JFC)

Bộ công cụ GUI do Sun Microsystems phát triển giúp xây dựng các ứng dụng tối ưu cho Windows, bao gồm các thành phần như nút bấm, thanh cuộn và nhiều yếu tố giao diện khác.

- Các gói javax.swing bao gồm các lớp cho Java Swing API như JMenu, JButton, JTextField, JRadioButton, JColorChooser,…

- Việc xây dựng ứng dụng sẽ trở nên dễ dàng hơn với Java Swing vì chúng ta có các bộ công cụ GUI giúp đỡ công việc

- Swing được chính thức phát hành vào tháng 3/1998 Nó đi kèm với thư viện Swing 1.0 với hơn 250 lớp, 80 giao tiếp

- Hiện nay con số này đã được tăng lên, ở phiên bản Swing 1.4 có 451 lớp và 85 giao tiếp

- Các bản phát hành Java 2 (SDK 1.2 và các phiên bản mới hơn) đều bao gồm Swing trong runtime environment

1.2.2.1 Ứng dụng của Java Swing:

Java Swing được dùng để hỗ trợ tạo giao diện đồ hoạ người dùng (với Java)

Bộ công cụ này cung cấp các bộ điều khiển nâng cao như thanh trượt, colorpicker, Tree, TabbedPane và bảng điều khiển,

Swing có những đặc điểm:

• Độc lập với thiết bị

• Có thể tuỳ chỉnh, mở rộng

• Có thể cấu hình Ngoài ra bạn cũng có thể tùy chỉnh các điều khiển xoay một cách dễ dàng mà không ảnh hưởng đến các thành phần khác

1.2.2.2 Cấu trúc phân lớp của Java Swing

- Chú thích: Tất cả các thành phần trong swing được kế thừa từ lớp Jcomponent như JButton, JComboBox, JList, JLabel đều có thể được thêm vào lớp Container

- Container là các window như Frame và Dialog Các container này chỉ có thể thêm một thành phần vào chính nó

- Java AWT (Abstract Window Toolkit) là một API để phát triển các ứng dụng dựa trên GUI hoặc cửa sổ trong java

Các thành phần Java AWT là các yếu tố phụ thuộc vào nền tảng, hiển thị theo giao diện của hệ điều hành AWT, viết tắt của Abstract Window Toolkit, sử dụng tài nguyên của hệ điều hành để tạo ra các thành phần giao diện người dùng.

Vùng chứa (Container) trong AWT là thành phần quan trọng dùng để chứa các thành phần giao diện khác như nút bấm, ô nhập liệu và nhãn Các lớp kế thừa từ lớp Container bao gồm các loại vùng chứa như Frame, Dialog và Panel.

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 là vùng chứa mà không chứa thanh tiêu đề và thanh menu Nó có thể có các thành phần như button, textfield,

Khung (Frame) là vùng chứa thanh tiêu đề và có thể có các thanh trình đơn Nó có thể có các thành phần khác như button, textfield,

XÂY DỰNG TRÒ CHƠI SUDOKU

MỤC TIÊU

Sudoku là một trò chơi câu đố logic thú vị, trong đó người chơi cần điền các chữ số vào lưới 9×9 Mục tiêu chính là đảm bảo rằng mỗi cột, hàng và khu vực 3×3 đều chứa đầy đủ các số từ 1 đến 9 Trò chơi bắt đầu với một số ô đã được điền sẵn, và nhiệm vụ của người chơi là tiếp tục giải các ô còn lại.

Nội dung hướng dẫn gồm 2 phần:

✓ Thiết kế: Thiết kế giao diện

Các phần chính ứng dụng:

• Nút New game : Trò chơi sẽ tự động làm mới khi được nhấn

• Nút Reset game: Trò chơi sẽ tự động xóa đi những ô đã được nhập

• Nút Pause: Trò chơi sẽ bị dừng ngay lập tức

• Nút Resume: Trò chơi sẽ được tiếp tục khi trước đó người dùng đã bấm Pause

• Nút Submit: Sau khi người chơi hoàn thành thì kết quả sẽ hiển thị

+ New game 9x9: khởi tạo trò chơi theo 9 ô dọc và 9 ô ngang

+ New game 6x6: khởi tạo trò chơi theo 6 ô dọc và 6 ô ngang

+ Beginner: Chế độ dễ + Intermediator: Chế độ trung bình + Expart: Chế độ khó

About: Thông tin trò chơi

GIAO DIỆN

- New game: Tạo trò chơi mới

- Reset game: Xóa các ô đã điền

- Resume: Tiếp tục trò chơi

Các ô trong trò chơi sẽ tự động xóa và đồng hồ sẽ bắt đầu tính giờ lại

Trò chơi sẽ bị dừng tạm thời và đồng hồ sẽ ngưng

Kết thúc sẽ có thông báo xuất hiện để hiển thị kết quả trò chơi

Khởi tạo trò chơi theo ô 9x9

Khởi tạo trò chơi theo ô 6x6

CÀI ĐẶT

Submit

3.10 Code thiết kế giao diện chương trình

3.11 Code thiết kế chức năng để nhập dữ liệu vào giao diện

Code thiết kế giao diện chức năng để nhập dữ liệu

+ Trò chơi đảm bảo các chức năng cần thiết của game sudoku

+ Tạo được 2 loại sudoku là 9x9, 6x6 + Có các level tùy ý

+ Chưa có đăng nhập trò chơi + Chưa đặt tên được cho người chơi + Lưu kết quả trò chơi

- Tìm hiểu các hướng dẫn

- Liên kết cơ sở dữ liệu

- Kết nối online để thi đấu với các người chơi khác các chức năng cơ bản

Ngày đăng: 23/12/2023, 22:27

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

TÀI LIỆU LIÊN QUAN

w