LẬP TRÌNH JAVA ĐỀ TÀI: XÂY DỰNG GAME TRÚC XANH - 123doc

Tải bản đầy đủ (.docx) (16 trang)
  1. Trang chủ
  2. >>
  3. Công nghệ thông tin
  4. >>
  5. Lập trình
LẬP TRÌNH JAVA ĐỀ TÀI: XÂY DỰNG GAME TRÚC XANH

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (998.27 KB, 16 trang )

TRƯỜNG ĐẠI HỌC ĐIỆN LỰCKHOA CÔNG NGHỆ THÔNG TINBÁO CÁO BÀI TẬP LỚNMÔN HỌC : LẬP TRÌNH JAVAĐỀ TÀI: XÂY DỰNG GAME TRÚC XANHGiáo viên hướng dẫn:Vũ Đức MinhNhóm sinh viên thực hiện:1. Trần Văn Đại2. Dư Văn Nguyện3. Nguyễn Mạnh ThắngHà Nội, tháng 11 năm 2012LỜI MỞ ĐẦUJava là ngôn ngữ lập trình hướng đối tượng (tựa C++) do Sun Microsystem đưara vào giữa thập niên 90.Chương trình viết bằng ngôn ngữ lập trình java có thể chạytrên bất kỳ hệ thống nào có cài máy ảo java (Java Virtual Machine). Java là ngônngữ lập trình hướng đối tượng. Sức mạnh của phương pháp lập trình hướng đối tượngthể hiện ở chỗ khả năng mô hình hoá hệ thống dựa trên các đối tượng thực tế, khảnăng đóng gói và bảo vệ an toàn dữ liệu, khả năng sử dụng lại mã nguồn để tiết kiệmchi phí và tài nguyên; đặc biệt là khả năng chia sẽ mã nguồn trong cộng đồng lập trìnhviên chuyên nghiệp. Những điểm mạnh này hứa hẹn sẽ thúc đẩy phát triển một môitrường lập trình tiên tiến cùng với nền công nghiệp lắp ráp phần mềm với các thư việnthành phần có sẵn.Một đề tài Java phải làm nổi bật được tính chất của môn học, có tính thực tiễn vàmang lại thiết thực và có thể triển khai trên thực tế. Chính vì những lý do đó chúng emđã quyết định lựa chọn đề tài Lập trình trò chơi trúc xanh để làm đề tài kết thúc mônhọc này. • Chương trình có các yêu cầu cơ bản như:− Các chức năng của trò chơi: tạo mới một màn chơi, chơi lại, tạm dừng, chơi tiếp, tínhđiểm, thông báo kết quả, thoát khỏi trò chơi, hướng dẫn chơi, thay đổi giao diện.− Yêu cầu về đồ họa: trò chơi phải được thiết kế sao cho dễ sử dụng, thiết kế hợp lý dễthao tác.− Xử lý các sự kiện của người chơi trong trò chơi: lật ô, xóa ô, sự kiện nhấn nút.Trong quá trình giảng dạy, nhờ có sự hướng dẫn tận tình của thầy giáo Vũ ĐứcMinh cùng với sự giúp đỡ củacác thầy cô trong khoa, chúng em đã hoàn thành tốtđược bài tập với đề tài Lập trình game trúc xanh viết trên ngôn ngữ Java. Từ đóchúng em đã thấy được các trình ứng dụng được tạo ra như thế nào, đồng thời giúpchúng em nắm vững được các phương pháp thuật toán, cách lập trình hướng đốitượng trên Java.Trong quá trình làm đề tài dù đã cố gắng tìm hiểu nhưng vẫn không tránh khỏisai sót và chưa được hoàn thiện hết các chức năng. Chính vì vậy chúng em mong đượcsự đóng góp ý kiến của các thầy cô.Chúng em xin chân thành cảm ơn!2MC LC3DANH MỤC HÌNH ẢNH4CHƯƠNG 1. TÓM TẮT CHƯƠNG TRÌNH1.1 Mục tiêu để tàiKhi rảnh rỗi hoặc sau mỗi giờ làm việc căng thẳng thì mỗi người trongchúng ta đều muốn tìm cho mình một trò chơi hoặc một hoạt động để giảmcăng thẳng và lấy lại tinh thần. Có thể đó là các hoạt động thể thao, hoặc chơicác trò chơi giải trí tùy thuộc vào quỹ thời gian của từng người, và với những aicó ít quỹ thời gian nhưng muốn có một trò chơi mang tính giải trí cao thì gameTrúc xanh là một trong nhưng game đáp ứng được nhu cầu đó.Mục tiêu chính của đề tài là giúp người chơi tăng cường trí nhớ và giácquan và thấy thoải mái tinh thần sau khi đã chinh phục được hết các ô chứa cáchình.Đề tài có các mức chơi bình thường, khó và dễ phù hợp với từng ngườichơi và cũng không kém tính trí tuệ khi người chơi phải tính toán sao cho tổngsố lần mở các hình là ít nhất.1.2 Chức năng, công việc đã làm đượcSTT Chức năng, công việc Đã làm được1 Tạo giao diện thân thiện, dễ sử dụng.2 Có thể chơi 1 người hoặc 2 người.3 Random ảnh vào các button.4 Khi đang chơi có thể tạm dừng chơi.5Tính điểm và lưu điểm của 10 người chơi có điểmsố cao nhất vào trong file.6 Chọn các mức độ dễ, trung bình, khó.7 Hướng dẫn chơi.1.3 Phạm vi nghiên cứu, phạm vi ứng dụng- Phạm vi nghiên cứu: tự nghiên cứu.- Phạm vi ứng dụng: ứng dụng trên mỗi máy cá nhân. 5CHƯƠNG 2. CƠ SỞ LÝ THUYẾT2.1 Sơ đồ thuật toán Hình 1.1 Sơ đồ thuậttoán62.2 Diễn giải chi tiết• Các biến sử dụng:− Biến click: kiểm tra lần click là 1 hay 2 trong một lượt mở.− Biến Count: đếm số ô còn lại chưa mở. Trò chơi kết thúc khi Count =0.− a, b: địa chỉ hàng cột của ô trong lượt click thứ nhất.− c, d: địa chỉ hàng cột của ô trong lượt click thứ hai.− Biến diem: lưu tổng số điểm của màn chơi.− Biến solanclick: lưu số lần click để mở hết các ô trong màn chơi.• Diễn giải sơ đồ:Khi trò chơi bắt đầu các biến được reset như trong sơ đồ.Vấn đề là phải làm sao để xác định được khi người chơi lật mở một ô là lần thứnhất hay thứ hai để xử lý.Nếu là lần mở đầu tiên thì tiến hành mở ô, hủy sự kiện nhấn nút vào ô được chọn.Kiểm tra nếu là ấn nút đầu tiên của lượt mở từ thứ hai trở đi thì phải xác định trườnghợp có hai ô được mở nhưng không đúng ở lượt mở trước do đó ta phải lật úp lại hai ônày.Nếu là lần mở thứ hai trong lượt mở thì tiến hành mở ô, sau đó so sánh với hìnhảnh đã mở ở lượt click thứ nhất. Nếu giống nhau thì lật hai ô, hủy sự kiện nhấn nút vàohai ô này. Giảm biến đếm số ô còn lại đi 2. Đưa c= -1,d= -1. Tăng điểm thêm 10. Nếukhông giống nhau giảm điểm đi 5, lấy lại sự kiện cho nút đã mở ở lượt click thứ nhất,lấy vị trí ô hiện tại để lật lại gán vào c, d. Kiểm tra xem số ô còn lại có bằng 0 không,nếu bằng kết thúc màn chơi và thông báo điểm. nếu không lặp lại các lượt click đếnkhi nào count =0.7CHƯƠNG 3. PHÂN TÍCH THIẾT KẾ3.1 Phân tích chương trình Yêu cầuChương trình phải có giao diện thân thiện, dễ sử dụng. Đảm bảo đủ các chứcnăng cần thiết như chơi mới, chơi lại, tạm dừng, chọn mức độ khó,… Chương trình này được xây dựng gồm một menubar chứa các chức năng của tròchơi, một panel để xem thông tin điểm của người chơi và một panel chính chứa 20ô hình ảnh cho người chơi click.Thanh menubar nằm ở trên cùng, tiếp theo đến panel chứa điểm và ở giữa làpanel chứa hình ảnh. Panel ở giữa là panel chứa các button là các ảnh, số lượng cácbutton được dựa vào mức độ khó mà người chơi lựa chọn, có 3 mức độ là: dễ,trung bình và khó. Mục tiêu Chương trình đảm bảo các chức năng như chơi mới, thoát, hướng dẫn, giới thiệuthông tin về trò chơi, chọn mức độ khó, chơi hai người hoặc một người… Một số khó khăn và giải quyết- Làm sao tạo được 20 button gồm 10 cặp mà các cặp button có hình ảnh khácnhau và ngẫu nhiên.- Hướng giải quyếtSử dụng 2 mảng, một mảng giatri gồm 20 phần tử để lưu 20 giá trị hình ảnh, 20giá trị này được chia thành 10 cặp giá trị giống nhau. Mục đích của mảng giatri là lưutrữ giá trị cho 20 button kia, tuy nhiên như vậy thì các giá trị này chưa được đưa ngẫunhiên vào 20 button. Vì vậy, chúng ta sử dụng thêm một mảng vitri cũng gồm 20 phầntử để tạo ra vị trí. Mảng vị trí này được tạo ra nhờ sử dụng hàm random, do vậy sẽ tạora được mảng vị trí có giá trị ngẫu nhiên từ 0->20. Sử dụng 2 mảng này ta sẽ đưa được20 ảnh trong mảng giatri vào 20 button một cách ngẫu nhiên.3.2 Thiết kế chương trình Khái quát các chức năng- Menu: hiển thị menu chọn mức độ khó và cách chơi 2 người hay 1 người.- Chơi:o Chơi lại: chơi lại ván mới giống như ván đang chơi.o Tạm dừng: enables = false tất cả các button để tạm dừng trò chơi.o Chơi tiếp: enables = true tất cả các button để tiếp tục trò chơi.8o Điểm cao: hiển thị danh sách 10 người chơi có điểm cao nhất.- Hướng dẫn:o Giới thiệu: giới thiệu thông tin về chương trình, người thực hiệnchương trình.o Cách chơi: giới thiệu cách chơi của chương trình. Chi tiết chức năng3.2.1 Chức năng chọn chế độ chơiKhi bắt đâu khởi động game sẽ có hai chế độ chơi một người hoặc hai người. Vớichế độ chơi một người cũng có các mức độ chơi dễ ( 4x5 ), trung bình (5x6) và khó( 6x6 ). Mức độ dễ với kích thước (4x5) có ít ô và hình giúp cho người mới chơi có thểlàm quen dần với cách chơi sau đó người chơi có thể chọn các mức cao hơn. Ngườichơi xong một ván hệ thống sẽ lưu điểm và tên người chơi.Chọn chế độ chơi3.2.2 Chức năng tạo màn chơi mớiTạo màn chơi mới khi người chơi kết thúc trò chơi muốn chơi lại hoặc điểm thấpmuốn chơi lại.9• Khó khăn:− Làm thế nào để tạo màn chơi mới mà không cần phải xử lý nhiều. − Xác định các biến nào sẽ được reset lại, các chức năng nào sẽ ảnh hưởng.− Tạo lại ngẫu nhiên các hình ảnh để thực hiện chơi lại sao cho không giống với cáchình ảnh ban đầu.− Lật lại tất cả các ô về trạng thái chưa lật.− Xác định các phương thức nào sẽ được dùng.• Hướng giải quyết:− Để không phải xử lý nhiều tạo mới một phương thức newgame( ) chứa tất cả code xửlý tạo lại màn chơi mới.− Các biến sẽ được reset lại: biến tính điểm, biến tính số lượt click, biến tính số ô đãđược đánh, các biến lưu địa chỉ của một ô khi click. Các chức năng bị ảnh hưởng: Tạmdừng, Chơi tiếp,…− Để lật lại các ô về trạng thái chưa lật:+ Lấy hình ảnh đại diện cho hình khi chưa lật.+ setIcon của tất cả các nút là hình này.− Các phương thức được sử dụng: + addActionListener( )+ removeActionListener( )+ setText( )+ setIcon( )Chức năng chơi lại, tạm dừng, chơi tiếp3.2.3 Chức năng tạm dừng, chơi tiếpTạm dừng là chức năng cho phép người chơi vô hiệu hóa màn chơi khi đang bậnđể có thể tiếp tục chơi khi rảnh, giúp tránh sự ảnh hưởng không cần thiết.• Khó khăn:− Xác định khi nào thì có thể tạm dừng, chơi tiếp.− Xác định các phương thức được sử dụng.• Hướng giải quyết:− Xây dựng menu để thực hiện tạm dừng và chơi tiếp.10− Khi người dùng bắt đầu chơi thì có thể tạm dừng, sau khi tạm dừng thì có thể chơitiếp. Khi tạm dừng rồi thì không thể tạm dừng tiếp với chơi lại cũng vậy.− Sử dụng phương thức .setEnable( ) để thực hiện ẩn hiện menu tạm dừng và chơi tiếp.− Khi tạm dừng tất cả các nút chơi sẽ ẩn, khi chơi tiếp tất cả các nut chơi sẽ hiện.3.2.4 Chức năng hướng dẫnChức năng hướng dẫn và giới thiệuHướng dẫn là phần thể hiện cách chơi, thông tin về chương trình.• Khó khăn:− Thể hiện phần hướng dẫn như thế nào cho trực quan.− Sử dụng những phương thức nào.• Hướng giải quyết:− Tạo một frame mới để thể hiện hướng dẫn.− Thiết kế một ảnh có thông tin về hướng dẫn cách chơi trên đó và gắn nó làm nền củamột Jlabel sau đó thêm label này lên panel.3.2.5 Chức năng 1 người chơiVới một người tự chơi, sau khi khởi động game, chọn mục 1 player rồi sau đóchọn các mức chơi từ dễ trung bình đến khó. Trong khi đang chơi có thể tạm dừnggame rồi tiếp tục chơi tiếp. Sau khi chơi xong, máy sẽ lưu điểm và tên người chơi nếusố điểm đó thuộc top 5 người chơi có số điểm cao nhất. Số điểm đó được lưu vào fie gồm tên người chơi và số điểm dành được: - Sử dụng FileInputStream để đọc file.- Sử dụng FileOutputStream để ghi file.- Tiến hành duyệt file diem.txt, nếu gặp chỗ nào mà có điểm của người chơihiện tại lớn hơn điểm của người chơi đã có trong file thì chèn điểm củangười chơi hiện tại vào chỗ đó. Lưu ý là file diem chỉ chứa 5 người chơicao nhất, do vậy sử dụng 1 biến đếm để đếm đủ 5 người.113.2.6 Chức năng chơi 2 ngườiĐại ơi viết hộ phần này với :D3.3 Chi phí thời gian, độ ổn định3.3.1 Chi phí thời gianĐề tài được xây dựng từ tháng 10 năm 2012 và kết thúc vào tháng 11 năm 2012bởi các thành viên của nhóm. Thời gian đầu xây dựng gặp chút khó khăn về kỹ thuậtvà tạo dựng hình ảnh, nhưng sau đó nhóm đã khắc phục được và hoàn thành đề tàitrong thời gian trước dự kiến ( nhóm dự kiến sẽ hoàn thành vào tháng 12).3.3.2 Độ ổn định Phần mềm được viết trên nền tảng JDK hỗ trợ cho hê điều hành nên đề tài chạyổn định trên các hệ điều hành thông dụng như win xp, win 7, win vista và một số hệđiều hành khác.12CHƯƠNG 4. KẾT QUẢ4.1 Giao diện chính của chương trình Hình 4.1 Giao diệnchương trình Hình 4.2 Giao diện khimới bắt đầu chơi và cácmenu của chương trình13 Hình 4.3 Giao diệnhướng dẫn chơi Hình 4.4 Giao diện kếtthúc lượt chơi.4.2 Hướng phát triểnVới cách thức chơi đơn giản, các khối dữ liệu chức năng đầy đủ, giao diện thânthiện và dễ hiểu với mọi người. Trò chơi đã đáp ứng được các yêu cầu được hướng tớiđó là: Tính ngẫu nhiên, hoạt động chính xác, với hướng dẫn dễ hiểu tạo sự dễ dàng khichơi cho người chơi. Đồng thời cũng các con số được xắp xếp một cách ngẫu nhiêngiúp người chơi rèn luyện được trí nhớ của mình một cách tốt hơn. Thông qua việc lậptrình trò chơi chúng em đã hiểu thêm về cách lập trình theo hướng đối tượng, cách tínhtoán các cho việc thiết kế và hiểu rõ hơn về thuật toán xử lý.Lập trình trò chơi trúc xanh, với ưu điểm đơn giản và dễ chơi giúp chongười chơi rèn luyện trí nhớ, nhưng cũng chính sự đơn giản đó đã làm trò chơi trở14lên đơn điệu và hình ảnh đồ họa không được bắt mắt có thể gây nhàm chán chongười chơi khi chơi nhiều lần. Nên hướng phát triển của chúng em sẽ là nâng caokhả năng đồ họa của phần mềm trò chơi này, với nhiều hiệu ứng và màu sắc bắtmắt hơn, đồng thời sẽ xây dựng thêm một số chức năng như: lưu điểm người caonhất, tăng độ khó theo từng level, chơi hai người… Nhưng hướng chủ yếu là tănghiệu ứng đồ họa để người chơi có thể thấy một cách trực quan hơn với trò chơi,tránh cảm giác nhàm chán khi chơi.Họ và tên Công việc1. Trần Văn Đại Cách tính điểm và các thông báo2. Dư Văn Nguyện Xử lý ô3. Nguyễn MạnhThắngGiao diện15

