You are on page 1of 7

Lập trình Windows dùng C# Khoa CNTT- Hutech

TRƯỜNG ĐH KỸ THUẬT CÔNG NGHỆ


Môn: Lập trình Windows
Khoa Công Nghệ Thông Tin



Homework 3 – C#
Windows Forms – Basic Game

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.

Created by Nguyen Ha Giang Email: nguyenha.giang@yahoo.com -1-


Lập trình Windows dùng C# Khoa CNTT- Hutech

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.

Created by Nguyen Ha Giang Email: nguyenha.giang@yahoo.com -2-


Lập trình Windows dùng C# Khoa CNTT- Hutech

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

Created by Nguyen Ha Giang Email: nguyenha.giang@yahoo.com -3-


Lập trình Windows dùng C# Khoa CNTT- Hutech

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 đó…

Created by Nguyen Ha Giang Email: nguyenha.giang@yahoo.com -4-


Lập trình Windows dùng C# Khoa CNTT- Hutech

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!

Created by Nguyen Ha Giang Email: nguyenha.giang@yahoo.com -5-


Lập trình Windows dùng C# Khoa CNTT- Hutech

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à Windows Forms 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

Created by Nguyen Ha Giang Email: nguyenha.giang@yahoo.com -6-


Lập trình Windows dùng C# Khoa CNTT- Hutech

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.


Created by Nguyen Ha Giang Email: nguyenha.giang@yahoo.com -7-

You might also like