Hướng dẫn dùng VBA tạo trò chơi trúc xanh trong PowerPoint
Giới thiệu trò chơi Trúc xanh:
- Trò chơi Trúc xanh vốn là 1 trò chơi tìm các cặp ô hình giống nhau, nhưng nó trở
nên phổ biến kể từ khi ðài truyền hình Tp.HCM tổ chức Games Show Trúc Xanh
để 2 người chơi lật các ô hình, và tìm các cặp hình giống nhau. Nếu lật được 1 cặp
hình giống nhau, người đó sẽ được tiếp tục lật 1 cặp hình khác, nếu sai, thì chuyển
quyền chơi cho người còn lại. Khi tất cả các ô hình được mở, sẽ có 1 hình nền có
nội dung liên quan đến các câu cao dao, tục ngữ của Việt Nam. Người chơi dựa
vào hình nền đó để đọc câu ca dao, tục ngữ có nội dung tương ứng
– 15 , 2 – 8, 3 – 9, 4 – 16, 5 – 13, 6 – 11, 7 – 12, 10 – 14. Cách làm như sau: Bước 2.1: Trên thanh công cụ Control Toolbox, click chọn nút Image (Picture) – nút ở cuối cùng bên trái của thanh công cụ. Sau khi click chọn, con trỏ chuột sẽ hiện dấu +, thầy cô di chuyển ñến vùng cần tạo, nhấn chuột trái và tạo 1 khung hình. ðây là khung hình số 1. ðể khung hình này nằm ở dòng 1, cột 1 với các thông số vừa nêu, ta sẽ khai báo thuộc tính Properties của hình 1 như sau: Click phải vào ô hình, chọn Properties: Chọn tab Alphabetic. Name: ñặt như mặc ñịnh Image1 Enabled: True (ô hình ñược kích hoạt) Height: 90 (chiều cao của hình) Left: 50 (do ở cột 1 nên lề trái là 50 px) 10/18/2008 www.giaovien.net --//-- www.center4teachers.com Trang 5/12 centea.info@gmail.com Picture: Thầy Cô click vào góc phải của ô trên . Khi ñó chương trình sẽ hiện ra hộp thoại, Thầy Cô chọn hình ñầu tiên cho ô số 1 Picture Alignment: 2-fmPictureAligment Center (hình ñược canh giữa ô) Picture SizeMode: chọn chế ñộ 0 Top: 110 (do ở dòng 1 nên lề trên là 110 px) Visible: True (hình ñược hiển thị) Width: 128 (ñộ rộng của hình). Bước 2.2: Sau khi có ô hình số 1, Thầy Cô trở lại màn hình soạn thảo của PP. Copy ô số 1 và dán vào vị trí thích hợp, khi ñó ta có ô số thứ 2, và khai báo các thuộc tính cho ô thứ 2 tương tự như ô 1 là: Height: 90 (chiều cao của hình) Left: 178 (do ở cột 2 nên lề trái là 178 px vì bằng 50px + 128px) Picture: Thầy Cô click vào góc phải của ô trên . Khi ñó chương trình sẽ hiện ra hộp thoại, Thầy Cô chọn hình cho ô số 2, theo quy ước phía trên: 1 – 15 , 2 – 8, 3 – 9, 4 – 16, 5 – 13, 6 – 11, 7 – 12, 10 – 14 Top: 110 (do ở dòng 1 nên lề trên là 110 px) Visible: True (hình ñược hiển thị) Width: 128 (ñộ rộng của hình) Tương tự như thế cho ô số thứ 3 và thứ 4. Bước 2.3: Khi Thầy Cô ñã có 4 ô hình số 1, 2, 3, 4. Thầy Cô chọn và copy cả 4 ô rồi dán vào vị trí thích hợp. Khi ñó Thầy Cô sẽ có các ô hình số 5, 6, 7, 8. Và khai báo tương tự như trên. Tuy nhiên, do 4 ô này nằm ở dòng 2, nên mục Top có giá trị 200 (110px + chiều cao của hình ở dòng 1 là 90px) Bước 2.4: Tương tự, Thầy Cô chọn và copy cả 8 ô hình vừa chọn và dán vào 1 vị trí thích hợp. Ta sẽ có 8 ô hình còn lại. Thầy Cô khai báo tương tự như ở bước 2.2 và 2.3. Tuy nhiên, mục Top của các ô ở dòng 3 có giá trị 290, và mục Top của các ô ở dòng 4 có giá trị 380. Bước 2.5: kiểm tra là hình ảnh của 16 ô hình vừa tạo và bảo ñảm mỗi hình chỉ xuất hiện 2 lần ñể có ñúng 8 cặp. Bước 3: Tạo các nhãn che các ô hình lại 10/18/2008 www.giaovien.net --//-- www.center4teachers.com Trang 6/12 centea.info@gmail.com Ta tạo bước này, ñể che 16 ô hình vừa tạo ở phía trên, mục ñích ñể người chơi không nhìn thấy ñược hình nền. Chỉ khi click vào ô bất kỳ thì nhãn sẽ mất ñể hiện hình bị che ở dưới. Bước 3.1: Tạo nhãn ñầu tiên có kích cỡ và vị trí y như hình 1. Thầy Cô click vào nút có hình chữ A trên thanh công cụ Control Toolbox (nằm ở cột bên phải). Sau khi click chọn, con trỏ chuột sẽ hiện dấu +, thầy cô di chuyển ñến vùng cần tạo, nhấn chuột trái và tạo 1 khung cho nhãn. ðây là nhãn số 1. ðể nhãn này che khuất khung hình nằm ở dòng 1, cột 1, ta sẽ khai báo thuộc tính Properties của nhãn này với các thông số trùng với ô hình thứ 1 như sau: Name: ñể như mặc ñịnh là Label 1 Autosize: False (không tự ñộng ñiều chỉnh kích thước) Back Color: cần chọn màu nền, mục ñích ñể che ô hình thứ 1. Back Style: 1-fmBackStyleOpaque (chọn chế ñộ này ñể không nhìn thấy những gì phía dưới nhãn. Caption: 1 (ñể hiện số 1 ngay trên nhãn ñể người chơi gọi ô số cho dễ) Height: 90 (cùng chiều cao với ô hình) Left: 50 (cách lề trái 50 như ô hình số 1) TextAlign: 2 – fmTextAlignCenter Top: 110 Visible: True ( ñể nhãn ở chế ñộ hiện nhằm che ô hình số 1) Width: 128 WordWrap: True Sau khi khai báo các thuộc tính cho nhãn số 1, Thầy Cô sẽ có hình sau: 10/18/2008 www.giaovien.net --//-- www.center4teachers.com Trang 7/12 centea.info@gmail.com Bước 3.2: làm tương tự như bước 2.2 ñể tạo nhãn thứ 2. Nghĩa là: Copy nhãn số 1 và dán vào vị trí thích hợp, khi ñó ta có nhãn số thứ 2, và khai báo các thuộc tính cho nhãn thứ 2 tương tự như nhãn 1 là: Name: ñể như mặc ñịnh là Label 1 Autosize: False (không tự ñộng ñiều chỉnh kích thước) Back Color: cần chọn màu nền, mục ñích ñể che ô hình thứ 1. Back Style: 1-fmBackStyleOpaque (chọn chế ñộ này ñể không nhìn thấy những gì phía dưới nhãn. Caption 2 (ñể hiện số 2 ngay trên nhãn ñể người chơi gọi ô số cho dễ) Height: 90 (chiều cao của hình) Left: 178 (do ở cột 2 nên lề trái là 178 px) Top: 110 (do ở dòng 1 nên lề trên là 110 px) Visible: True (nhãn ñược hiển thị) Width: 128 (ñộ rộng của hình) Tương tự như thế cho ô số thứ 3 và thứ 4. Bước 3.3 và 3.4: làm hoàn toàn tương tự bước 2.3 và 2.4. Sau khi hoàn thành, Thầy Cô sẽ có hình như sau: 10/18/2008 www.giaovien.net --//-- www.center4teachers.com Trang 8/12 centea.info@gmail.com Bước 4: Tạo nút lệnh Reset ñể trả về nguyên trạng ban ñầu sau khi chơi xong. ðiều này nhằm làm cho lần trình diễn kế tiếp không bị lộ. Thầy Cô nhấn vào nút lệnh Command Button (nút thứ 3 ở cột bên trái), và tạo ở vị trí thích hợp, trong Properties của nút lệnh này ñổi tên (Name) là Reset và mục Caption cũng là: Reset. Bước 5: viết các lệnh cho sự kiện các ô ñược click chọn Ý tưởng của CENTEA ở ñây như sau: khi người chơi click vào ô số 1, thì nhãn số 1 sẽ mất ñi và hiện hình nền của ô số 1, ñồng thời kiểm tra ñây là lần chọn thứ nhất hay thứ 2, nếu thứ 1 thì ñược chọn tiếp 1 ô khác, nếu là lần thứ 2 thì sẽ kiểm tra xem hai hình nền có giống nhau không. Nếu giống thì ñể lại 2 ô hình, nếu sai thì hiện lại 2 nhãn ñể che 2 ô hình ñó lại. Do chương trình không biết ñược l n nào là l n 1, l n nào là l n 2, nên CENTEA ñưa vào bi&n n ñ ghi nh'n STT c(a l n ch)n ñó, khi ñó n&u n l+ thì là l n 1, n ch-n là l n 2, vì vậy CENTEA ñưa thêm bi&n m. Ngoài ra, ñể kim tra l n 1, l n 2 là các ô hình nào, CENTEA ñưa thêm 2 bi&n l và p vào. Cách làm như sau: Bước 5.1: Click phải vào nhãn số 1, chọn View Code, khung soạn lệnh hiện ra như sau: Private Sub Label1_Click() End Sub Ta di chuyển lên dòng phía trên dòng Private Sub, ta gõ dòng lệnh sau: Public n As Integer, l As Integer, m As Integer, p As Integer (mục ñích khai báo các biến trong toàn bộ chương trình). Mặc ñịnh n , l , m , p bằng 0 Bước 5.2: tạo các lệnh cho sự kiện ô số 1 ñược chọn như ý tưởng trên của CENTEA. Ta nhập các lệnh sau vào dòng giữa 2 dòng Private Sub Label1_click() và End Sub 10/18/2008 www.giaovien.net --//-- www.center4teachers.com Trang 9/12 centea.info@gmail.com nhãn số 1 sẽ không hiện hình số 1 sẽ hiện ghi nhận STT của lần click vào ô số 1 Ghi nhận lần ñó là lần chẵn hay lẻ Nếu là lẻ thì ghi nhận ô chọn lần 1 là ô số 1 Nếu là chẵn thì ghi nhận ô chọn lần 2 là ô số 1. Nếu chọn lần 2 thì thực hiện kiểm tra sự giống nhau với hình chọn ở lần 1. Kết thúc lệnh If Kết thúc sự kiện Ở ñây do các khi click bất kỳ 1 nhãn nào cũng thực hiện thao tác kiểm tra trên, nên ñể ñơn giản, CENTEA sẽ tạo 1 thủ tục con có tên là kiemtra, và mỗi lần muốn kiểm tra ta sẽ gọi thủ tục ñó. Ngoài ra, vì tốc ñộ xử lý của máy tính quá nhanh, nên khi gọi thủ tục kiemtra, chúng ta sẽ không theo dõi ñược hình chọn ở lần 2 là hình gì nên CENTEA tạo thêm 1 chương trình con là Pause(n) nhằm ngưng chương trình trong khoảng n giây ñể chúng ta có thể nhìn thấy ñược hình 2 khi quá trình kiểm tra diễn ra. Bước 5.3: Tạo chương trình con Pause. Ở khung soạn thảo lệnh, ta nhận ñoạn lệnh sau: Bước 5.4: Tạo thủ tục con kiemtra. Ở khung soạn lệnh ta tiếp tục nhập các dòng lệnh như sau: 10/18/2008 www.giaovien.net --//-- www.center4teachers.com Trang 10/12 centea.info@gmail.com Nếu các cặp hình trùng nhau. Ví dụ: lần 1 là hình số 1, lần 2 là hình số 15 hoặc lần 1 là hình 15 còn lần 2 là hình số 1, thì giữ nguyên 2 hình và trả hai giá trị l, p về 0. Nếu sai thì kiểm tra lần 1 hình nào ñược chọn và lần 2 hình nào ñược chọn, ñể ẩn hai hình ñó ñi, và hiện lại 2 nhãn ñược ứng của 2 ô số ñó. Do ñó, chúng ta tạo thêm 2 thủ tục con là kiemtra1 và kiemtra2 ñể thực hiện yêu cầu trên Bước 5.5: Tạo thủ tục con kiemtra1 và kiem tra 2 10/18/2008 www.giaovien.net --//-- www.center4teachers.com Trang 11/12 centea.info@gmail.com Nếu l (lần 1) là 1 thì nhãn 1 sẽ hiện và hình 1 sẽ ẩn. tương tự như vậy cho ñến giá trị l bằng 16. Và tương tự, nếu p (lần 2) là 1 thì nhãn 1 sẽ hiện và hình 1 sẽ ẩn, tương tự cho ñến giá trị p bằng 16. Bước 5.6: tạo các sự kiện cho các ô còn lại ñược chọn. Bước này làm hoàn toàn tương tự như bước 5.2 Bước 6: Tạo lệnh cho nút lệnh Reset ðể ñảm bảo lần trình diễn kế tiếp, các hình nền không bị lộ, trước khi thoát khỏi chương trình, ta nên thực hiện lệnh Reset ñể hiện các nhãn từ 1 ñến 16 và ẩn ñi các hình từ 1 ñến 16 và trả các giá trị n, m, l, p về giá trị mặc ñịnh 10/18/2008 www.giaovien.net --//-- www.center4teachers.com Trang 12/12 centea.info@gmail.com Sau khi hoàn thành bước 6, Quý Thầy Cô ñã có thể trình diễn sản phẩm của mình 1 cách suôn sẻ. ðể thuận tiện, cho quý Thầy Cô, các ñoạn lệnh của chương trình ñã ñược CENTEA lưu vào file code.txt. Sau khi th=c hi>n xong t@i bư@c 4, Thầy Cô có thể sao chép và dán ñoạn lệnh trong file code.txt vào khung soạn thảo lệnh của VBA là hoàn tất chương trình. Như vậy, CENTEA vừa giới thiệu xong cách tạo trò chơi ñoán hình Trúc Xanh. Hy vọng sẽ giúp ích cho các Thầy Cô trong quá trình giảng dạy. Ở ñây, phiên bản ñầu tiên này còn mở, nói chung còn có thể cải tiến nhiều: ví dụ như tạo ô hình 5x5, 6x6 hoặc tạo chế ñộ thể hiện hình 1 cách ngẫu nhiên thay vì cố ñịnh 1 cách thủ công như ở phiên bản này. CENTEA hy vọng các cải tiến trên sẽ ñược ra mắt trong các phiên bản kế tiếp. Thực hiện: Vũ Nhân – www.giaovien.net
File đính kèm:
- hd_Trucxanh.pdf
- 1_thumb.jpg
- 2_thumb.jpg
- 3_thumb.jpg
- 4_thumb.jpg
- 5_thumb.jpg
- 6_thumb.jpg
- 7_thumb.jpg
- 8_thumb.jpg
- demo_truc xanh.ppt
- hinhnen.jpg