Tài liệu liên quan

  • Đề tài xây DỰNG CHƯƠNG TRÌNH mô PHỎNG QUY TRÌNH lập báo CÁOTHUẾ GIÁ TRỊ GIA TĂNG THEO PHƯƠNG PHÁP KHẤU TRỪ Đề tài xây DỰNG CHƯƠNG TRÌNH mô PHỎNG QUY TRÌNH lập báo CÁOTHUẾ GIÁ TRỊ GIA TĂNG THEO PHƯƠNG PHÁP KHẤU TRỪ
    • 65
    • 610
    • 0
  • Đề tài xây DỰNG CHƯƠNG TRÌNH mô PHỎNG QUY TRÌNH lập PHIẾU THU CHI TIỀN MẶT TRONG kế TOÁN Đề tài xây DỰNG CHƯƠNG TRÌNH mô PHỎNG QUY TRÌNH lập PHIẾU THU CHI TIỀN MẶT TRONG kế TOÁN
    • 125
    • 1
    • 0
  • Đề tài xây DỰNG CHƯƠNG TRÌNH mô PHỎNG PHÒNG máy DÙNG TRONG QUẢN lý Đề tài xây DỰNG CHƯƠNG TRÌNH mô PHỎNG PHÒNG máy DÙNG TRONG QUẢN lý
    • 59
    • 719
    • 0
  • Đề tài xây DỰNG CHƯƠNG TRÌNH mô PHỎNGQUY TRÌNH QUẢN lý CÔNG nợ Đề tài xây DỰNG CHƯƠNG TRÌNH mô PHỎNGQUY TRÌNH QUẢN lý CÔNG nợ
    • 115
    • 866
    • 1
  • Tài liệu Đề tài Tài liệu Đề tài " Xây dựng chương trình tính toán nhiệt chu trình, chọn máy nén và thiết bị phụ của hệ thốn lạnh 1 cấp " docx
    • 5
    • 681
    • 2
  • Tài liệu Đề tài: Xây dựng chương trình quản lý thư viện trường Tiểu Học La Bằng bằng ngôn ngữ lập trình Access doc Tài liệu Đề tài: Xây dựng chương trình quản lý thư viện trường Tiểu Học La Bằng bằng ngôn ngữ lập trình Access doc
    • 56
    • 1
    • 3
  • Đề tài: Xây dựng chương trình kiểm tra từ vựng Anh- Việt ppt Đề tài: Xây dựng chương trình kiểm tra từ vựng Anh- Việt ppt
    • 41
    • 624
    • 0
  • Đề tài : “Xây dựng trang web bán điện thoại trực tuyến sử dụng ngôn ngữ lập trình mạng ASP.NET” pot Đề tài : “Xây dựng trang web bán điện thoại trực tuyến sử dụng ngôn ngữ lập trình mạng ASP.NET” pot
    • 50
    • 761
    • 6
  • Đề tài: XÂY DỰNG CHƯƠNG TRÌNH QUẢN LÝ ĐĂNG LÝ XE Ô TÔ potx Đề tài: XÂY DỰNG CHƯƠNG TRÌNH QUẢN LÝ ĐĂNG LÝ XE Ô TÔ potx
    • 43
    • 1
    • 0
  • Đề tài: Xây dựng game cờ Caro pot Đề tài: Xây dựng game cờ Caro pot
    • 16
    • 608
    • 1

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

(2.47 MB - 16 trang) - LẬP TRÌNH JAVA ĐỀ TÀI: XÂY DỰNG GAME TRÚC XANH Tải bản đầy đủ ngay ×

Từ khóa » Game Java Xây Dựng