Tạo game vui đơn giản trên Excel 2003, 2007

TuấnDương

Admin
Thành viên BQT
demo.png

Tình huống hàng ngày:
Một hôm đẹp trời, bạn nhận được mail của một người bạn gửi đến với một file excel. Đó là một trò chơi nhỏ được thiết kế ngay trên chương trình mà bạn làm việc hằng ngày. Chương trình vừa vui vừa sáng tạo đã làm bạn ấn tượng ngay.
<!-- /* Font Definitions */ @font-face {font-family:"Cambria Math"; panose-1:2 4 5 3 5 4 6 3 2 4; mso-font-charset:0; mso-generic-font-family:roman; mso-font-pitch:variable; mso-font-signature:-1610611985 1107304683 0 0 159 0;} @font-face {font-family:Calibri; panose-1:2 15 5 2 2 2 4 3 2 4; mso-font-charset:0; mso-generic-font-family:swiss; mso-font-pitch:variable; mso-font-signature:-1610611985 1073750139 0 0 159 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-priority:1; mso-style-unhide:no; mso-style-qformat:yes; mso-style-parent:""; margin-top:0cm; margin-right:0cm; margin-bottom:10.0pt; margin-left:0cm; mso-pagination:widow-orphan; font-size:11.0pt; mso-bidi-font-size:10.0pt; font-family:"Calibri","sans-serif"; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:"Times New Roman"; mso-fareast-theme-font:minor-fareast; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:minor-bidi;} .MsoChpDefault {mso-style-type:export-only; mso-default-props:yes; mso-bidi-font-size:10.0pt; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:"Times New Roman"; mso-fareast-theme-font:minor-fareast; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:minor-bidi;} .MsoPapDefault {mso-style-type:export-only; margin-bottom:10.0pt;} @page Section1 {size:612.0pt 792.0pt; margin:72.0pt 72.0pt 72.0pt 72.0pt; mso-header-margin:36.0pt; mso-footer-margin:36.0pt; mso-paper-source:0;} div.Section1 {page:Section1;} -->
Bước 1: Tạo ra kịch bản cho trò chơi của bạn và định dạng trên bảng tính.

Kịch bản này gồm 2 phần. Phần câu hỏi và phần phản hồi của chương trình ứng với mỗi trả lời mà người chơi cung cấp. Phần giải đáp bạn đặt cách phần câu hỏi 15 dòng.

1.png

Bố trí kịch bản

<hr class="system-pagebreak"> Bước 2: Đặt tên biến cho các ô cần lấy giá trị.

Đây là thủ thuật giúp bạn truy vấn đến giá trị của ô bằng tên thay vì bằng địa chỉ. Ví dụ: BiBo đặt tên cho ô A1name thì mỗi khi mình muốn lấy giá trị của ô này, mình chỉ cần gọi tên đại diện của ô A1 là name thay vì gọi địa chỉ A1 trong các công thức.

Cách đặt tên: chọn ô cần đặt tên >> thay đổi địa chỉ của ô bằng một tên có nghĩa trên hộp thoại Name box. Các ô cần đặt tên là: các ô chứa câu trả lời của người chơi. Các ô chứa câu phản hồi đã chuẫn bị.
2.png

Tạo biến cho câu trả lời

Trong ví dụ này, các bạn cần đặt tên biến cho các ô D8, D9, D10, D11 , D12, D13 là vị trí mà người chơi sẽ nhập câu trả lời cho từng câu hỏi. Tương tự, bạn cũng đặt tên cho các ô chưa câu phản hồi là B25 đến B29.

