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

Báo cáo đồ án lập trình win the tetris

20 1.4K 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

Nội dung

Báo cáo đồ án lập trình win the tetris

ĐẠI HỌC CÔNG NGHỆ THÔNG TIN – ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH BÁO CÁO ĐỒ ÁN LẬP TRÌNH WIN The Tetris Giảng viên hướng dẫn: PHAN NGUYỆT MINH Thành viên tham gia: - Lê Quang Khải – MSSV: 09520134 Phạm Đình Thanh Quang – MSSV: 09520227 Huỳnh Minh Tuấn – MSSV: 09520705 Báo cáo đồ án Lập trình Win GVHD: Phan Nguyệt Minh MỤC LỤC MỞ ĐẦU CHƢƠNG 1: GIỚI THIỆU 1.1 Trình bày ý tưởng, mục tiêu 1.1.1 Bối cảnh 1.1.2 Giải pháp 1.2 Các chức 1.3 Phân tích yêu cầu CHƢƠNG 2: THIẾT KẾ 2.1 Cơ sở liệu 2.2 Kiến trúc chương trình 2.2.1 Giới thiệu khái quát mô hình MVVM 2.2.2 Kiến trúc trò chơi Tetris dựa mô hình MVVM 2.2.2.1 Model 2.2.2.2 ViewModel 10 2.2.2.3 View 15 CHƢƠNG 3: CÀI ĐẶT VÀ THỬ NGHIỆM 19 3.1 Môi trường 19 3.2 Yêu cầu 19 3.2.1 Phần cứng 19 3.2.1 Phần mềm 19 3.3 Đánh giá 19 CHƢƠNG 4: KẾT LUẬN VÀ HƢỚNG MỞ RỘNG 20 4.1 Kết luận 20 4.2 Hướng mở rộng 20 Báo cáo đồ án Lập trình Win GVHD: Phan Nguyệt Minh MỞ ĐẦU Nhóm chúng em định chọn đề tài làm đồ án cho môn lập trình Win đưa thời gian đăng kí đề tài, thành viên nhóm xây dựng ứng dụng Windows để tham gia thi ImagineCup 2011 Microsoft tổ chức (vào đến bán kết) Nhận thấy không đủ thời gian để hoàn thành vừa sản phẩm cho thi lẫn đồ án nên chúng em định lấy lại hoàn thiện thêm ứng dụng cho đồ án Nội dung ứng dụng dựa tựa game Tetris (xếp gạch) cổ diển để xây dựng trò chơi giúp người chơi có thêm hứng thú để học tiếng Anh – loại ngôn ngữ quốc tế cần thiết cho học tập công việc Xét tình hình phát triển, ứng dụng ban đầu để tham gia thi ImagineCup hoàn thành yêu cầu đặt ra, nhiên ứng dụng WPF (Windows Presentation Foundation) bình thường, cấu trúc lộn xộn, khó nâng cấp, mở rộng kiểm thử Đến phát triển thêm để làm đồ án cho môn lập trình Win, nhóm em định xây dựng lại ứng dụng theo mô hình lớp Model-View-ViewModel (MVVM) công nghệ WPF Có thể nói nhóm hoàn thành tốt mục tiêu đặt Báo cáo đồ án Lập trình Win GVHD: Phan Nguyệt Minh CHƢƠNG 1: GIỚI THIỆU 1.1 Trình bày ý tƣởng, mục tiêu1 1.1.1 Bối cảnh Hiện nay, trình hội nhập quốc tế diễn mạnh, số yêu cầu cần thiết vấn đề ngôn ngữ Và tiếng Anh ngôn ngữ phổ biến dùng để giao tiếp văn hóa khác Tuy nhiên, số nước, có Việt Nam, việc học, sử dụng tiếng Anh rào cản lớn đa số học sinh, sinh viên người qua tuổi học lại cần thiết phải biết tiếng Anh để hỗ trợ công việc Việc thiếu kĩ việc sử dụng tiếng Anh dẫn tới số tác hại không nhỏ Đơn cử giới học sinh đặc biệt sinh viên, việc tìm tòi kiến thức liên quan đến chuyên ngành quan trọng Và hầu hết tài liệu hay, chi tiết viết tiếng Anh Do đó, đọc hiểu tài liệu trở nên thua so với bạn đọc hiểu tốt Nguyên nhân dẫn đến việc yếu kĩ sử dụng tiếng Anh liên quan đến nhiều khía cạnh, họ từ bắt đầu học tiếng Anh, số khác gặp vấn đề khả ngôn ngữ đơn họ không cảm thấy hứng thú với loại ngôn ngữ quan trọng Vậy nên, vấn đề đặt tìm phương pháp hỗ trợ việc tự học tiếng Anh thật hiệu quả, tạo hứng thú cao cho người học Những giải pháp để giải vấn đề không thiếu, muốn đề cử giải pháp khác với hi vọng mang lại tín hiệu tích cực cho hệ trẻ việc cải thiện vốn tiếng Anh 1.1.2 Giải pháp Như trình bày trên, muốn đưa giải pháp nhằm tạo cảm hứng cho người học tiếng Anh Ý tưởng bước đầu xây dựng trò chơi đơn giản lồng ghép cách chơi mới, thông qua truyền tải kiến thức tiếng Anh đến người chơi cách nhẹ nhàng, hiệu Bước đầu tiên, xây dựng trò chơi xếp gạch – tetris với cách chơi có thêm cải tiến, kèm với việc ứng dụng công nghệ mạnh mẽ Microsoft WPF, NET… để tạo giao diện bắt mắt, hấp dẫn Tuy nhiên, muốn khẳng định lại điều giải pháp nhắm vào việc tạo cảm hứng cho người học tiếng Anh, phương pháp học tiếng Anh Nội dung trích dẫn từ văn đề xuất ý tưởng tham gia thi ImagineCup 2011 – ImagineCup_2011.docx Báo cáo đồ án Lập trình Win 1.2 GVHD: Phan Nguyệt Minh Các chức Về nội dung, trò chơi cung cấp chế độ chơi khác riêng biệt cho mục đích khác nhau: Trò chơi xếp gạch mà đề cập phần trình bày ý tưởng bước trình thực giải pháp lâu dài mà đưa Tất nhiên, cách chơi trò chơi không thay đổi Về hình thức, xây dựng hai chế độ chơi riêng biệt:  Classic mode Trong phần chơi này, người chơi tham gia vào game xếp gạch cổ điển, thay đổi lối chơi Mục đích chế độ giúp người chơi giải tỏa stress, thẳng Đây mục đích trò chơi Bên cạnh chế độ chơi đơn, trò chơi cung cấp chế độ chơi hai người, qua giúp người chơi giải trí hiệu tham gia thi thố với bạn bè, người thân  Challenge mode Đây điểm nhấn quan trọng ý tưởng Trong phần chơi này, người chơi hoàn thành hàng nhanh để làm xuất nội dung câu hỏi dạng trắc nghiệm Lúc này, người chơi có tùy chọn bỏ qua trả lời Nếu bỏ qua, người chơi bị trừ điểm nắm lấy hội Nếu trả lời có hai trường hợp, trả lời trả lời sai Tuy nhiên, dù trả lời hay sai, người chơi thưởng điểm có cố gắng Về độ khó, phần chơi chia làm ba mức độ: o Easy: câu hỏi với độ khó mức bản, phù hợp với trình độ người học bị từ lâu o Normal: độ khó câu hỏi mức bình thường, phù hợp với giáo trình anh văn bạn học sinh cấp trung học phổ thông, trung học sở o Difficult: mức độ có độ khó cao Các câu hỏi nhắm vào đối tượng có kiến thức tiếng Anh vừa muốn giải trí lại vừa muốn trau dồi thêm kiến thức Nội dung câu hỏi lấy từ tài liệu ôn tập chứng anh văn phổ biến TOELF, TOEIC, IELTS… Tất nhiên chế độ chơi cải tiến cho phép bạn thi thố với bạn bè, người thân khả hỗ trợ chơi người, nhờ tăng thêm tính cạnh tranh, hấp dẫn cho trò chơi Báo cáo đồ án Lập trình Win GVHD: Phan Nguyệt Minh Trò chơi cung cấp tính save game – lưu lại trạng thái trò chơi, load game – nạp lại phần chơi trước đó, new game – tạo phần chơi 1.3 Phân tích yêu cầu Trò chơi phải đạt số yêu cầu sau: - Chơi - Có chế độ Save Load phần chơi đơn - Kết nối vào sở liệu MS SQL để lấy nội dung câu hỏi - Đảm bảo xây dựng theo nguyên tắc mô hình lớp MVVM - Một số yêu cầu phát sinh trình xây dựng Báo cáo đồ án Lập trình Win GVHD: Phan Nguyệt Minh CHƢƠNG 2: THIẾT KẾ 2.1 Cơ sở liệu Chương trình sử dụng hệ quản trị sở liệu Microsoft SQL Server Database bao gồm bảng hình vẽ bên dưới, bảng Beginner cung cấp nội dung câu hỏi cho mức độ khó Easy, bảng Mover tương ứng với độ khó Normal bảng Flyer tương ứng với Difficult Thiết kế sở liệu Về cấu trúc, bảng có số cột nội dung cột nhau: - 2.2 idQues: số thứ tự câu hỏi Question: nội dung câu hỏi AnswerA, AnswerB, AnswerC AnswerD: nội dung đáp án A, B, C D Result: đáp án xác câu hỏi QuestionType: loại câu hỏi Ở có loại câu hỏi tìm câu trả lời xác tìm lỗi sai câu cho trước Kiến trúc chƣơng trình 2.2.1 Giới thiệu khái quát mô hình MVVM MVVM từ viết tắt Model-View-ViewModel, mô hình lớp áp dụng rộng rãi ứng dụng sử dụng công nghệ WPF (Windows Presentation Foundation) Silverlight Báo cáo đồ án Lập trình Win GVHD: Phan Nguyệt Minh MVVM Datagram Trong đó:  Model thực thể liệu, thông tin mà cần phải thao tác ứng dụng Ví dụ Contact (thông tin liên lạc) với thuộc tính số điện thoại, email, địa nhà… đối tượng mà ta cần thao tác (thêm, xóa, sửa) Các đối tượng đưa vào lập trình class Một lưu ý model lưu giữ thông tin mà thôi, không quan tâm đến hoạt động hay dịch vụ thay đổi, điều khiển thông tin Ví dụ trách nhiệm phải định dạng đoạn văn hiển thị nào, hay để lấy danh sách item từ remote server  ViewModel class định nghĩa cách liệu tương tác với người dùng thông qua View Nói cách khác ViewModel model View Một lưu ý quan trọng Báo cáo đồ án Lập trình Win GVHD: Phan Nguyệt Minh ViewModel không mô tả giao diện trông Nó mô tả cách mà view hoạt động thông tin cung cấp cho người dùng ViewModel xem thông dịch viên View Model thay đổi từ View lên Model thực dán tiếp thông qua  View thành phần mà người dùng tương tác chương trình, thành phần mô tả liệu Trong WPF, view UserControl, Window hay Page, nhiên cần lưu ý View UserControl không thiết UserControl phải View View thực việc kết nối liệu đến ViewModel thông qua DataContext Việc áp dụng pattern vào lập trình đem lại số lợi ích cho developer khả tương tác hiệu làm việc với tính độc lập cao designer coder, khả sử dụng lại components (lợi ích thể rõ đồ án), thiết kế lại giao diện ứng dụng mà không cần cần thay đổi tí code Một lợi ích lớn MVVM pattern đơn giản hóa công đoạn Unit Testing 2.2.2 Kiến trúc trò chơi Tetris dựa mô hình MVVM 2.2.2.1 Model Trong trò chơi Tetris, đối tượng liệu mà chương trình thao tác đặt folder Model Một số class quan trọng bao gồm: - PieceType: khối gạch (chúng em gọi Piece) game mô tả mảng trạng thái chiều có kích thước 5x5 Mỗi viên gạch (block) khối gạch tương ứng với phần tử mảng Tùy theo giá trị mảng trạng thái để tạo nên hình dạng khối gạch định Ở có kiểu khối gạch, kiểu tương ứng có kiểu xoay khác nhau, nên mảng chiều dùng để lưu trữ thông tin trạng thái kiểu khối gạch kiểu xoay tương ứng Các fields lại brush mảng lưu trữ đường dẫn đến hình ảnh tình viên gạch, mảng chiều initPos lưu trữ vị trí khởi tạo kiểu gạch với kiểu xoay khác - GameInfo lưu trữ thông tin game Score, Level, Interval (tốc độ rơi khối gạch)… Các phương thức để tính toán số điểm cần thiết để lên level, reset lại thông tin - Một số class khác lưu trữ thông tin dùng để save game, thông tin highscore… Báo cáo đồ án Lập trình Win 2.2.2.2 GVHD: Phan Nguyệt Minh ViewModel ClassicSinglePlayerGame: ClassicSinglePlayerGameViewModel class diagram ClassicSinglePlayerGameViewModel ViewModel ClassicSinglePlayerGame – giao diện phần chơi đơn mode classic Là ViewModel, đối tượng thuộc kiểu có nhiệm vụ cung cấp thuộc tính cho phép View kết nối tới thông qua data binding hiển thị liệu bên cho người dùng Class kế thừa từ class BaseGameViewModel, BaseGameViewModel lại kế thừa từ BaseViewModel nên có thêm vài phương thức thuộc tính để quản lí việc lưu, load tùy chọn âm thanh, điều khiển người chơi Các thuộc tính quan trọng (cũng ViewModel) bao gồm  GameBoard (thuộc kiểu BoardViewModel) Một số fields, properties methods class bao gồm: o private byte[,] playBoard – mảng chiều kiểu byte (kích thước 20x14) lưu trữ trạng thái toàn vùng chơi Mỗi cell tương ứng với 10 Báo cáo đồ án Lập trình Win GVHD: Phan Nguyệt Minh viên gạch hiển thị hình Giá trị tương ứng với vị trí chưa có viên gạch giá trị khác tương ứng với vị trí có gạch o ObservableCollection InternalBlocks – Đây collection lưu trữ DataContext viên gạch (BlockView) hiển thị vùng chơi Collection có 20x14 phần tử, phần tử có kiểu BlockViewModel, thay đổi collection hiển thị hình Lúc khởi tạo, phần tử BlockViewModel gán giá trị cho thuộc tính row, column tương ứng với số hàng, số cột đối tượng BlockView hiển thị grid o Class có constructor, constructor mặc định dùng để khởi tạo đối tượng hoàn toàn, constructor lại dùng để khởi tạo đối tượng dựa liệu có sẵn o public void SetBoard(PieceControl piece) – phương thức dùng để thay đổi mảng trạng thái playBoard khối gạch rơi xuống Hàm đóng vai trò quan trọng để biết game over, người chơi vừa ăn hàng… Tham số truyền vào khối gạch vừa rơi xuống o public void UpdateBoard(int rows) – Cập nhật lại mảng trạng thái có hay nhiều hàng vừa lấp đầy o public int?[][] CheckGameStatus(PieceControl piece) – Kiểm tra tình trạng game Nếu game over, kết trả null Ngược lại, mảng jagged chiều chứa phần thử int nullable trả số hàng mà người chơi vừa ăn với số thứ tự hàng mảng trạng thái o Cùng số phương thức khác liên quan đến điều khiển giao diện người chơi (HideBlock, DrawBlock, UpdateVisibility…)  CurrentPiece (thuộc kiểu PieceControl) Đối tượng có thuộc tính, phương thức sau: o byte[,] blocks – Mảng chiều kích thước 5x5 lưu trữ trạng thái viên gạch thuộc khối gạch Hình bên ví dụ hình dạng lúc hiển thị giá trị lưu mảng trạng thái 11 Báo cáo đồ án Lập trình Win GVHD: Phan Nguyệt Minh o BoardViewModel board – Reference đến đối tượng BoardViewModel game để kiểm tra tính hợp lệ di chuyển (sang trái, sang phải, rơi xuống) o Các biến lưu trữ kiểu gạch, kiểu xoay đối tượng o Constructors  PieceControl(int type, int rotation, BoardViewModel board) – khởi tạo đối tượng mới, cung cấp thông tin kiểu, kiểu xoay tham chiếu đến GameBoard cho đối tượng Từ thông tin kiểu kiểu xoay xác định mảng trạng thái tương ứng dựa vào mảng static pType class PieceType  PieceControl(PieceSaveData savedData, BoardViewModel board) – khởi tạo đối tượng dựa vào thông tin lưu lại tham số truyền vào hàm savedData o Các phương thức di chuyển khối gạch sang trái, phải, rơi xuống  Menu (thuộc kiểu DynamicMenuViewModel) Đối tượng dùng để quản lí menu bên trái giao diện người chơi (hiện nhấn Escape) Các thuộc tính quan trọng bao gồm: o ObservableCollection ButtonList – Danh sách Button hiển thị Menu Ứng với đối tượng CustomButtonViewModel add vào danh sách có Button hiển thị Giao diện button quy định thuộc tính Type o ObservableCollection KeySettings – Danh sách đối tượng KeyBoardSettingControl (là View KeyBoardSettingControlViewModel) hiển thị phần mở rộng Menu (xuất bấm nút Setting) KeyBoardSettingControlViewModel dùng để quản lí thiết lập control người chơi game Trong phím bấm điều khiển lưu trữ collection loại Dictionary Ở Dictionary thông thường không hỗ trợ tốt cho DataBinding nên giải pháp 12 Báo cáo đồ án Lập trình Win GVHD: Phan Nguyệt Minh sử dụng ObservableDictionary – class mở rộng Dictionary hỗ trợ tốt cho DataBinding o Các thuộc tính IsMenuOpened, IsSettingOpened để quản lí điều khiển việc đóng mở menu menu setting o Các thuộc tính có kiểu ICommand Command bind vào button tương ứng Khi click chuột vào button command mà button kết nối vào thực thi o Constructor: DynamicMenuViewModel(BaseViewModel gameModeViewModel, params ObservableDictionary[] keySetting) dùng để khởi tạo đối tượng Tham số nhận đối tượng kế thừa từ class BaseGameViewModel, trường hợp class ClassicSinglePlayerGameViewModel Tham số thứ đối tượng có kiểu ObservableDictionary, từ khóa params dùng số đối tượng keySetting game mode khác Ví dụ mode chơi đơn có ObservableDictionary lưu trữ phím người chơi, trong chế độ chơi người cần đến đối tượng  NextBoard (thuộc kiểu NextBoardViewModel) – Đối tượng quản lí điều khiển việc hiển thị khối gạch Đối tượng thuộc class giống với đối tượng thuộc kiểu BoardViewModel cấu trúc Tuy nhiên class có số phương thức đơn giản điều khiển để hiển thị xóa hình ảnh khối gạch ChallengeSinglePlayerGameViewModel 13 Báo cáo đồ án Lập trình Win GVHD: Phan Nguyệt Minh ChallengeSinglePlayerGameViewModel diagram Về chất, cách chơi điều khiển phần chơi challenge khác so với phần chơi classic Phần chơi thêm vào số chức mở rộng liên quan đến việc trả lời câu hỏi làm để biết câu hỏi mở Chính vậy, class kế thừa lại class ClassicSinglePlayerGameViewModel Một số thành phần mở rộng class bao gồm:  RectangleViewModel (thuộc kiểu DualRectangleRacerViewModel) – DataContext thành phần View có kiểu DualRectangleRacer Chức class điều khiển chức hình chữ nhật phía bên phải hình Cụ thể hơn, người chơi ăn hàng, chiều cao hình chữ nhật màu xanh tăng lên 30px Khi chiều cao tăng lên tối đa (được quy định hằng), đèn bật, câu hỏi xuất chiều cao reset ban đầu Đối thủ người chơi computer Ở computer chữ nhật màu đỏ lại Mỗi đồng hồ đếm ngược đến 0, chiều cao tăng lên 60px, tương ứng với việc người chơi ăn hàng lúc Trong trường hợp chữ nhật màu đỏ đặt chiều cao tối đa trước người chơi (đèn đỏ sáng), 14 Báo cáo đồ án Lập trình Win GVHD: Phan Nguyệt Minh người chơi hội trả lời câu hỏi bắt đầu đua lại từ đầu Các thuộc tính, phương thức chính: o public int Second: DataContext đồng hồ giao diện người chơi Mỗi giây, giá trị Second giảm o public int MaxSecond: Số giây tối đa để chữ nhật màu đỏ computer gia tăng chiều cao Cụ thể số điểm người chơi vượt giá trị biến LimitScore giá trị MaxSecond giảm 1, đồng thời giá trị LimitScore tăng lên 5000 điểm o public bool IsReverse: biến bool kiểm tra người chơi lựa chọn chơi theo kiểu ngược lại Nghĩa thay màu đỏ computer đạt chiều cao tối đa câu hỏi xuất màu xanh người chơi đạt max height đưa vị trí xuất phát o Các phương thức dùng để raise event  ProfileSelector (thuộc kiểu ChallengeSingleProfileSelectionViewModel) Đây đối tượng quản lí điều khiển hoạt động cửa sổ yêu cầu xác định tên người chơi bắt đầu game Mục đích việc load câu hỏi có số thứ tự số câu hỏi mà người chơi trải qua độ khó khác Các thuộc tính, phương thức bao gồm: o public string CurrentPlayerName: Tên cuối mà người chơi chọn cho trước bắt đầu game (có thể lấy từ số tên có sẵn đặt tên mới) o public bool Visible: điều khiển hiển thị giao diện class bên o public bool IsNameExists: điều khiển hiển thị cửa số thông báo tên vừa chọn có o public void SaveProfile(int startFrom): lưu lại thông tin tên số câu hỏi mà người chơi trả lời vào file o public int GetQuestionNumber(): lấy số câu hỏi người chơi người chơi load lại từ game save trước o Các Command dùng để thực thi hành động tạo profile mới, load profile có sẵn người dùng bấm vào nút tương ứng giao diện Các class điều khiển phần chơi lại ClassicMultiPlayersViewModel, ChallengeMultiplayersViewModel sử dụng lại phần lớn components sẵn có giới thiệu 2.2.2.3 View 15 Báo cáo đồ án Lập trình Win GVHD: Phan Nguyệt Minh Main Menu Classic Single Player Game 16 Báo cáo đồ án Lập trình Win GVHD: Phan Nguyệt Minh Challenge Single Player Game Classic multiplayers game 17 Báo cáo đồ án Lập trình Win GVHD: Phan Nguyệt Minh Challenge multiplayers với câu hỏi xuất cho người chơi thứ (bên phải) 18 Báo cáo đồ án Lập trình Win GVHD: Phan Nguyệt Minh CHƢƠNG 3: CÀI ĐẶT VÀ THỬ NGHIỆM 3.1 Môi trƣờng - Microsoft Windows 3.2 Yêu cầu 3.2.1 Phần cứng - RAM: 512MB (đề nghị 1GB trở lên) CPU: Pentium (đề nghị Pentium D trở lên) Ổ cứng: tối thiểu 30MB 3.2.1 Phần mềm - Hệ điều hành: Windows XP trở lên (Cấu hình đề nghị: Windows 7) Microsoft NET Framework Microsoft SQL Server Express 2008 Microsoft SQL Server 2008 Microsoft Installer 4.5 Ngôn ngữ cài đặt: Microsoft Visual C# 4.0 Độ phân giải hình: 1366 × 768 3.3 Đánh giá - Chương trình hoạt động tốt máy chạy Windows XP, Windows Vista (32 bit 64 bit) Windows (32 bit 64 bit) với độ phân giải tối thiểu 1366 × 768 19 Báo cáo đồ án Lập trình Win GVHD: Phan Nguyệt Minh CHƢƠNG 4: KẾT LUẬN VÀ HƢỚNG MỞ RỘNG 4.1 Kết luận Trò chơi đáp ứng yêu cầu tối thiểu mặt cấu trúc xây dựng bên lẫn yêu cầu mặt tương tác bên Đảm bảo tính đắn mô hình MVVM xây dựng ứng dụng Tuy nhiên trò chơi thiếu tính chơi qua mạng vấn đề hiển thị không tốt máy tính có độ phân giải hình thấp 4.2 Hƣớng mở rộng Xét khả mở rộng, trước tiên trò chơi mở rộng từ game offline thành trò chơi trực tuyến, qua mang trò chơi đến với nhiều người tiện lợi Với sức mạnh công nghệ web tại, đặc biệt với công nghệ Silverlight vấn đề trở nên đơn giản Và đó, người chơi tương tác với mà không bị giới hạn địa lý Họ làm cho người biết đến với điểm số cao ngất ngưỡng (chia điểm số có phần chơi Advanced), hay tìm thêm người bạn mới… Người chơi offline upload điểm số lên để so kè với người khác Hiện tại, Tetris xây dựng game offline hoàn toàn có sở liệu giới hạn Tuy liệu câu hỏi lên đến 2,382 câu hỏi bảo đảm không sử dụng hết Vì vậy, tính Auto Update tính quan trọng phiên phát triển Tuy nhiên, khả mở rộng ý tưởng lớn Chúng ta xây dựng nên mạng xã hội với game giáo dục Trong mạng này, bên cạnh tính mạng xã hội chia cảm xúc, hình ảnh, video, người tham gia sử dụng ứng dụng mang tính giáo dục cao, tương tự trò chơi Tetris mà chúng em xây dựng Các lập trình viên khác upload ứng dụng lên mạng xã hội này, thư viện ứng dụng ngày phong phú, rộng lớn Nói cách ngắn gọn tương tự facebook ứng dụng không phức tạp, đa chủng loại Facebook Tất nhiên không loại trừ khả đưa trò chơi thành ứng dụng sử dụng công nghệ điện toán đám mây (SQL Azure) cho thiết bị di động Vấn đề khó thực nguồn lực nhóm không mạnh để sử dụng công nghệ cloud computing đòi hỏi chi phí phần cứng cao Vì thế, cần nhà tài trợ giúp đỡ để chúng em tiếp tục phát triển dự án 20 [...]... ở trên 2.2.2.3 View 15 Báo cáo đồ án Lập trình Win GVHD: Phan Nguyệt Minh Main Menu Classic Single Player Game 16 Báo cáo đồ án Lập trình Win GVHD: Phan Nguyệt Minh Challenge Single Player Game Classic multiplayers game 17 Báo cáo đồ án Lập trình Win GVHD: Phan Nguyệt Minh Challenge multiplayers với câu hỏi xuất hiện cho người chơi thứ 2 (bên phải) 18 Báo cáo đồ án Lập trình Win GVHD: Phan Nguyệt Minh... Microsoft Installer 4.5 Ngôn ngữ cài đặt: Microsoft Visual C# 4.0 Độ phân giải màn hình: 1366 × 768 3.3 Đánh giá - Chương trình hoạt động tốt trên các máy chạy Windows XP, Windows Vista (32 bit và 64 bit) và Windows 7 (32 bit và 64 bit) với độ phân giải tối thiểu 1366 × 768 19 Báo cáo đồ án Lập trình Win GVHD: Phan Nguyệt Minh CHƢƠNG 4: KẾT LUẬN VÀ HƢỚNG MỞ RỘNG 4.1 Kết luận Trò chơi đã đáp ứng được các... Đối tượng quản lí và điều khiển việc hiển thị khối gạch tiếp theo sẽ ra Đối tượng thuộc class này cơ bản giống với đối tượng thuộc kiểu BoardViewModel về cấu trúc Tuy nhiên class này chỉ có một số phương thức đơn giản điều khiển để hiển thị và xóa hình ảnh khối gạch tiếp theo ChallengeSinglePlayerGameViewModel 13 Báo cáo đồ án Lập trình Win GVHD: Phan Nguyệt Minh ChallengeSinglePlayerGameViewModel... chính là computer Ở đây computer chính là thanh chữ nhật màu đỏ còn lại Mỗi khi đồng hồ đếm ngược ở trên về đến 0, chiều cao của thanh này sẽ tăng lên 60px, tương ứng với việc người chơi ăn được 2 hàng cùng lúc Trong trường hợp thanh chữ nhật màu đỏ đặt chiều cao tối đa trước người chơi (đèn đỏ sáng), 14 Báo cáo đồ án Lập trình Win GVHD: Phan Nguyệt Minh người chơi sẽ mất đi cơ hội trả lời câu hỏi và bắt... khi bấm nút Setting) KeyBoardSettingControlViewModel được dùng để quản lí những thiết lập về control của người chơi trong game Trong đó các phím bấm điều khiển sẽ được lưu trữ bằng một collection loại Dictionary Ở đây vì Dictionary thông thường không hỗ trợ tốt cho DataBinding nên giải pháp 12 Báo cáo đồ án Lập trình Win GVHD: Phan Nguyệt Minh là sử dụng ObservableDictionary – một class mở rộng của Dictionary... byte[,] blocks – Mảng 2 chiều kích thước 5x5 lưu trữ trạng thái các viên gạch thuộc khối gạch Hình bên dưới là ví dụ về hình dạng lúc hiển thị và các giá trị được lưu trong mảng trạng thái 11 Báo cáo đồ án Lập trình Win GVHD: Phan Nguyệt Minh o BoardViewModel board – Reference đến đối tượng BoardViewModel của game để kiểm tra tính hợp lệ khi di chuyển (sang trái, sang phải, rơi xuống) o Các biến lưu trữ.. .Báo cáo đồ án Lập trình Win GVHD: Phan Nguyệt Minh viên gạch sẽ được hiển thị trên màn hình Giá trị 0 tương ứng với vị trí chưa có viên gạch nào và giá trị khác 0 tương ứng với vị trí đã có gạch o ObservableCollection... trò chơi Tetris mà chúng em xây dựng vậy Các lập trình viên trên khác có thể upload ứng dụng của mình lên mạng xã hội này, như vậy thư viện ứng dụng sẽ ngày càng phong phú, rộng lớn Nói một cách ngắn gọn thì nó cũng tương tự như facebook nhưng các ứng dụng sẽ không phức tạp, đa chủng loại như Facebook Tất nhiên không loại trừ khả năng đưa trò chơi thành một ứng dụng sử dụng công nghệ điện toán đám mây... án Lập trình Win GVHD: Phan Nguyệt Minh CHƢƠNG 3: CÀI ĐẶT VÀ THỬ NGHIỆM 3.1 Môi trƣờng - Microsoft Windows 3.2 Yêu cầu 3.2.1 Phần cứng - RAM: 512MB (đề nghị 1GB trở lên) CPU: Pentium 4 (đề nghị Pentium D trở lên) Ổ cứng: tối thiểu 30MB 3.2.1 Phần mềm - Hệ điều hành: Windows XP trở lên (Cấu hình đề nghị: Windows 7) Microsoft NET Framework 4 Microsoft SQL Server Express 2008 hoặc Microsoft SQL Server 2008... gạch (BlockView) sẽ được hiển thị ở vùng chơi Collection này có 20x14 phần tử, mỗi phần tử có kiểu BlockViewModel, những thay đổi đối với collection này sẽ ngay lập tức được hiển thị trên màn hình Lúc khởi tạo, từng phần tử BlockViewModel sẽ được gán giá trị cho các thuộc tính row, column của nó tương ứng với số hàng, số cột của các đối tượng BlockView sẽ được hiển thị trên grid o Class này có 2 constructor, ... components sẵn có giới thiệu 2.2.2.3 View 15 Báo cáo đồ án Lập trình Win GVHD: Phan Nguyệt Minh Main Menu Classic Single Player Game 16 Báo cáo đồ án Lập trình Win GVHD: Phan Nguyệt Minh Challenge Single... multiplayers game 17 Báo cáo đồ án Lập trình Win GVHD: Phan Nguyệt Minh Challenge multiplayers với câu hỏi xuất cho người chơi thứ (bên phải) 18 Báo cáo đồ án Lập trình Win GVHD: Phan Nguyệt... 768 3.3 Đánh giá - Chương trình hoạt động tốt máy chạy Windows XP, Windows Vista (32 bit 64 bit) Windows (32 bit 64 bit) với độ phân giải tối thiểu 1366 × 768 19 Báo cáo đồ án Lập trình Win GVHD:

Ngày đăng: 02/02/2016, 09:45

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w