
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
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.

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
!