<table class="MsoNormalTable" style="border: medium none; width: 322.7pt; border-collapse: collapse;" border="1" cellpadding="0" cellspacing="0" width="322"> <tbody> <tr style="height: 13.8pt;"> <td style="padding: 0cm 5.4pt; background: none repeat scroll 0% 0% rgb(155, 187, 89); width: 118.9pt; height: 13.8pt;" valign="top" width="159">
</td> <td style="padding: 0cm 5.4pt; background: none repeat scroll 0% 0% rgb(155, 187, 89); width: 50.8pt; height: 13.8pt;" valign="top" width="68">
</td> <td style="padding: 0cm 5.4pt; background: none repeat scroll 0% 0% rgb(155, 187, 89); width: 70.9pt; height: 13.8pt;" valign="top" width="95">
Tên của câu hỏi
</td> <td style="padding: 0cm 5.4pt; background: none repeat scroll 0% 0% rgb(155, 187, 89); width: 82.1pt; height: 13.8pt;" valign="top" width="109">
Tên của câu phản hồi
</td> </tr> <tr style="height: 13.8pt;"> <td style="padding: 0cm 5.4pt; background: none repeat scroll 0% 0% rgb(230, 238, 213); width: 169.7pt; height: 13.8pt;" colspan="2" valign="top" width="226"> Con số của bạn

</td> <td style="padding: 0cm 5.4pt; background: none repeat scroll 0% 0% rgb(230, 238, 213); width: 70.9pt; height: 13.8pt;" valign="top" width="95">
No
</td> <td style="padding: 0cm 5.4pt; background: none repeat scroll 0% 0% rgb(230, 238, 213); width: 82.1pt; height: 13.8pt;" valign="top" width="109">
no_r
</td> </tr> <tr style="height: 13.05pt;"> <td style="padding: 0cm 5.4pt; width: 169.7pt; height: 13.05pt;" colspan="2" valign="top" width="226"> Họ & Tên

</td> <td style="padding: 0cm 5.4pt; width: 70.9pt; height: 13.05pt;" valign="top" width="95">
Name
</td> <td style="padding: 0cm 5.4pt; width: 82.1pt; height: 13.05pt;" valign="top" width="109">
name_r
</td> </tr> <tr style="height: 14.5pt;"> <td style="padding: 0cm 5.4pt; background: none repeat scroll 0% 0% rgb(230, 238, 213); width: 169.7pt; height: 14.5pt;" colspan="2" valign="top" width="226"> Tuổi của bạn

</td> <td style="padding: 0cm 5.4pt; background: none repeat scroll 0% 0% rgb(230, 238, 213); width: 70.9pt; height: 14.5pt;" valign="top" width="95">
age
</td> <td style="padding: 0cm 5.4pt; background: none repeat scroll 0% 0% rgb(230, 238, 213); width: 82.1pt; height: 14.5pt;" valign="top" width="109">
age_r
</td> </tr> <tr style="height: 13.8pt;"> <td style="padding: 0cm 5.4pt; width: 169.7pt; height: 13.8pt;" colspan="2" valign="top" width="226"> Màu bạn thích nhất?

</td> <td style="padding: 0cm 5.4pt; width: 70.9pt; height: 13.8pt;" valign="top" width="95">
color
</td> <td style="padding: 0cm 5.4pt; width: 82.1pt; height: 13.8pt;" valign="top" width="109">
color_r
</td> </tr> <tr style="height: 29.75pt;"> <td style="padding: 0cm 5.4pt; background: none repeat scroll 0% 0% rgb(230, 238, 213); width: 169.7pt; height: 29.75pt;" colspan="2" valign="top" width="226"> Món ăn nào bạn ăn dạo ngoài quán cóc
gần đây nhất?

</td> <td style="padding: 0cm 5.4pt; background: none repeat scroll 0% 0% rgb(230, 238, 213); width: 70.9pt; height: 29.75pt;" valign="top" width="95">
food
</td> <td style="padding: 0cm 5.4pt; background: none repeat scroll 0% 0% rgb(230, 238, 213); width: 82.1pt; height: 29.75pt;" valign="top" width="109">
food_r
</td> </tr> <tr style="height: 27.55pt;"> <td style="padding: 0cm 5.4pt; width: 169.7pt; height: 27.55pt;" colspan="2" valign="top" width="226"> Tên người bạn/ đồng nghiệp khác phái mà
bạn ghét nhất

