Trong thế giới công nghệ phát triển hiện nay thì Game là một loại hình giải trí có sức hút vô cùng lớn đối với những người sử dụng công nghệ này, đặc biệt là giớ trẻ. Chúng ta có thể chơi game online trên mạng, các game offline trên PC
TRƯỜNG ĐẠI HỌC KINH DOANH VÀ CÔNG NGHỆ HÀ NỘI KHOA CƠNG NGHỆ THƠNG TIN ĐỒ ÁN ĐIỆN TỐN DI ĐỘNG Đề Tài : XÂY DỰNG GAME CỜ CARO Giảng Viên Hướng Dẫn: Lê Đức Huy Họ tên: Nguyễn Hữu Đạt Mã sinh viên:19150784 Lớp:TH24.08 Hà Nội-2021 LỜI NÓI ĐẦU Trong giới cơng nghệ phát triển Game loại hình giải trí có sức hút vô lớn người sử dụng công nghệ này, đặc biệt giớ trẻ Chúng ta chơi game online mạng, game offline PC, game dòng máy PS2, PS3 game phát triển mạnh thiết bị di động điện thoại di động, máy Xbox Ở nước phát triển Nhật Bản , Mỹ … có nhiều cơng ty đạt doanh thu hàng tỷ USD Hay với nước sau Hàn Quốc, Trung Quốc có ngành cơng nghệ mạnh nhờ có đầu tư đắn chiến lược phát triển tốt Với hình thành Internet dẫn đến xuất Game Online Việc kinh doanh thể loại Game Online giúp cho nhà kinh doanh kiếm doanh thu khổng lồ số lượng người chơi đông Như biết, cờ Caro trò chơi điện tử có từ lâu Hiện có phổ biến sống hàng ngày nói chung, giới học đường nói riêng Cờ Caro mơn thể thao trí tuệ khả tư duy.Chính tác dụng mà cờ Caro đem lại hữu ích , em áp dụng kiến thức ghế nhà trường mơn lập trình Java, trí tuệ nhân tạo Vì em chọ đề tài để làm đồ án mơn Điện Tốn Di Động với tên: “ Xây dựng game cờ caro” MỤC LỤC LỜI NÓI ĐẦU CHƯƠNG I : Giới thiệu chung…………………….……………………… CHƯƠNG II: Mục đích cụ thể ứng dụng……………………………….2 CHƯƠNG III:Các công nghệ hướng đối tượng dử dụng ứng dụng.4 a, Kế thừa…………………………………………………….4 b, Bắt kiện Java AWT………………………………4 c, Giao diện tương tác với người dùng………………………6 d, Gói AWT…………………………………………………7 e, Gói Java Swing ………………………………………… f, Thực thi cài đặt ……………………………….……… g, Công nghệ áp dụng……………………………… 10 KẾT LUẬN …………………………………………………… ….14 CHƯƠNG I: Giới thiệu chung Java công nghệ xây dựng ứng dụng phần mềm có vị trí lopwsn năm cuối kỷ 20 đầu kỷ 21 Nó coi cơng nhệ mang tính cách mạng khả thi công việc tạo ứng dụng có khả chạy thống nhiều tảng mà cần biên dịch lần Lần xuất vào năm 1992 ngơn ngữ dùng nội tập đồn Sun Microsystems để xây dựng ứng dụng điều khiển xử lý bên máy điện thoại cầm tay , lò vi song, thiết bị điện tử dân mạng khác Không ngôn ngữ , Java nề tảng phát triển triển khai ứng dụng có máy ảo Java, thơng dịch có vai trị trung tâm Sun Microsystem, cơng ty phát minh ngơn ngữ Java, thức ban hành Java Development Kit 1.0 vào năm 1996 hoàn tồn miễn phí để nhà phát triển có thể tải về, học Java, xây dựng ứng dụng Java triển khai chúng hệ điều hành có hỗ trợ Java Khi nhắc đến Java người ta không công nghệ hay tảng phát triển Cũng nhiều trường đại học khác, Trườn Đại Học Kinh Doanh Và Công Nghệ Hà Nội từ lâu đưa Java vào chương trình giảng dạy cho sinh viên Đồ án lần giúp sinh viên tìm hiểu, lập trình ứng dụng Java đơn giản có mục đích tính hữu dụng thực tế CHƯƠNG II: Mục đích cụ thể ứng dụng Thông tin : Ứng dụng Game cờ Caro xây dựng nhằm mục đích làm quen ngơn ngữ, câu lệnh số công nghệ hướng đối tượng tiên tiến Ứng dụng cịn có mục đích nhằm giải trí nhẹ nhàng cho căng thẳng Một số hình ảnh: CHƯƠNG III: Các công nghệ hướng đối tượng sử dụng ứng dụng a, Kế thừa Tính kế thừa Java kỹ thuật mà đối tượng thu tất thuộc tính hành vi đối tượng cha Ý tưởng đằng sau tính kế thừa Java bạn tạo lớp mà xây đựn lớp tồn Khi bạn kế thừa từ lớp tái sử dụng phương thức trường lớp cha bạn bổ sung them phương thức trường khác Tính kế thừa biểu diễn mối quan hệ IS-A, gọi mối quan hệ Khi nói tính kế thừa , từ khóa thường xuyên sử dụng Extends Implements Những từ khóa định nghĩa kiểu loại IS-A loại khác Sử dụng từ khóa, tạo đối tượng sử dụng thuộc tính đối tượng khác Chúng ta sử dụng từ khóa extends lớp để kế thừa thuộc tính lớp cha trừ thuộc tính private lớp cha Cú pháp Tính kế thừa Java: Class ten_lop_con extends ten_lop_cha { // cac phuong thuc ca truong } b, Bắt kiện Java AWT Các hệ thống GUI xử lý tương tác người dùng với trợ giúp mơ hình hướng kiện ( event-driven ) Sự kiện java: - Sự kiện định nghĩa kiểu tín hiệu tới chương trình thơng báo việc xảy - Sự kiện sinh hành động người dùng , ví dụ di chuyển , click chuột , hay nhấn phím… Với việc xử lý kiện phụ thuộc vào ứng dụng Abstract Windowing Toolkit (AWT) xử lý vài kiện Môi trường mà ứng dụng thi hành ví dụ trình duyệt xử lý kiện khác Người lập trình cần phải xử lý kiện định cần phải viết hàm sử lý kiện Ứng dụng cần đăng ký hàm xử lý kiện với đối tượng Hàm xử lý kiện gọi kiện tương ứng phát sinh JDK1.2 làm việc theo mơ hình xử lý kiện Trong quy trình , ứng dụng cho phép bạn đăng ký phương thức hay gọi listener với đối tượng Một Event Listener lắng nghe kiện mà đối tượng thiết lập Mỗi Event Listener cung cấp phương thức xử lý kiện Lớp thi hành listener cần phải định nghĩa phương thức Để sử dụng bạn cần làm theo bước sau: Cài đặt giao diện listener thích hợp Cấu trúc sau: Public class MyApp extends Frame implements ActionListener Exitbtn.addActionListener(This); Lớp kiện ActionEvent Mô tả Phát sinh button nhấn, item danh sách chọn lựa nhấn đúp(double- click) hay menu chọn TextEvent MouseEvent KeyEvent Phát sinh giá trị thành phần textfield hay textarea bị thay đổi Phát sinh chuột di chuyển, click, kéo hay thả Phát sinh bàn phím ấn , nhả Bảng : kiện khác sử dụng ứng dụng mô tả chúng Các giao diện cần cài đặt để xử lý số kiện là: + ActionListener + TextListener + MouseListener + MouseMotionListener + KeyListener Các giao diện định nghĩa số phương thức để xử lý kiện Những phương thức nạp chồng lớp mà cài đặt giao diện c, Giao diện tương tác với người dùng Các ứng dụng phần mềm thân thiện trình bày nhiều hình giao diện đồ họa đẹp mắt Các ngơn ngữ lập trình cung cấp đối tượng đồ họa, chúng điều khiển người lập trình , hay người sử dụng Một số kết quan trọng ngơn ngữ dựa Giao diện người dùng đồ họa Một phần tử (element) GUI thiết lập cách sử dụng thử tục sau: - Tạo đối tượng - Xác định xuất ban đầu đối tượng - Thêm phần tử giao diện hình Giao diện tương tác với người dùng ứng dụng game cờ Caro xây dựng dựa gói java.awt javax.swing d, Gói Java AWT +, Lớp color: màu tạo từ màu: đỏ xanh xanh da trời Mỗi màu biểu diễn giá trị kiểu byte, từ đến 255 Color c = new Color(r,g,b); Ví dụ: Color c = new Color(228,100,255); +, Thiết lập màu ( background) nổi(foreground) setBackground(color c) setForeground(color c) ví dụ: jbt.setBackground(color.yellow); jbt.setForeground(color.red); +, Font Ví dụ: batdau.setFonr(new java.awt.Font(“ Times New Roman”,0,24)); +, Lớp Graphics: Lớp trừu tượng Graphics cung cấp giao tiếp đồ họa độc lập với thiết bị để thị hình minh họa ảnh hình tảng khác Bất kể thành phần ( button, label ) hiển thị, đối tượng Graphics tạo tảng gốc ( native) Có thể lấy đối tượng thơng qua phương thức getGraphics() Ví dụ: Graphics graphics = jlblBanner.getGraphics(); Phương thức paintComponent thuộc lớp JComponent : Protected void paintComponent(Graphics g) Phương thức gọi hiển thị thị lại e, Gói Java Swing +, Frame : - Cửa sổ không nằm bên cửa sổ khác, thành phần để chứa GUI khác +, Lớp JFrame dùng để tạo cửa sổ +, Với chương trình GUI Swing-> sử dụng JFrame->tạo cửa sổ Cách tạo Frame: Ví dụ: import javax.swing.*; public class MyFrame { public static void main(String[] args) { JFrame frame = new JFrame("Test Frame"); frame.setSize(400, 300); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame EXIT_ON_CLOSE); } } Thêm button vào Frame: Frame.getContentPane().add(new JButton(“OK”)); +, Layout managers : - trình quản lý layout Java cung cấp mức độ trừu tượng hóa cho phép định hình giao diện lên tất hệ thống cửa sổ - thành phần UI đặt containe Mỗi container có trình quản lý layout để xếp thành phần - sử dụng phương thức setLayout( LayoutManager) container +, Panels : - container để nhóm thành phần UI - recommend: đặt component, panel->panel->framell - để thêm thành phần->JFrame: thêm vào thành nội dung JFrame Để thêm thành phần vào panel-> thêm trực tiếp vào panel phương thức add Tạo Jpanel: - Sử dụng new Jpanel() : layout mặc định FlowLayout - Sử dụng new Jpanel(Layout Manager) - Sử dụng phương thức add(Component) JPanel p = new JPanel(); p.add(new JButton(“OK”)); +, Image Icon: - Java sử dụng lớp javax.swing.ImageIcon để biểu diễn cho biểu tượng Một biểu tượng hình ảnh kích thước cố định - Hình ảnh thường lưu tập tin hình ảnh Bạn sử dụng ImageIcon ( tên tập tin ) để xây dựng biểu tượng hình ảnh - Ví dụ câu lệnh sau tạo Icon từ file ảnh us.gif thư mục hình ảnh theo đường dẫn lớp tại: Icon ImageIcon = new ImageIcon (“image / us.gif”); f, Thực thi cài đặt Sơ đồ lớp : Gồm lớp : - Lớp main: để chạy chương trình - Lớp start: chứa giao diện bắt đầu - Lớp play: chứa giao diện trị chơi, thuật tốn sử lí - Lớp end: chứa giao diện kết thúc, kết trò chơi +, Lớp main : gọi đến hàm khởi tạo start Public class main{ Public static void main (String[] args) { new start() setVisible(true); } } +, Lớp start: yêu cầu người dùng nhập tên người chơi bắt đầu chơi +, Lớp play: - Hàm paintCompoent(): vẽ bàn cờ , quân cờ - Hàm kiemtra(): kiểm tra thắng thua, có qn khơng bị chặn đầu thắng - Hàm boardPanelMouseMoved(): chuyển đổi kiện chuột sang điểm, code , dòng cụ thể - Hàm boardPanelMouseClick(): thêm điểm vào checked, gọi đến hàm kiemtra() , in kết - Các hàm button: chuyển kiện thành lệnh tương ứng : thoát, lại, chơi lại, ván , pause +, Lớp end: in da kết trị chơi u cầu người dùng g, Cơng nghệ áp dụng +, Kế thừa : +, Giao diện tương tác với người dùng: - Sử dụng gói javax.swing java.awt 10 + class start: + class play 11 Bàn cờ vẽ gói Graphics, hàm paintComponent() + class end: 12 +, Xử lý kiện: - class start: - class play: - class end: 13 14 ... kiến thức ghế nhà trường môn lập trình Java, trí tuệ nhân tạo Vì em chọ đề tài để làm đồ án môn Điện Toán Di Động với tên: “ Xây dựng game cờ caro” MỤC LỤC LỜI NÓI ĐẦU CHƯƠNG I : Giới thiệu chung…………………….………………………... online mạng, game offline PC, game dòng máy PS2, PS3 game phát triển mạnh thiết bị di động điện thoại di động, máy Xbox Ở nước phát triển Nhật Bản , Mỹ … có nhiều công ty đạt doanh thu hàng... hình giao di? ??n đồ họa đẹp mắt Các ngơn ngữ lập trình cung cấp đối tượng đồ họa, chúng điều khiển người lập trình , hay người sử dụng Một số kết quan trọng ngơn ngữ dựa Giao di? ??n người dùng đồ họa