huong dan tao tro choi truc xanh trong pp

12
12/13/2009 www.giaovien.net --//-- www.center4teachers.com Trang 1/12 [email protected] HƯỚNG DN DÙNG VBA TO TRÒ CHƠI TRÚC XANH TRONG POWERPOINT - CENTEA - CENTEA ñã có nhng lot bài hướng dn sdng ng dng Visual Basic Application (VBA) ñể to trò chơi ô ch, to slide trli câu hi trc nghim trong PowerPoint. Chúng tôi xin tiếp tc gi ñến Thy Cô lot bài hướng dn S dng VBA ñ to trò chi Trúc Xanh ngay trên PowerPoint mà không cn phi sdng nhng chương trình khác.

Upload: thu-nhan

Post on 14-Jun-2015

20.511 views

Category:

Documents


11 download

TRANSCRIPT

12/13/2009

www.giaovien.net --//-- www.center4teachers.com Trang 1/12 [email protected]

HƯỚNG DẪN DÙNG VBA TẠO TRÒ CHƠI

TRÚC XANH TRONG POWERPOINT

- CENTEA -

CENTEA ñã có những loạt bài hướng dẫn sử dụng ứng dụng Visual Basic

Application (VBA) ñể tạo trò chơi ô chữ, tạo slide trả lời câu hỏi trắc nghiệm trong

PowerPoint. Chúng tôi xin tiếp tục gửi ñến Thầy Cô loạt bài hướng dẫn S� d�ng VBA ñ�

t�o trò ch �i Trúc Xanh ngay trên PowerPoint mà không cần phải sử dụng những

chương trình khác.

12/13/2009

www.giaovien.net --//-- www.center4teachers.com Trang 2/12 [email protected]

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

Những lưu ý tr ước khi thi ết kế:

- Quý Thầy Cô cần chuẩn bị trước các hình n ền có cùng kích c ỡ và lưu các hình

nền ñó trong cùng 1 th ư mục chứa slide trình chi ếu. ðể có thể chỉnh sửa các

ảnh có cùng kích cỡ, Quý Thầy Cô có th ể sử dụng ph ần mềm mi ễn phí VSO

Image Resizer (http://www.vso-software.fr/products/ image_resizer/download-

image-resizer.php). Ở ñây, CENTEA ñã tạo 8 cặp hình có cùng kích cỡ là 128 x

90px.

- Chúng ta cần phải thiết lập chế ñộ bảo vệ các Marco ở mức Low ñể chương trình

có thể chạy các ñoạn mã lệnh. Cách thiết lập như sau:

o Mở chương trình PowerPoint.

o Vào menu Tools / Macro / Security. Chọn Low. Nhấn OK

o Khởi ñộng lại chương trình PowerPoint.

- Quý Thầy Cô có thể tham khảo công dụng của từng nút lệnh trong Control Box của

VBA trong bài hướng dẫn trước

Bước 1: Mở thanh công c ụ Control Box c ủa VBA

Trong PowerPoint, Thầy Cô vào menu View >> Toolbars , nhấn chọn vào dòng

Control Toolbox . Khi ñó, hộp công cụ các nút lệnh sẽ ñược hiển thị

12/13/2009

www.giaovien.net --//-- www.center4teachers.com Trang 3/12 [email protected]

Hình 1

Khi ñó thanh công cụ Control ToolBox sẽ hiện

ra như sau:

- Properties : các thuộc tính của nút lệnh

- Checkbox : ô ñánh dấu kiểm chọn

- Command Button : nút thực hiện các ñoạn lệnh

- List Box : thể hiện 1 box có nhiều lựa chọn. Ví

dụ chọn Tỉnh, thì ta sẽ tạo list box trong ñó có

chứa tên các tỉnh và thành phố

- Toogle Box : nút bật, tắt chức năng. Giống như công tắc ñèn.

- Scroll Bar : nút cuộn

- Picture : chèn hình

- View Code : xem, chỉnh sửa các ñoạn mã của các nút lệnh.

- Text Box : khung chứa nội dung văn bản

- Option Button : nút chọn

- Combo Box : hộp kết hợp (kết hợp giữa list box, text box ...)

- Spin Button :

- Label : Nhãn

Bước 2: Tạo cơ sở dữ liệu cho 8 c ặp hình cho b ảng 4x4

Ta sẽ sử dụng nút l ệnh Picture (Image) ñể lưu các hình ảnh. Và 8 cặp hình ảnh ñó

ñược xếp thành 1 ma tr ận 4 x 4 (có 4 hàng và 4 cột). Hình thứ 1 ở vị trí dòng 1 cột 1, hình

thứ 2 ở dòng 1 cột 2, hình 3 ở dòng 1 cột 3, hình 4 ở dòng 1 cột 4 và hình 5 ở dòng 2 cột

1, ..., hình 16 ở dòng 4 cột 4 như hình sau:

12/13/2009

www.giaovien.net --//-- www.center4teachers.com Trang 4/12 [email protected]

ðể cho cân ñối, do các hình của CENTEA ñều có cùng 1 kích cỡ là rộng 128 pixel

(px) và cao 90 px nên CENTEA sẽ thiết lập các ô ở dòng 1 cách lề trên 110 px, các ô ở

dòng 2 cách lề trên 200 px, các ô ở dòng 3 cách lề trên 290px, các ô ở dòng 4 cách lề trên

380 px. Tương tự, các ô ở cột 1 cách lề trái 50px, cột 2 cách lề trái 178 px, cột 3 cách lề

trái 306px và cột 4 cách lề trái 434 px.

Ngoài ra, quý Thầy Cô cần quy ñịnh trước những cặp ở 2 ô nào sẽ giống hình nền.

Ở ñây, CENTEA lựa chọn là 1 – 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)

12/13/2009

www.giaovien.net --//-- www.center4teachers.com Trang 5/12 [email protected]

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

12/13/2009

www.giaovien.net --//-- www.center4teachers.com Trang 6/12 [email protected]

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:

12/13/2009

www.giaovien.net --//-- www.center4teachers.com Trang 7/12 [email protected]

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:

12/13/2009

www.giaovien.net --//-- www.center4teachers.com Trang 8/12 [email protected]

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 ca 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, ñể ki�m 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

12/13/2009

www.giaovien.net --//-- www.center4teachers.com Trang 9/12 [email protected]

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:

12/13/2009

www.giaovien.net --//-- www.center4teachers.com Trang 10/12 [email protected]

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

12/13/2009

www.giaovien.net --//-- www.center4teachers.com Trang 11/12 [email protected]

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

12/13/2009

www.giaovien.net --//-- www.center4teachers.com Trang 12/12 [email protected]

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