</td> <td style="padding: 0cm 5.4pt; width: 70.9pt; height: 27.55pt;" valign="top" width="95">
colleague
</td> <td style="padding: 0cm 5.4pt; width: 82.1pt; height: 27.55pt;" valign="top" width="109">
colleague_r
</td> </tr> <tr style="height: 13.8pt;"> <td style="padding: 0cm 5.4pt; background: none repeat scroll 0% 0% rgb(230, 238, 213); width: 169.7pt; height: 13.8pt;" colspan="2" valign="top" width="226"> Nhập chữ OK để xem kết quả

</td> <td style="padding: 0cm 5.4pt; background: none repeat scroll 0% 0% rgb(230, 238, 213); width: 70.9pt; height: 13.8pt;" valign="top" width="95">
ok
</td> <td style="padding: 0cm 5.4pt; background: none repeat scroll 0% 0% rgb(230, 238, 213); width: 82.1pt; height: 13.8pt;" valign="top" width="109">
ok_r
</td> </tr> </tbody> </table>

33.png

Tạo biến cho câu phản hồi

<hr class="system-pagebreak"> Bươc 3: Bước này, chúng ta sẽ gắn kết quả câu hỏi và câu giải đáp tương ứng với nhau. Đồng thời cho hiện kết câu kết quả ngay khi mỗi câu hỏi được phản hồi.

Kỹ thuật này không có gì khó. Chỉ là dùng tham số & để nối các chuổi đoạn văn lại với nhau kết hợp
với các tên biến mà chúng ta đã đặt để tạo ra những câu phản hồi chính xác. Ví dụ câu: Uhm!! Bạn...... có.......người cùng để ý đến bạn đấy! Chúng ta sẽ sửa lại như sau: ="Uhm!! Bạn " & name & " có
"&LEFT(no,1)&" người cùng để ý đến bạn đấy!


Cứ tiếp tục lắp ghép cho các câu giải đáp với các biến tên sao cho hợp lý.
44.png

Ghép biến với các câu phản hồi

Bước 4: Tạo những con số ngẫu nhiên để tăng thêm tính huyền bí.

Để tạo ra số ngẩu nhiên, bạn dùng hàm
RANDBETWEEN(số_bắt_đầu,số_kết_thúc) để tạo. Hàm này sẽ chọn một con số bất kỳ
trong dãy số mà bạn qui định để hiển thị.

55.png

Tạo những con số ngẫu nhiên

<hr class="system-pagebreak"> Bước 5: Hiển thị kết quả tương ứng với từng câu hỏi.

Chọn một ô bên dưới bảng câu hỏi và dùng lệnh IF() để kiễm tra: Nếu ô Họ & Tên có nhãn là name rỗng (chưa có câu phản hồi) thì trả về kết quả là 1 dấu cách, còn nếu ô ô Họ & Tên không rỗng (có câu phản hồi) thì sẽ lấy câu lời giải name_r làm câu phản hồi. Như vậy, ta có công thức sau:

=IF(name=””,” “,name_r)

66.png

Tạo phản hồi tự động

Để kiểm tra, bạn nhập thử tên bạn vào ô phản hồi của câu hỏi Họ & tên sau đó nhấn Enter. Nếu kết quả hiện ra, bạn đã thành công.

77.png

Thử nghiêm

Tương tự, bạn sẽ làm cho các câu giải đáp tiếp theo:

=IF(age=””,” “.age_r)

=IF(color=””,” “,color_r)

......

<hr class="system-pagebreak"> Bước 6: Trang trí và che mắt thiên hạ!

Ơ bước này, bạn có thể tô màu nền, tạo viền để game của bạn trong thật hơn. Nhưng quan trọng hơn hết là bạn phải giấu những câu hỏi mà mình chuẩn bị trước để người chơi không thấy được.

Cách làm rất đơn giản! Bạn chọn những dòng chứa các câu giải đáp này >> nhấp chuột phải, chọn Hide


88.png

Giấu các câu phản hồi

Bước 7: Kiễm tra

Bước cuối cùng là kiểm tra lại độ chính xác và tính logic của game. Khi bạn đã hài lòng, thì hãy gửi ngay đến bạn bè.... khoe thành tích của mình nhé!
 
Back
Top