Đăng ký Đăng nhập
Trang chủ Tìm hiểu và xây dựng game xếp hình...

Tài liệu Tìm hiểu và xây dựng game xếp hình

.DOC
44
711
126

Mô tả:

MỤC LỤC LỜI NÓI ĐẦU...........................................................................................3 CHƯƠNG 1. GIỚI THIỆU VỀ NGÔN NGỮ JAVA...................................4 1.1.Giới thiệu về java............................................................................4 1.2.Đặc điểm và tính năng của java......................................................4 1.3.Giới thiệu về AWT...........................................................................5 1.3.1. BorderLayout............................................................................5 1.3.2. Xử lý các sự kiện......................................................................6 1.3.3. Thực đơn (menu).....................................................................9 1.4.Giới thiệu về SWING.....................................................................11 1.4.1.Lớp JFrame.............................................................................11 1.4.2.Lớp JLabel...............................................................................12 1.4.3.Lớp JPanel..............................................................................14 1.4.4. Lớp JOptionPane...................................................................15 1.4.5.Gói Timer.................................................................................19 CHƯƠNG 2. THIẾT KẾ GAME XẾP HÌNH...........................................20 2.1.Mô tả hoạt động của game............................................................20 2.2.Biểu đồ chức năng của game.......................................................20 2.3.Biểu đồ ngữ cảnh..........................................................................21 2.4.Chiến lược chơi.............................................................................22 CHƯƠNG 3.CÀI ĐẶT VÀ THỬ NGHIỆM..............................................23 1 3.1.Tạo menu......................................................................................23 3.2.Lớp tạo các khối gạch và xoay hình các khối gạch.......................28 3.3.Lớp điều khiển các khối gạch và xử lý các hoạt động..................31 KẾT LUẬN.............................................................................................42 TÀI LIỆU THAM KHẢO.........................................................................43 2 LỜI NÓI ĐẦU Ngày nay, Công nghệ thông tin là một trong những ngành đang phát triển rất mạnh mẽ và có ảnh hưởng sâu rộng đến mọi mặt đời sống. Nó là nền tảng của nền kinh tế tri thức, là thước đo trình độ phát triển của một quốc gia.Vì vậy, việc đào tạo đội ngũ kỹ sư công nghệ thông tin có chất lượng đòi hỏi phải được chú trọng và đầu tư đúng mức. Xã hội và kinh tế phát triển đòi hỏi công nghệ cũng phải phát triển. Công nghệ phát triển, con người ngày càng phát minh ra những thiết bị công nghệ số thông minh giúp đỡ con người về rất nhiều mặt trong cuộc sống. Trong thời đại ngày nay, đất nước ta đang hội nhập vào WTO cùng với sự phát triển nhanh chóng của công nghệ thông tin được áp dụng trên mọi lĩnh vực của cuộc sống như kinh tế, chính trị, văn hóa xã hội, tất cả đều cần có công nghệ thông tin. Như hiện nay chúng ta đã biết lập trình và thiết kế game có thể được coi là ngành “ hot ” mà hiện nay chúng ta đang rất quan tâm. Ngày nay xã hội phát triển nhu cầu về việc giải trí ngày càng cao. Nắm được nhu cầu đó em đã quyết định chọn đề tài: “Lập trình Game MegaMan sử dụng ngôn ngữ lập trình Java” cho đợt thực tập chuyên ngành lần này. Trong quá trình triển khai đề tài có gặp một số vướng mắc nhưng đã được cô giáo hướng dẫn giúp đỡ nên đề tài đã hoàn thành đúng thời hạn và kết quả ban đầu cũng khá hoàn thiện. Em xin chân thành cảm ơn giáo viên hướng dẫn cô: NGÔ THỊ VINH đã giúp đỡ và chỉ dẫn em hoàn thành bài báo cáo này. Nội dung báo cáo: Bao gồm 3 chương:  Chương 1: Giới thiệu về ngô ngữ java.  Chương 2: Thiết kế game Xếp hình.  Chương 3: Cài đặt và thử nghiệm. Thái nguyên, tháng 04 năm 2016 3 CHƯƠNG 1. GIỚI THIỆU VỀ NGÔN NGỮ JAVA 1.1.Giới thiệu về java Java là ngôn ngữ lập trình máy tính có tính chất hướng đối tượng, dựa trên các lớp, thường được sử dụng cho các hệ thống có tính độc lập cao. Nó được sử dụng để hướng tới các lập trình viên viết ứng dụng "write one, run everywhere" (viết một lần, chạy mọi nơi, nghĩa là đoạn code Java sau khi được biên dịch có thể chạy được trên tất cả các nền tảng hỗ trợ Java mà không cần phải được biên dịch lại. Các ứng dụng Java sau khi đã được biên dịch thành bytecode có thể chạy trên bất kỳ máy ảo Java nào (Java virtual machine) Java được viết bởi James Gosling tại Sun MicroSystems và được phát hành năm 1995. Cú pháp ban đầu của Java được dựa nhiều vào cú pháp của ngôn ngữ C và C++ Cho đến năm 2015, Java là một trong những ngôn ngữ được dùng phổ biến nhất trên thế giới, đặc biệt cho các ứng dựng web client- server. Theo thống kê trên thế giới có khoảng 9 triệu lập trình viên Java. 1.2.Đặc điểm và tính năng của java Java có rất nhiều đặc điểm và tính năng nổi bật. Dưới đây là một số đặc điểm của Java mà bạn có thể dễ dàng biết và tìm hiểu:  Đơn giản  Hướng đối tượng  Độc lập nền tảng  Bảo mật  Robust  Độc lập cấu trúc  Portable  Dynamic  Thông dịch  Hiệu suất cao  Đa luồng (Multi-thread)  Distributed 4 1.3.Giới thiệu về AWT AWT là viết tắt của Abstract Windowing Toolkit. AWT là một bộ các lớp trong Java cho phép chúng ta tạo GUI và chấp nhận các nhập liệu của người dùng thông qua bàn phím và chuột. AWT cung cấp các thành phần khác nhau để tạo GUI hiệu quả và lôi cuốn người sử dụng. Các thành phần này có thể là:  Vật chứa (Container)  Thành phần (Component)  Trình quản lý cách trình bày (Layout manager)  Đồ họa (Graphic) và các tính năng vẽ (draw)  Phông chữ (Font)  Sự kiện (Event) 1.3.1. BorderLayout ‘BorderLayout’ là layout manager mặc định cho ‘Window’, ‘Frame’ và ‘Dialog’. Layout này sắp xếp tối đa 5 thành phần trong một container. Những thành phần này có thể được đặt ở các hướng ‘North’, ‘South’, ‘East’, ‘West’ và ‘Center’ của container.  NORTH – Đặt ở đỉnh của container.  EAST – Đặt phía bên phải của container.  SOUTH – Đặt ở phía dưới của container.  WEST – Đặt phía bên trái của container.  CENTER – Đặt ở giữa của container. Để thêm một thành phần vào vùng ‘North’, bạn sử dụng cú pháp sau: Button b1=new Button(“North Button”); // khai báo thành phầần setLayout(new BorderLayout()); // thiếết l ập layout add(b1,BorderLayout.NORTH); // thếm thành phầần vào layout Các thành phần vẫn giữ nguyên vị trí tương đối của chúng kể cả khi container bị thay đổi kích thước. Các thành phần được đặt trong vùng ‘North’, ‘South’ được dàn nằm ngang trong khi đó các thành phần đặt trong vùng ‘East’ và ‘West’ lại được dàn 5 thẳng đứng. Các thành phần được đặt trong vùng ‘center’ sẽ được dàn đều vào những khu vực nằm giữa của container. add(b2,BorderLayout.CENTER); // thêm thành phần vào vùng ‘center’ Khi tất cả các thành phần được đặt vào các vùng tương ứng, lúc đó Frame sẽ giống như sau: BorderLayout có thể chứa nhiều hơn 5 thành phần. Để thực hiện điều này, chúng ta có thể sử dụng các Panel với các layout khác nhau để chứa các thành phần, và sau đó đặt các panel này vào trong BorderLayout. 1.3.2. Xử lý các sự kiện Các hệ thống GUI xử lý các tương tác người dùng với sự trợ giúp của mô hình hướng sự kiện (event-driven). Tương tác của người dùng có thể là di chuyển chuột, nhấn phím, nhả phím v.v…Tất cả các thao tác này thiết lập một sự kiện của một loại nào đó. Việc xử lý những sự kiện này phụ thuộc vào ứng dụng. Abstract Windowing Toolkit (AWT) xử lý một vài sự kiện. Môi trường mà các ứng dụng này được thi hành ví dụ như trình duyệt cũng có thể xử lý các sự kiện khác. Người lập trình cũng cần phải xử lý những sự kiện nhất định và cần phải viết hàm xử lý các sự kiện đó. Ứng dụng cần đăng ký một hàm xử lý sự kiện với một đối tượng. Hàm xử lý sự kiện này sẽ được gọi bất cứ khi nào sự kiện tương ứng phát sinh. JDK1.2 làm việc theo mô hình xử lý sự kiện này. Trong quy trình này, ứng dụng cho phép bạn đăng ký các phương thức (handler), hay gọi là listener với các đối tượng. Những handler này tự động được gọi khi một sự kiện thích hợp phát sinh. Một Event Listener lắng nghe một sự kiện nào đó mà một đối tượng đã thiết lập. 6 Mỗi event listener cung cấp các phương thức xử lý những sự kiện này. Lớp thi hành listener cần phải định nghĩa những phương thức này. Để sử dụng mô hình này, bạn làm theo các bước sau:  Cài đặt giao diện listener thích hợp. Cấu trúc như sau: public class MyApp extends Frame implements ActionListener  Xác định tất cả các thành phần tạo ra sự kiện. Các thành phần có thể là các button, label, menu item, hay window. Cho ví dụ, để đăng ký một thành phần với listener, ta có thể sử dụng: exitbtn.addActionListener(This); Xác định tất cả các sự kiện được xử lý. Các sự kiện có thể là một ‘ActionEvent’ nếu một button được click hay một ‘mouseEvent’ nếu như chuột được kéo đi. Thi hành các phương thức của listener và viết hàm xử lý sự kiện tương ứng với các phương thức. Bảng sau đây chỉ ra các sự kiện khác nhau và mô tả về chúng: 7 Lớp sự kiện ActionEvent Mô tả Phát sinh khi một button được nhấn, một item trong danh sách chọn lựa được nhấn đúp (double-click) hay một menu AdjustmentEvent ComponentEvent được chọn. Phát sinh khi một thanh scrollbar được sử dụng. Phát sinh khi một thành phần được thay đổi kích thước, FocusEvent được di chuyển, bị ẩn hay làm cho hoạt động được. Phát sinh khi một thành phần mất hay nhận focus từ bàn ItemEvent phím. Phát sinh khi một mục menu được chọn hay bỏ chọn; hay khi một checkbox hay một item trong danh sách được WindowEvent click. Phát sinh khi một cửa sổ được kích hoạt, được đóng, được TextEvent mở hay thoát. Phát sinh khi giá trị trong thành phần textfield hay textarea MouseEvent bị thay đổi. Phát sinh khi chuột di chuyển, được click, được kéo hay KeyEvent thả ra. Phát sinh khi bàn phím ấn, nhả. Các giao diện cần được cài đặt để xử lý một trong số những sự kiện này là:  ActionListener  AdjustmentListener  ComponentListener  FocusListener  ItemListener  WindowListener  TextListener  MouseListener  MouseMotionListener  KeyListener 8 Các giao diện định nghĩa một số phương thức để xử lý mỗi sự kiện. Những phương thức này sẽ được nạp chồng trong lớp mà cài đặt những giao diện này. Chương trình sau đây sử dụng một ActionListener để xử lý các sự kiện liên quan với một button. ActionEvent có hai phương thức:  getSource(): Để trả về nguồn của sự kiện.  toString(): Để trả về chuỗi tương đương với sự kiện. Cây phân cấp các lớp của gói event. Object java.util.EventObject Java.awt.Event ActionEvent AdjustmentEvent ContainerEvent ComponentEvent InputEvent KeyEvent FocusEvent ItemEvent WindowEvent MouseEvent 1.3.3. Thực đơn (menu) Ngôn ngữ Java có một tập hợp các lớp đối tượng để tạo các menu. Có hai loại menu – pull down và pop-up. Menu làm cho ứng dụng ta xây dựng dễ sử dụng hơn. Ta chỉ có đặt duy nhất một thanh menubar trong một frame. Menubar là một thanh nằm ngang được đặt tại đỉnh của frame. Nó liệt kê các mục chọn khác nhau hay còn gọi là menu. Một menu độc lập có thể chứa các mục chọn con, các mục con này được gọi là Menu Item. Java cung cấp các Checkbox MenuItem, chúng có thể được bật hay mở, phụ thuộc vào trạng thái. 9 Hình ví dụ về Pull-down Menu Một menu có thể chứa các menu con. Khi bạn click vào trình đơn Help, 3 mục con có tên là Content, Index và Find sẽ xuất hiện. Trong trình đơn Find, có 2 mục con là Search by name và Search from Cache. Mặt khác một pop-up menu sẽ hiện ra nếu bạn nhấn chuột phải trên màn hình: Hình ví dụ về Pop-up menu Các mục chọn được trình bày trên pop-up menu là Read-Only và Format text. Mục ‘Format text’ có 2 mục con là Insert và Overtype. Những mục chọn con này thuộc kiểu CheckboxMenuItem. Khi bạn click vào mục chọn, nó sẽ được đánh dấu và bạn có thể thấy dấu chọn tương ứng trên mục được chọn đó. Ngôn ngữ Java cung cấp các 10 lớp khác nhau. Những lớp này được sử dụng để tạo thanh Menubar, Menu, MenuItem và CheckboxMenuItem trong chương trình. 1.4.Giới thiệu về SWING Java Swing là một phần của Java Foundation Classes (JFC) được sử dụng để tạo các ứng dụng Window-Based. Nó được xây dựng ở trên cùng của AWT (Abstract Windowing Toolkit) API và được viết hoàn toàn bằng Java. Không giống AWT, Java Swing cung cấp các thành phần (Component) gọn nhẹ và độc lập nền tảng. Javax.swing. Package cung cấp các lớp cho Java Swing chẳng hạn như JButton, JTextField, JTextArea, JRadioButton, JCheckbox, JMenu, JColorChooser, … 1.4.1.Lớp JFrame Lớp JFrame là một phiên bản kế thừa từ java.awt.Frame mà bổ sung các hỗ trợ cho cấu trúc thành phần JFC/Swing. Cú pháp khai báo cho lớp javax.swing.JFrame là: public class JFrame extends Frame implements WindowConstants, Accessible, RootPaneContainer Lớp này kế thừa các phương thức từ các lớp sau:  java.awt.Frame  java.awt.Window  java.awt.Container  java.awt.Component  java.lang.Object Lớp JFrame này có các constructor sau:  JFrame(): Xây dựng một Frame mới, ban đầu là không nhìn thấy (invisible).  JFrame(GraphicsConfiguration gc): Tạo một Frame trong GraphicsConfiguration đã cho của một thiết bị màn hình và một title trống. 11  JFrame(String title): Tạo một Frame mới, ban đầu là không nhìn thấy (invisible) với title đã cho.  JFrame(String title, GraphicsConfiguration gc): Tạo một Frame với title đã cho và GraphicsConfiguration đã cho của một thiết bị màn hình. 1.4.2.Lớp JLabel Lớp JLabel có thể hiển thị hoặc text, hoặc hình ảnh hoặc cả hai. Các nội dung của Label được gán bởi thiết lập căn chỉnh ngang và dọc trong khu vực hiển thị của nó. Theo mặc định, các label được căn chỉnh theo chiều dọc trong khu vực hiển thị. Theo mặc định, text-only label là căn chỉnh theo cạnh, image-only label là căn chỉnh theo chiều ngang. Cú pháp khai báo cho lớp javax.swing.JLabel là: public class JLabel extends JComponent implements SwingConstants, Accessible Lớp javax.swing.JLabel có một trường là protected Component labelFor. Constructor của lớp JLabel trong Java Swing  JLabel(): Tạo một instance của JLabel, không có hình ảnh, và với một chuỗi trống cho title.  JLabel(Icon image): Tạo một instance của JLabel với hình ảnh đã cho.  JLabel(Icon image, int horizontalAlignment): Tạo một instance của JLabel với hình ảnh và căn chỉnh ngang đã cho.  JLabel(String text): Tạo một instance của JLabel với text đã cho.  JLabel(String text, Icon icon, int horizontalAlignment): Tạo một instance của JLabel với text, hình ảnh, và căn chỉnh ngang đã cho.  JLabel(String text, int horizontalAlignment): Tạo một instance của JLabel với text và căn chỉnh ngang đã cho. Một số phương thức thường được sử dụng của lớp JLabel: STT Phương thức & Miêu tả 12 1 void setDisabledIcon(Icon disabledIcon) Thiết lập icon để được hiển thị nếu JLabel này là "disabled" (JLabel.setEnabled(false)) 2 void setDisplayedMnemonic(char aChar) Xác định displayedMnemonic như là một giá trị char 3 void setDisplayedMnemonic(int key) Xác định keycode mà chỉ dẫn một mnemonic key 4 void setDisplayedMnemonicIndex(int index) Cung cấp một hint cho L&F, từ đó ký tự trong text nên được trang trí để biểu diễn mnemonic 5 void setHorizontalAlignment(int alignment) Thiết lập sự căn chỉnh nội dung của label theo trục X 6 void setHorizontalTextPosition(int textPosition) Thiết lập vị trí theo chiều ngang của phần text của label, cân xứng với hình ảnh của nó 7 void setIcon(Icon icon) Định nghĩa icon mà thành phần này sẽ hiển thị 8 void setIconTextGap(int iconTextGap) Nếu cả hai thuộc tính icon và text được thiết lập, thuộc tính này xác định khoảng trống giữa chúng 9 void setLabelFor(Component c) Thiết lập thành phần đang gán nhãn cho 10 void setText(String text) Định nghĩa trường text dòng đơn mà thành phần này sẽ hiển thị 11 void setUI(LabelUI ui) Thiết lập đối tượng L&F mà biểu diễn thành phần này 12 void setVerticalAlignment(int alignment) Thiết lập sự căn chỉnh nội dung của label theo trục Y 13 void setVerticalTextPosition(int textPosition) 13 Thiết lập vị trí theo chiều dọc của phần text của label, cân xứng với hình ảnh của nó 14 void updateUI() Phục hồi thuộc tính UI về một giá trị từ L&F hiện tại Lớp này kế thừa các phương thức từ các lớp sau:  javax.swing.JComponent  java.awt.Container  java.awt.Component  java.lang.Object 1.4.3.Lớp JPanel Lớp JPanel là một container chung và gọn nhẹ. Cú pháp khai báo cho lớp javax.swing.JPanel là: public class JPanel extends JComponent implements Accessible Lớp này kế thừa các phương thức từ các lớp sau  javax.swing.JComponent  java.awt.Container  java.awt.Component  java.lang.Object Lớp này bao gồm các constructor sau:  JPanel(): Tạo một JPanel mới với một double buffer và một Flow Layout.  JPanel(boolean isDoubleBuffered): Tạo một JPanel mới với Flow Layout và trình đệm đã xác định.  JPanel(LayoutManager layout): Tạo một JPanel mới với Layout Manager đã cho  JPanel(LayoutManager layout, boolean isDoubleBuffered): Tạo một JPanel mới với Layout Manager đã cho và trình đệm đã xác định. Các phương thức của lớp JPanel 14  AccessibleContext getAccessibleContext(): Lấy AccessibleContext được liên kết với JPanel này.  PanelUI getUI(): Trả về đối tượng L&F mà truyền thành phần này  String getUIClassID(): Trả về một chuỗi xác định tên của lớp L&F mà truyền thành phần này  protected String paramString(): Trả về một biểu diễn chuỗi của JPanel này  void setUI(PanelUI ui): Thiết lập đối tượng L&F mà truyền thành phần này  void updateUI():Phục hồi thuộc tính UI về một giá trị Look và Feel hiện tại. 1.4.4. Lớp JOptionPane Lớp JOptionPane là một thành phần cung cấp các phương thức chuẩn để popup một hộp thoại dialog chuẩn cho một giá trị hoặc thông báo người dùng về một cái gì đó. Dưới đây là cú pháp khai báo của lớp javax.swing.JOptionPane: public class JOptionPane extends JComponent implements Accessible Lớp này kế thừa các phương thức từ các lớp sau:  javax.swing.JComponent  java.awt.Container  java.awt.Component  java.lang.Object Các constructor của lớp JOptionPane trong Java Swing  JOptionPane(): Tạo một JOptionPane với một thông điệp kiểm tra (test message).  JOptionPane(Object message): Tạo một instance của JOptionPane để hiển thị một message bởi sử dụng kiểu thông điệp thuần message và các tùy chọn option mặc định được phân phối bởi UI.  JOptionPane(Object message, int messageType): Tạo một instance của JOptionPane để hiển thị một thông điệp với kiểu thông điệp đã cho và các tùy chọn mặc định. 15  JOptionPane(Object message, int messageType, int optionType): Tạo một instance của JOptionPane để hiển thị một thông điệp với kiểu thông điệp đã cho và các tùy chọn mặc định.  JOptionPane(Object message, int messageType, int optionType, Icon icon): Tạo một instance của JOptionPane để hiển thị một thông điệp với kiểu thông điệp, tùy chọn và icon đã cho.  JOptionPane(Object message, int messageType, int optionType, Icon icon, Object[] options): Tạo một instance của JOptionPane để hiển thị một thông điệp với kiểu thông điệp, tùy chọn và icon đã cho.  JOptionPane(Object message, int messageType, int optionType, Icon icon, Object[] options, Object initialValue): Tạo một instance của JOptionPane để hiển thị một thông điệp với kiểu thông điệp, tùy chọn và icon đã cho với giá trị tùy chọn được lựa chọn ban đầu đã được xác định. Các phương thức được sử dụng phổ biến của lớp JoptionPane: STT Phương thức & Miêu tả 1 void selectInitialValue() Yêu cầầu giá trị khởi tạo ban đầầu để được lựa chọn, mà sẽẽ thiêết l ập focus t ới giá tr ị đó 2 void setIcon(Icon newIcon) Thiêết lập icon để hiển thị 3 void setInitialSelectionValue(Object newValue) Thiêết lập giá trị input mà được hiển thị ban đầầu như là sẽlẽctẽd tới người dùng 4 void setInitialValue(Object newInitialValue) Thiêết lập giá trị ban đầầu để được kích hoạt. Đầy là thành phầần mà có focus khi Panẽ được hiển thị ban đầầu 5 void setInputValue(Object newValue) Thiêết lập giá trị input mà là sẽlẽctẽd hoặc input bởi người dùng 6 void setMessage(Object newMessage) 16 Thiêết lập đốếi tượng mẽssagẽ của opton panẽ 7 void setMessageType(int newType) Thiêết lập kiểu thống điệp của opton panẽ 8 void setOptions(Object[] newOptions) Thiêết lập các tùy chọn mà panẽ này hiển thị 9 void setOptionType(int newType) Thiêết lập các tùy chọn để hiển thị 10 static voidsetRootFrame(Frame newRootFrame) Thiêết lập framẽ để sử dụng cho các phương thức lớp mà chưa được cung cầếp framẽ nào 11 void setSelectionValues(Object[] newValues) Thiêết lập các giá trị sẽlẽcton cho một panẽ mà cung cầếp cho ng ười dùng m ột danh sách itẽm để lựa chọn từ đó 12 void setUI(OptionPaneUI ui) Thiêết lập đốếi tượng UI mà triển khai L&F cho thành phầần này 13 void setValue(Object newValue) Thiêết lập giá trị mà người dùng đã lựa chọn 14 void setWantsInput(boolean newValue) Thiêết lập thuộc tnh wantsInput 15 static int showConfirmDialog(Component parentComponent, Object message) Hiển thị một hộp thoại với các tùy chọn Yẽs, No và Cancẽl với ttlẽ là Sẽlẽct an Opton 16 static int showConfirmDialog(Component parentComponent, Object message, String title, int optionType) Hiển thị một hộp thoại, với sốế tùy chọn được xác định bởi tham sốế optonTypẽ 17 static int showConfirmDialog(Component parentComponent, Object message, String title, int optionType, int messageType) Hiển thị một hộp thoại, với sốế tùy chọn được xác định bởi tham sốế optonTypẽ, và 17 tham sốế mẽssagẽTypẽ xác định icon để hiển thị 18 static int showConfirmDialog(Component parentComponent, Object message, String title, int optionType, int messageType, Icon icon) Hiển thị một hộp thoại với icon đã cho, với sốế tùy ch ọn được xác đ ịnh b ởi tham sốế optonTypẽ 19 static String showInputDialog(Component parentComponent, Object message, Object initialSelectionValue) Hiển thị một hộp thoại dạng quẽston-mẽssagẽ yêu cầầu input từ người dùng đ ược tạo ra từ parẽntComponẽnt 20 static String showInputDialog(Component parentComponent, Object message, String title, int essageType) Hiển thị một hộp thoại dạng quẽston-mẽssagẽ yêu cầầu input từ người dùng đ ược tạo ra từ parẽntComponẽnt với hộp thoại có ttlẽ và mẽssagẽTypẽ 21 static Object showInternalInputDialog(Component parentComponent, Object message, String title, int messageType, Icon icon, Object[] selectionValues, Object initialSelectionValue) Gợi ý người dùng nhập input trong một hộp thoại n ội tại, ở đầy s ự lựa ch ọn ban đầầu, sự lựa chọn có thể có, và tầết cả tùy chọn khác có thể được xác định 22 JDialog createDialog(Component parentComponent, String title) Tạo và trả vêầ một JDialog mới mà bao quanh optonpanẽ này đ ược căn ch ỉnh vào giữa parẽntComponẽnt trong framẽ của parẽntComponẽnt 23 JDialog createDialog(String title) Tạo và trả vêầ một JDialog mới (khống phải là cha) với ttlẽ đã cho 24 JInternalFrame createInternalFrame(Component parentComponent, String title) Tạo và trả vêầ một instancẽ của JIntẽrnalFramẽ 18 1.4.5.Gói Timer Gói Swing chứa class Timer hỗ trợ cho việc tạo ra các hiệu ứng có tốc độ được quy định trước Swing Timer phát sinh một hoặc nhiều sự kiện ActionEvent sau một khoảng thời gian xác định. 19 CHƯƠNG 2. THIẾT KẾ GAME XẾP HÌNH 2.1.Mô tả hoạt động của game Người chơi khi mở trò chơi lên thì sử dụng các phím mũi tên để chơi game: Ÿ Phím mũi tên lên: Xoay hình ngược chiều kim đồng hồ Ÿ Phím mũi tên xuống: Xoay hình ngược chiều kim đồng hồ Ÿ Phím mũi tên bên trái: Đưa hình sang trái Ÿ Phím mũi tên bên phải: Đưa hình sang phải Ÿ Dấu cách: Tăng độ dơi của hình Ÿ Phím P: tạm dừng / tiếp tục trò chơi Người chơi có thể xem lại phần hướng dẫn này bằng cách kích chuột vào Help chọn Help contents. Để chơi màn mới người chơi kích chuột vào File chọn New Game . Để để thoát game kích chuột vào File chọn Exit Để xem thông tin người viết game kích chuột vào Help chọn About 2.2.Biểu đồ chức năng của game 20
- Xem thêm -

Tài liệu liên quan