Lập trình Windows dùng C# Khoa CNTT- Hutech Created by Nguyen Ha Giang Email: nguyenha.giang@yahoo.com - 1 - TRƯỜNG ĐH KỸ THUẬT CÔNG NGHỆ Khoa Công Nghệ Thông Tin Môn: Lập trình Windows Homework3–C#WindowsForms–BasicGame Mục tiêu: - Sử dụng lớp Image để load các ảnh và hiển thị trong các control như PictureBox hoặc Button. - Cách tạo các control động, hiển thị các ảnh trên control. - Sử dụng lớp Random để tạo ngẫu nhiên các con số. - Sử dụng Component Timer để hiển thị thông tin thời gian của trò chơi - Xây dựng Form con khai báo các thông tin “tùy chọn” cho ứng dụng trong Form chính Nội dung: Xây dựng một game Picture Match. Game được mô tả như sau: cho n tấm hình được “lật úp” (n là số chẵn), trong đó thật sự chỉ có n/2 hình khác nhau. Mỗi lần click vào hình thì hình đó sẽ hiện lên, người chơi sẽ nhớ hình ở vị trí đó. Nếu lần click kế tiếp là cùng hình đó thì xem như hình được tìm thấy, và hai vị trí chứa hình đó xem như được mở. Người chơi tiếp tục mở (lật) các hình khác cho đến hết. Mỗi lần lật một hình xem như là một bước đi (step), ngoài ra thời gian chơi cũng được hiển thị. Việc xếp hạng người chơi dựa vào thời gian chơi và tổng số step. Hình 1 bên dưới là giao diện minh họa cho game. Lập trình Windows dùng C# Khoa CNTT- Hutech Created by Nguyen Ha Giang Email: nguyenha.giang@yahoo.com - 2 - Hình 1: Minh họa giao diện game. Minh họa cách chơi Lần lật đầu tiên khi người chơi kích vào một hình nào đó. Hình 2: Lần lật hình thứ 1. Lập trình Windows dùng C# Khoa CNTT- Hutech Created by Nguyen Ha Giang Email: nguyenha.giang@yahoo.com - 3 - Lần lật hình thứ 2, sau khi đã lật hình thứ 1: do lần lật này hình thứ 2 giống hình thứ lần lật thứ 1 nên xem như “match” => hình được mở, hai vị trí này xem như đã giải quyết xong. Người chơi tiếp tục tương tự với các hình còn lại. Hình 3: Lần lật hình thứ 2 Hình 4: Hai hình vừa rồi xem như đã mở xong Lập trình Windows dùng C# Khoa CNTT- Hutech Created by Nguyen Ha Giang Email: nguyenha.giang@yahoo.com - 4 - Ví dụ lần lật hai hình không giống nhau như sau Hình 5: Lần lật thứ 1 của lần chơi tiếp theo Lần lật thứ 2, được một hình khác => do đó xem như lần này không “match”, người chơi sẽ nhớ hai hình tại hai vị trí này một cách nhanh chóng, vì sao đó hai hình đó sẽ bị lật úp lại. Trong những lần chơi tiếp nếu người chơi tìm được vị trí khác của các hình đó thì họ nhanh chóng nhớ vị trí ban đầu mà thực hiện việc “match” hình đó… Lập trình Windows dùng C# Khoa CNTT- Hutech Created by Nguyen Ha Giang Email: nguyenha.giang@yahoo.com - 5 - Hình 6: lần lật thứ hai không match với hình đầu. Lưu ý: Sinh viên phải thiết kế giao diện game độc đáo hơn chương trình demo trên. Bổ sung cách chức năng mở rộng: Lưu score của từng người chơi, hiển thị top 10 người chơi hay nhất. Cho phép user chọn số hình để chơi: 12, 24, 48,… Chọn mức độ game: dễ, trung bình, khó. Có thể chọn thời gian chơi để khống chế. Ví dụ mức độ dễ thì người chơi phải hoàn tất game trong 2 phút, trung bình thì 1 phút, khó thì 30 giây… Sinh viên có thể cho một hình nền bên dưới các hình cần mở, sau khi mở hết các hình nhỏ thì sẽ xem được hình nền. (Giống Game Show Trúc Xanh ☺) Sinh viên suy nghĩ và sáng tạo thêm nhiều chức năng nâng cao ! Lập trình Windows dùng C# Khoa CNTT- Hutech Created by Nguyen Ha Giang Email: nguyenha.giang@yahoo.com - 6 - Cách đánh giá chương trình : Dựa trên tiêu chuNn - Đầy đủ chức năng yêu cầu. - Các chức năng phải chạy đúng với yêu cầu đưa ra - Điểm coding style o Mã nguồn được viết tốt, trình bày rõ ràng, có comment đầy đủ. o Giải thuật hay đoạn code được sử dụng một cách hợp lý. Tránh trường hợp sinh viên chỉ viết chương trình cho “có”, mã nguồn được viết một cách cNu thả… - Tính sáng tạo: sinh viên có thể tùy ý bổ sung các chức năng cho chương trình hoàn thiện và mạnh mẽ hơn. Cách nộp chương trình : - Bài tập 2 dạng ứng dụng là WindowsForms Application, do đó sinh viên nộp đầy đủ các file trong thư mục của project ứng dụng. - Trên mỗi file source code (*.cs) sinh viên tạo một XML comment đơn giản chứa tối thiểu các thông tin: {tên ứng dụng, tên sinh viên, mã số sinh viên, ngày tạo file, ngày bổ sung lần cuối cùng}. Minh họa một mẫu XML Comment cho file source code Lập trình Windows dùng C# Khoa CNTT- Hutech Created by Nguyen Ha Giang Email: nguyenha.giang@yahoo.com - 7 - Hình 2: Minh họa phần XML comment cho file source code của sinh viên. - Trong thư mục của project sinh viên xóa thư mục con “Bin” (thư mục này được sinh ra lúc build project, do đó không cần thiết phải nộp). Sau đó sinh viên nén thư mục project thành file *.zip hoặc *.rar có định dạng như sau: MSSV-<tên SV>-BT3.rar/zip VD: sinh viên Nguyễn Hà Nam có mã số sinh viên 106102999 thì file nén chứa mã nguồn là: 106102999-Nguyen Ha Nam-BT3.rar/zip - Địa chỉ email nộp bài: nhgiang@hcmhutech.edu.vn , tiêu đề mail chỉ cần ghi “<mã số sinh viên> – BT3” sau đó attach file zip/rar theo mẫu trên. Lưu ý: Sinh viên phải làm đúng mô tả theo các phần trên, nếu không làm đúng thì bài nộp xem như không hợp lệ và sẽ không được chấm điểm! Thời hạn nộp bài 3: Sinh viên bắt đầu làm bài từ ngày 10/4 – 25/4 . Hạn chót là thứ bảy 25/4/2009 . . CÔNG NGHỆ Khoa Công Nghệ Thông Tin Môn: Lập trình Windows Homework 3 – C# Windows Forms – Basic Game Mục tiêu: - Sử dụng lớp Image để load các ảnh. cho game. Lập trình Windows dùng C# Khoa CNTT- Hutech Created by Nguyen Ha Giang Email: nguyenha.giang@yahoo.com - 2 - Hình 1: Minh họa giao diện game.