1. Trang chủ
  2. » Công Nghệ Thông Tin

Nghiên cứu về thuật toán loang ứng dụng vào thiết kế game lines trên nền android

75 632 2

Đ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

Định dạng
Số trang 75
Dung lượng 2,26 MB

Nội dung

LỜI CẢM ƠN Sau thời gian tìm hiểu nghiên cứu đồ án, “Nghiên cứu thuật toán loang ứng dụng thiết kế trò chơi Line android” em hoàn thành đồ án tốt nghiệp nhờ giúp đỡ thầy cô môn khoa học máy tính, đặc biệt hướng dẫn nhiệt tình cô giáo: Đào Thị Thu Mặc dù có nhiều cố gắng điều kiện thời gian nghiên cứu kiến thức em nhiều hạn chế, báo cáo đồ án tốt nghiệp nhiều thiếu sót em kính mong đóng góp ý kiến thầy cô bạn bè để đồ án em hoàn thiện Em xin chân thành cảm ơn! Sinh viên Vũ Bảo Đại LỜI CAM ĐOAN Tôi xin cam đoan: Những nội dung đồ án không giống hoàn toàn đồ án công trình có trước Mọi tham khảo đồ án trích dẫn rõ ràng tên tác giả, tên công trình, thời gian địa điểm công bố Mọi chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, xin chịu hoàn toàn trách nhiệm trước nhà trường Sinh viên thực Vũ Bảo Đại MỤC LỤC DANH MỤC HÌNH ẢNH MỞ ĐẦU Ngày với phát triển không ngừng khoa học kỹ thuật đặc biệt công nghệ thông tin lĩnh vực đưa lên hàng đầu thúc đẩy tăng trưởng phát triển kinh tế quốc gia Công nghệ thông tin dần khẳng định vai trò lĩnh vực khoa học, kỹ thuật giải trí Xuất phần mềm trò chơi giải trí mang lại lợi nhuận cao cho quốc gia có ngành tin học phát triển mạnh.Khi điện thoại trở thành phần đời sống người, sản phẩm giải trí máy ngày có hội để phát triển, đặc biệt game mini game Lines Tuy nhiên yêu cầu game hay cao, đồ họa, xử lý kiện…Do viết game vừa hội vừa thách thức người lập trình phương pháp tốt để hoàn thiện kĩ lập trình lập trình viên Hiện nay, có nhiều ngôn ngữ lập trình dùng để viết game, Java ngôn ngữ ấy, với kĩ thuật xử lí hình ảnh, âm hỗ trợ sẵn, Javacó đầy đủ sức mạnh để xây dựng game hoàn hảo, lí để Java chọn làm ngôn ngữ viết lên game trình bày đồ án tốt nghiệp Game viết báo cáo dừng mức tìm hiểu, chưa thể trở thành game thương mại, giúp người đọc hiểu điều viết game, hỗ trợ Javađối với game Tuy rằng, lĩnh vực xây dựng trò chơi game không mẻ, suốt thời gian học tập, nghiên cứu với mong muốn vận dụng kiến thức học vào triển khai đồ án thiết kế trò chơi game; em lựa chọn đồ án tốt nghiệp là: Nghiên cứu thuật toán loang ứng dụng thiết kế trò chơi Lines android CHƯƠNG HỆ ĐIỀU HÀNH ANDROID GIỚI THIỆU VỀ ANDROID 1.1 LỊCH SỬ ANDROID Ban đầu, Android hệ điều hành cho thiết bị cầm tay dựa lõi Linux công ty Android Inc (California, Mỹ) thiết kế Công ty sau Google mua lại vào năm 2005 bắt đầu xây dựng Android Platform Các thành viên chủ chốt Android Inc gồm có: Andy Rubin, Rich Miner, Nick Sears, andChris White Hình 1-1 Android timeline Và sau tiếp, vào cuối năm 2007, thuộc Liên minh Thiết bị Cầm tay Mã Nguồn mở (Open Handset Alliance) gồm thành viên bật ngành viễn thông thiết bị cầm tay như: Texas Instruments, Broadcom Corporation, Google, HTC, Intel, LG, Marvell Technology Group, Motorola, Nvidia, Qualcomm, Samsung Electronics, Sprint Nextel, T-Mobile, ARMHoldings, Atheros Communications, Asustek ComputerInc, Garmin Ltd, Softbank, Sony Ericsson, Toshiba Corp, and Vodafone Group,… Mục tiêu Liên minh nhanh chóng đổi để đáp ứng tốt cho nhu cầu người tiêu dùng kết tảng Android Android thiết kế để phục vụ nhu cầu nhà sản xuất thiết, nhà khai thác lập trình viên thiết bị cầm tay Phiênbản SDK lần phát hành vào tháng 11 năm 2007, hãngT-Mobile cũngcông bố điện thoại Android T-Mobile G1,chiếc smartphone dựa tảng Android Một vài ngày sau đó, Google lại tiếp tục công bố mắt phiên Android SDK release Candidate 1.0.Trong tháng 10 năm 2008, Google cấp giấy phép mã nguồn mở cho Android Platform Khi Android phát hành số mục tiêu kiến trúc cho phép ứng ụngcó thể tương tác với sử dụng lại thành phần từ ứng dụng khác.Việc tái sử dụng không áp dụng cho dịch vụ mà áp dụng cho thành phần liệu giao diện người dùng Vào cuối năm 2008, Google cho phát hành thiết bị cầm tay gọi Android Dev Phone chạy ứng dụng Android mà không bị ràng buộc vào nhà cung cấp mạng điện thoại di động Mục tiêu thiết bị cho phép nhà phát triển thực thí nghiệm thiết bị thực chạy hệ điều hành Android mà ký hợp đồng Vào khoảng thời gian Google cho phát hành phiên vản vá lỗi 1.1 hệ điều hành Ở hai phiên 1.0 1.1 Android chưa hỗ trợ softkeyboard mà đòi hỏi thiết bị phải sử dụng bàn phím vật lý Android cố định vấn đề cách phát hành SDK 1.5 vào tháng Tư năm 2009, với số tính khác Chẳng hạn nâng cao khả ghi âm truyền thông, vật dụng, live folder 1.2 DELVING VỚI MÁY ẢO DALVIK Dalvik máy ảo giúp ứng dụng java chạy thiết bị động Android Nó chạy ứng dụng chuyển đổi thành file thực thi Dalvik(dex) Định dạng phù hợp cho hệ thống mà thường bị hạn chế nhớ tốc độ xử lý Từ góc nhìn nhà phát triển, Dalvik trông giống máy ảo Java(Java VirtualMachine) thực tế hoàn toàn khác Khi nhà phát triển viết ứng dụng dành cho Android, đoạn mã thực môi trường Java Sau đó, biên dịch sang bytecode Java, nhiên để thực thi ứng dụng Android nhà phát triển phải thực thi công cụ có tên dx Đây công cụ dùng để chuyển đổi bytecode sang dạng gọi dex bytecode "Dex" từ viết tắt "Dalvik executable" đóng vai trò chế ảo thực thi ứng dụng Android 1.3 KIẾN TRÚC CỦA ANDROID Mô hình sau thể cách tổng quát thành phần hệ điều hành Android Mỗi phần đặc tả cách chi tiết Hình 1-2 Cấu trúc stack hệ thống Android  Tầng ứng dụng Android tích hợp sẵn số ứng dụng cần thiết như: contacts, browser, camera, Phone,… Tất ứng dụng chạy hệ điều hành Android viết Java  Application framework Bằng cách cung cấp tảng phát triển mở, Android cung cấp cho nhà phát triển khả xây dựng ứng dụng phong phú sáng tạo Nhà phát triển tự tận dụng thiết bị phần cứng, thông tin địa điểm truy cập, dịch vụ chạy nền, thiết lập hệ thống báo động, thêm thông báo để trạng thái, nhiều, nhiều Nhà phát triển truy cập vào API khuôn khổ sử dụng ứng dụng lõi Các kiến trúc ứng dụng thiết kế để đơn giản hóa việc sử dụng lại thành phần; ứng dụng xuất khả ứng dụng khác sau sử dụng khả (có thể hạn chế bảo mật thực thi khuôn khổ) Cơ chế cho phép thành phần tương tự thay người sử dụng Cơ tất ứng dụng dịch vụ hệ thống, bao gồm:  Một tập hợp nhiều View có khả kế thừa lẫn dùng để thiết kế phần giao diện ứng dụng như: gridview, tableview, linearlayout,…  Một “Content Provider” cho phép ứng dụng truy xuất liệu từ ứng dụng khác (chẳng hạn Contacts) chia sẻ liệu ứng dụng  Một “Resource Manager” cung cấp truy xuất tới tài nguyên mã nguồn, chẳng hạn như: localized strings, graphics, and layout files  Một “Notifycation Manager” cho phép tất ứng dụng hiển thị custom alerts status bar Activity Manager dùng để quản lý chu trình sống ứng dụng điều hướng activity  Library Android bao gồm tập hợp thư viên C/C++ sử dụng nhiều thành phần khác hệ thống Android Điều thể thông qua tảng ứng dụng Android Một số thư viện liệt kê đây:  System C library: aBSD-derived implementation of the standard C system library (libc), tuned for embedded Linux-based devices  Media Libraries – based on Packet Video's Open CORE; the libraries support play back and recording of many popular audio and video formats, as well as static image files, including MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG  Surface Manager – Quản lý việc truy xuất vào hệ thống hiển thị  LibWebCore - a modern web browser engine which powers both the Android browser and an embeddable web view  SGL - the underlying 2D graphics engine  3D libraries - an implementation based on OpenGL ES 1.0 APIs; the libraries use either hardware Dacceleration (whereavailable) or the included, highly optimized 3D software rasterizer  FreeType - bitmap and vector font rendering SQLite - a powerful and lightweight relational database engine available to all applications  Android Runtime Android bao gồm tập hợp thư viện mà cung cấp hầu hết chức có sẵn thư viện lõi ngôn ngữ lập trình Java Tất ứng dụng Android chạy tiến trình riêng Máy ảo Dalvik viết thiết bị chạy nhiều máy ảo hiệu Các VM Dalvik thực thi tập tin thực thi Dalvik (dex) Định dạng tối ưu hóa cho nhớ tối thiểu VM dựa register-based, chạy lớp biên dịch trình biên dịch Java để chuyển đổi thành định dạng dex Các VM Dalvik dựa vào nhân Linux cho chức luồng quản lý nhớ thấp  Linux kernel Android dựa Linux phiên 2.6 cho hệ thống dịch vụ cốt lõi security, memory management, process management, network stack, and driver model Kernel Linux hoạt động lớp trừu tượng hóa phần cứng phần lại phần mềm stack 10 3.5.2 Màn hình chơi game Hình 3-14 Giao diện chơi game Trên giao diện thiết kế 13 hàng 13 cột tạo thành 169 ô vuông, nơi để di chuyển bóng 3.5.3 Play Khi chọn Play chương trình hiển thị hình chơi game 3.5.4 Giao diện button About Khi click vào nút About hiển thị hộp thoại chương trình, thông tin game, tác giả… 61 Hình 3-15 Giao diện About 3.6 Lập trình 3.6.1 Màn hình giao diện Khi bắt đầu trò chơi người chơi lựa chọn nút nhấn Đầu tiên Play để vào hình chơi Khi bắt đầu chương trình có giao diện sau : Hình 3-16 Giao diện 62 Code xây dựng giao diện cho hình viết ngôn ngữ xml (Xem phụ lục 1) Các button gán bắt kiện click chuột, nhấn nút xuất nội dung định trước (Xem phụ lục 2) 3.6.2 Giao diện hình chơi game Khi người chơi bấm nút Play, chương trình xuất hình chơi game.Giao diện hình này, lập trình ngôn ngữ xml Source code : Xem phụ lục Hình 3-17 Màn hình chơi game  Vẽ hình chơi game: Sour code : Xem phụ lục  Thêm bóng ,cập nhật bóng mới, kiểm tra xóa bóng cập nhật điểm số: Sour code : Xem phục lục  Xóa khối đường thẳng có nhiều bóng, lưu vào mảng delBlock tổng số phần tử lưu vào biến sumdels : Source code : Xem phụ lục  Thuật toán tìm đường, tìm thấy lưu giá trị vào mảng path[] tổng số nước lưu vào biến sumpath: Source code : Xem phụ lục 63 KẾT LUẬN Android hệ điều hành di động đại, có tiềm phát triển cao Hiện hệ điều hành sử dụng rộng rãi nhiều hãng điện thoại thực trờ thành bước ngoặt phát triển công nghệ động Cùng với phát triển mạnh mẽ tiến nhanh chóng hệ điều hành Android thúc đẩy kéo theo phát triển lập trình ứng dụng tiện ích cho điện thoại đáp ứng nhu cầu trò chơi giải trí điện thoại Xu hướng lập trình ứng dụng trò chơi cho điện thoại động xu hướng lập trình nói chung truyền thông di động nói riêng, hứa hẹn tiềm thành công mới, đường phát triển không ngừng khoa học công nghệ Qua trình thực đồ án giúp em tìm hiểu sâu thuật toán Loang xây dựng ứng dụng trò chơi cho điện thoại động, sử dụng hệ điều hành Android Với tính mẻ đề tài, em cố gắng tìm hiểu xây dựng chương trình chơi game Lines hệ điều hành Android Chương trình ứng dụng trò chơi Lines chương trình giải trí mới, xây dựng hoàn thành hệ điều hành Android đạt số thành công định  Chương trình trò chơi xây dựng hoàn thành với yêu cầu mục tiêu đồ án  Qua đồ án em tìm hiểu nhiều thuật toán Loang, hệ điều hành Android lập trình ứng dụng Android  Em học hỏi số kiến thức hệ điều hành Android kỹ lập trình ứng dụng Đồ án hoàn thành mục tiêu yêu cầu chương trình lập trình trò chơi điện thoại động, số mặt hạn chế như:  Chương trình chưa thử nghiệm điện thoại thật  Chưa tối ưu nhớ  Các hiệu ứng đồ họa dừng mức đơn giản Hướng phát triển trương trình :  Hoàn thành chương trình đáp ứng mặt hạn chế nêu  Bổ sung thêm chức tiện ích cho chương trình Chương trình không tránh khỏi sai sót qua trình lập trình Em mong góp ý thầy cô để chương trình hoàn thiện Em xin chân thành cảm ơn ban lãnh đạo nhà trường, thầy cô giáo môn bạn lớp tạo điều kiện giúp đỡ em hoàn thành đồ án tốt nghiệp này, em xin chân thành cảm ơn cô Đào Thị Thu tận tình hướng dẫn để em thực hoàn thành đồ án Thái nguyên, tháng 07 năm 2012 64 PHỤ LỤC  Phụ lục : Xây dựng giao diện cho hình Tên file : menu.xml 65  Phụ lục : Gán bắt kiện click chuột publicclass Line extends Activity implements OnClickListener { /** Called when the activity is first created */ 66 publicvoid onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.menu); View playbutton = this.findViewById(R.id.imageButton1); playbutton.setOnClickListener(this); View aboutbutton = this.findViewById(R.id.imageButton2); aboutbutton.setOnClickListener(this); View quitbutton = this.findViewById(R.id.imageButton3); quitbutton.setOnClickListener(this); } @Override publicvoid onClick(View v) { // TODO Auto-generated method stub switch (v.getId()) { case R.id.imageButton1: mView k = new mView(this); k.Show(); break; case R.id.imageButton2: Intent i = new Intent(this, about.class); startActivity(i); break; case R.id.imageButton3: finish(); break; default: break; } 67 } }  Phục lục : Giao diện hình chơi game 68  Phụ lục : Vẽ hình chơi game privatevoid DrawBackground(LinearLayout lo) { bkg = Bitmap.createBitmap(30*mRow, 30*mRow, Bitmap.Config.ARGB_8888); Canvas myC = new Canvas(bkg); myC.drawColor(line.getResources().getColor(R.color.backgroud)); 69 Paint myP = new Paint(); myP.setColor(Color.DKGRAY); for (int i=1; i

Ngày đăng: 23/04/2017, 10:08

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

TÀI LIỆU LIÊN QUAN

w