Sau sáu tháng tìm hiểu, nghiên cứu và xây dựng, chúng em đã xây dựng
đƣợc một phần mềm trò chơi “VUI HỌC PASCAL” giúp cho ngƣời chơi có thể tự
học, tự ôn luyện ngôn ngữ lập trình Pascal. Phần mềm này đƣợc xây dựng trên công
nghệ Flash với ActionScript đã đạt đƣợc những kết quả sau
- Xây dựng đƣợc phần mềm tƣơng đối hoàn chỉnh cho phép ngƣời chơi có thể
tự học, ôn tập kiến thức ngôn ngữ lập trình Pascal thông qua hệ thống câu
hỏi dƣới nhiều dạng: trắc nghiệm, điền khuyết, so khớp, lắp ghép, xây dựng
thuật toán, xem mô phỏng
- Ngƣời chơi có thể sử dụng trò chơi này để vừa học vừa chơi ngôn ngữ lập
trình Pascal, hệ thống có thể giúp đỡ ngƣời chơi khi gặp khó khăn về kiến
thức dựa vào mô hình KG
Mặc dù đã nỗ lực và cố gắng rất nhiều nhƣng do thời gian và khả năng chƣa cho
phép nên đề tài còn một số hạn chế:
- Số thuật toán đƣợc mô phỏng trong chƣơng trình còn ít.
- Hệ thống câu hỏi, bài tập trong cơ sở dữ liệu còn hạn chế
91 trang |
Chia sẻ: builinh123 | Lượt xem: 2129 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Khóa luận Xây dựng phần mềm vui học lập trình pascal, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
game nhận thấy
cần phải có một lý thuyết để xây dựng, phát triển game hấp dẫn hơn và họ đã dựa
vào lý thuyết về game (Game Theory) để xây dựng các thế hệ game sau này.
Game Theory là một nhánh của toán học ứng dụng. Ngành này nghiên cứu
các tình huống chiến thuật của một trò chơi, trong đó các đối thủ lựa chọn các hành
động, chiến thuật khác nhau để giành đƣợc chiến thắng. Ngày nay,nhờ vào lý thuyết
này game đã đƣợc phát triển rất mạnh mẽ và có rất nhiều thể loại: hành động, đối
kháng, chiến thuậtvới nhiều mục đích khác nhau, từ giải trí đơn thuần cho đến
dạy cho ngƣời học những kỹ năng, ngôn ngữ, môn học
I.1.2 Các thành phần cơ bản của game
Một game gồm có 4 thành phần cơ bản là: ngƣời chơi – Player, chiến lƣợc –
Strategy, thu hoạch – Payoff, luật chơi – rule.[2]
a. Ngƣời chơi hay đấu thủ( player)
- Ngƣời chơi có thể cá nhân hay một tập thể.
- Ngƣời chơi là tác nhân có thể quyết định và nhận các kết quả tƣơng ứng với
quyết định của mình.
b. Chiến lƣợc (strategy)
- Mỗi ngƣời chơi có các kế hoạch hành động khả thi cho riêng mình, nó là
một chuỗi các hành động (bƣớc đi) sao cho khi chơi đạt đƣợc nhiều kết quả nhất
hay giành đƣợc chiến thắng.
c. Thu hoạch (payoff)
- Mỗi ngƣời chơi sẽ chọn một chiến lƣợc cho riêng mình và khi đó cuối trò
chơi mỗi ngƣời sẽ thu đƣợc một kết quả, điều đó gọi là thu hoạch.
- Ngƣời chơi đƣợc xem là chơi giỏi nếu với các chiến lƣợc của mình đạt
đƣợc thu hoạch tối đa.
14
d. Luật chơi ( rule )
- Tập hợp tất cả quy tắc, cách thức ngƣời chơi phải hành động theo.
Các thành phần trong game Cờ vua:
Hình 1.2 – Game cờ vua[10]
Ngƣời chơi
Có thể là hai đấu thủ, hoặc giữa một đấu thủ với máy vi tính.
Chiến lƣợc
Mỗi “nƣớc đi” ngƣời chơi có thể chọn lựa trong 16 quân cờ. Từng quân cờ
sẽ có quy định riêng về cách đi.
Ngƣời chơi sẽ phối hợp các nƣớc đi trên từng quân cờ để loại bỏ quân cờ
của đấu thủ.
Thu hoạch
Là kết quả đạt đƣợc sau mỗi “nƣớc đi” của ngƣời chơi (loại bỏ đƣợc quân
cờ của đối phƣơng).
Đến khi loại bỏ đƣợc quân cờ “Vua” của đối phƣơng thì coi nhƣ ngƣời
chơi dành đƣợc chiến thắng
15
Luật chơi
Mỗi đấu thủ sẽ lần lƣợt đi các quân của mình sau khi đối phƣơng đã đi
xong một nƣớc và phải tuân thủ theo quy định riêng của từng quân cờ.
I.2. Trò chơi giáo dục - Educational game
Trò chơi từ lâu đã trở thành một phần của giáo dục. Và ngày nay với sự tiến
bộ của công nghệ mới, game gần đây đã nổi lên nhƣ một công cụ giảng dạy mới.
Các nhà tâm lý đã chứng minh rằng “Trò chơi có thể đƣợc thiết kế phù hợp với các
mục tiêu khác nhau”.[2]
I.2.1 Khái niệm
Educational game là một hình thức game đƣợc thiết kế dành riêng cho việc
học, đây là hình thức kết hợp giữa “vừa học vừa chơi” .[1]
Hay Educational game là sự phối hợp của nội dung giáo dục, các nguyên tắc
học tập và trò chơi máy tính. [1]
Game giáo dục là chƣơng trình đƣợc thiết kế để thúc đẩy quá trình học tập
bằng các kết hợp trò chơi vào dạy học. Là công cụ học tập đƣợc sử dụng trong quá
trình giảng dạy và học tập. [1]
I.2.2 Lợi ích của trò chơi trong giáo dục
Trò chơi sẽ mang lại cho học sinh sự thƣ giãn, giải trí và tâm lý thoải mái
trong khi học. Khi tham gia trò chơi học sinh sẽ học một cách say mê, đây là điều
hiếm thấy nếu chúng ta sử dụng các phƣơng pháp dạy học truyền thống để truyền
đạt cho kiến thức cho học sinh.
Sau đây là một số lợi ích của game:
Tạo động lực học tập cho học sinh thông qua các thách thức, cạnh tranh
trong game.
Trong game có thể kiểm tra đƣợc khả năng vận dụng kiến thức của học sinh.
Tạo điều kiện củng cố và mở rộng kiến thức cho học sinh.
16
Tăng cƣờng phát triển kỹ năng và khả năng tập trung của học sinh.
Thu hút sự tham gia của học sinh.
Giúp học sinh tiếp nhận tiếp nhận thông tin dễ dàng hơn.
I.2.3 Ứng dụng game trong dạy học
Educational game đã trở thành một phần của giáo dục trong nhiều thập kỷ
qua. Với tiến bộ của công nghệ gần đây thì Educational game đƣợc xem nhƣ là một
công cụ giảng dạy đắc lực của giáo viên.Và sau đây là một số tình huống có thể ứng
dụng Educational game:
Sử dụng nhƣ một công cụ rèn luyện: game ở đây đƣợc xem nhƣ một
phần mềm hỗ trợ ngƣời chơi thực hiện các bài thực hành. Ngƣời giáo
viên có thể sử dụng game để hỗ trợ việc tự học của học sinh, giúp học
sinh ôn tập, gợi nhớ lại kiến thức.
Dùng để dạy kỹ năng làm việc nhóm: giống nhƣ những phần mềm mô
phỏng, một số game có thể hƣớng dẫn kỹ các kỹ năng làm việc nhóm cơ
bản cho ngƣời chơi. Ngoài ra, một vài game có thể đƣợc chơi chung bởi
nhiều ngƣời thông qua mạng intenet. Do đó, tạo cơ hội cho ngƣời chơi
rèn luyện và nâng cao kỹ năng phối hợp cũng nhƣ làm việc nhóm của
mình.
Dùng để khen thƣởng, khích lệ học sinh: có lẽ việc sử dụng phổ biến
nhất của game là để thƣởng cho công việc tốt. Nhƣ bạn biết việc khen
thƣởng, khích lệ, động viên học sinh trong quá trình tiếp thu kiến thức là
rất cần thiết. Điều này giúp cho học sinh có cảm giác vui sƣớng, có động
lực học tập hơn rất nhiều. Do đó khi cần thiết bạn nên sử dụng game để
động viên tinh thần học sinh. [7]
17
I.2.4 Một số điều cần lƣu ý khi sử dụng game trong giáo dục
Sử dụng trò chơi một cách hợp lý: một số nhà giáo dục cho rằng đa số
hiện nay việc sử dụng trò chơi trên máy tính đang bị lạm dụng, sai mục
đích và sử dụng không thích hợp. Do đó chúng ta phải lựa chọn và sử
dụng hợp lý các trò chơi để các học sinh có hứng thú học tập chứ không
chỉ để giải trí đơn thuần.
Tác động đến tất cả học sinh: bạn phải đảm bảo rằng khi tiến hành các
game chơi trong khi dạy học thì tất cả các học sinh trong lớp đều phải
tham gia và hiểu rõ đƣợc ý nghĩa cũng nhƣ vai trò của trò chơi.
Nhấn mạnh những nội dung kỹ năng: trƣớc khi học sinh bắt đầu chơi,
hãy chắc chắn các học sinh của bạn hiểu đƣợc luật chơi và các hoạt động
chính trong trò chơi. Và sinh viên nên tự mình nhận ra những quy luật
chung trong game với những gợi ý ban đầu của giáo viên. [7]
I.2.5 Các đặc điểm tạo nên tính hấp dẫn trong game giáo dục
a. Phải có mục tiêu rõ ràng
Một trò chơi đƣợc đánh giá là tốt khi bạn xây dựng đƣợc mục tiêu rõ ràng.
Lúc này ngƣời chơi sẽ biết đƣợc họ học đƣợc cái gì, và vận dụng những kiến thức
đã học nhƣ thế nào trong trò chơi.
b. Phải chứa nhiều kiến thức và cơ hội thực hành
Trong game và mô phỏng, ngƣời học đƣợc xem, đƣợc trình bày với tập hợp
các kiến thức và có cơ hội thực hành. Lúc này việc học rất nhẹ nhàng, kiến thức
đƣợc truyền đạt từ một thế giới đầy màu sắc, đa dạng chứ không trừu tƣợng, khô
khan nhƣ trong sách vở.
c. Thƣờng xuyên khen thƣởng, khích lệ ngƣời chơi
Một trò chơi hấp dẫn là trò chơi thƣờng xuyên khích lệ ngƣời chơi thông qua
các điểm số, vật thƣởng hoặc các hình thức khác. Nhờ vào các yếu tố khích lệ này,
18
ngƣời chơi sẽ cố gắng đạt đƣợc điểm thƣởng bằng cách cố gắng tìm hiểu, thu thập
thông tin về các cách chơi, chiến lƣợc trong trò chơi.
d. Phải liên hệ với thực tế
Đối với game giáo dục thì nội dung của game rất quan trọng, do đó nó cần
gắn liền với thực tế, gần gũi với ngƣời chơi. Càng gần gũi với đời sống của ngƣời
chơi thì game càng lôi cuốn, hấp dẫn ngƣời chơi.
e. Phải có thời gian giới hạn trong trò chơi
Để luôn cuốn hút ngƣời chơi thì cần có giới hạn thời gian trong game, nếu
nhƣ không có giới hạn về thời gian thì ngƣời chơi sẽ chơi mãi, chơi hoài. Từ đó gây
sự nhàm chán, không tạo đƣợc sự hứng thú trong khi chơi.
f. Cần có gợi ý, giúp đỡ
Cần cung cấp phần giúp đỡ, hỗ trợ ngƣời chơi bằng các gợi ý hoặc chỉ dẫn
trong từng phần chơi. Đối với game giáo dục chúng ta cần có phần hỗ trợ kiến thức
cho ngƣời chơi, giúp ngƣời học có thể vƣợt qua các khó khăn về kiến thức trong khi
chơi.
h. Tạo đƣợc tính đối kháng cao
Để tạo tính hấp dẫn cần có sự đối kháng trong game, đƣợc thể hiện qua:
Sự xung đột của trò chơi.
Sự cạnh tranh giữa ngƣời chơi với máy tính, giữa những ngƣời chơi với
nhau.
Nhân vật đối lập, phản biện.
g. Xây giao diện đẹp
Đây là đặc điểm không thể thiếu đối với bất kỳ một game hấp dẫn nào, ngƣời
chơi có thích thú hay không phụ thuộc rất nhiều vào đặc điểm này.
19
I.2.6 Quá trình thiết kế Game Educational
Các thể loại game thƣờng lấy ý tƣởng từ những cuốn tiểu thuyết, kịch bản
của các bộ phim, truyện tranh Còn đối với Educational game thì ý tƣởng chính
phụ thuộc vào nội dung học tập mà tác giả muốn truyền đạt cho ngƣời chơi. Do đó
thiết kế Educational game khác biệt rất nhiều so với thiết kế trò chơi máy tính thông
thƣờng bởi vì nó chủ yếu liên quan đến phƣơng pháp sƣ phạm. Khi thiết kế trò chơi
giáo dục, ngƣời giáo viên thƣờng xây dựng trò chơi bằng cách xác định mục tiêu
học tập hoặc kết quả học tập đạt đƣợc sau khi chơi hơn là dựa vào yếu tố hấp dẫn,
lôi cuốn của trò chơi.
Educational game chủ yếu đƣợc thiết kế để hỗ trợ ngƣời học đạt đƣợc mục
tiêu học tập tuy nhiên đã là trò chơi thì cần có tính thú vị, hấp dẫn để thu hút ngƣời
chơi. Do đó trò chơi này thƣờng đặt giáo dục lên hàng đầu và yếu tố giải trí đứng ở
vị trí thứ hai.
Quá trình tạo một Educational game cần sự kết chặt chẽ giữa ngƣời giáo viên
và đội ngũ phát triển phần mềm. Đây là một quá trình lặp đi lặp lại các bƣớc (thiết
kế, viết game, thử nghiệm và phát hành)
20
Sơ đồ về thiết kế một Educational game: [16]
Hình 1.3 - Sơ đồ thiết kế Educational game
21
I.2.7 Các dạng game thƣờng gặp
a. Game hành động
Thể loại này thƣờng đƣợc thiết kế để dạy một môn học cụ thể. Trong đó
ngƣời chơi thƣờng sẽ nhập vai trở thành một nhân vật trong game. Và để vƣợt qua
các thử thách, trở ngại của từng màn chơi trong game thì họ phải vận dụng kiến
thức để giải đáp các câu hỏi, cũng nhƣ bài tập trong game đƣa ra. Khi giải đáp đúng
câu hỏi, bạn sẽ đƣợc cung cấp một số công cụ để chống lại kẻ thù trong game.Thể
loại game này yêu cầu ngƣời chơi sự phản xạ nhanh chóng, chính xác và đúng thời
điểm để vƣợt qua các trở ngại.
Ví dụ: Game Timez Attack
Hình 1.4 – Game Timez Attack[11]
- Nhà sản xuất: công ty Bigbrain
- Mục đích: Dạy học môn toán cho trẻ em.
- Bản quyền: Miễn phí.
- Link dowload:
- Chơi online:
Với trò chơi Timez Attack, đƣợc thiết kế trong một môi trƣờng đồ họa phong
phú, các em sẽ say mê với câu chuyện trong khung cảnh hấp dẫn và đầy thách thức.
22
Các em không chỉ đƣợc học môn toán mà các em còn đƣợc trải qua những thời khắc
phiêu lƣu cuốn hút. Giúp các em có đƣợc tƣ duy nhạy bén, tinh thần dũng cảm và
có đƣợc những giây phút giải trí vui chơi trong khi ôn luyện và học tập.
b. Game phiêu lƣu, mạo hiểm
Ở dạng game này điểm đƣợc chú ý chính là cốt chuyện của game, tốc độ
game này thƣờng chậm hơn so với game hành động. Cách thức của game là ngƣời
chơi phải thu thập thông tin, giải quyết các mã số và bí ẩn để thăng tiến trong trò
chơi. Mục tiêu thƣờng gặp ở thể loại trò chơi này là giúp ngƣời chơi hiểu đƣợc
phong tục tập quán, lịch sử của một quốc gia hay một vùng nào đó.
Ví dụ: Game Ansel & Clair’s Adventure’s in Africa
Hình 1.5 – Game Timez Attack[12]
- Nhà sản xuất: Kid Inc
- Mục đích: Dạy học môn địa lý – mô tả về tự nhiên.
- Bản quyền: Có phí.
- Link dowload:
Là một trò giáo dục phiêu lƣu dạy cho trẻ em về ba khu vực chính của Châu
Phi: sông Nile, sa mạc Sahara, và Serengeti. Mỗi khu vực có một số loài động vật,
23
yếu tố văn hóa, đặc điểm của vùng đất để học sinh để tìm hiểu. Câu chuyện đƣợc
mô tả nhƣ một cuộc khám phá của một ngƣời nƣớc ngoài và một robot đang xâm
nhập vào trái đất để tìm hiểu về châu Phi.
c. Game mô phỏng
Đây là thể loại mô tả, tái hiện lại các hoạt động trong thế giới thực và có các
mục đích khác nhau nhƣ: đào tạo, phân tích, dự đoán các hoạt động. Một số loại
game mô phỏng nổi tiếng nhƣ là game chiến tranh, game kinh doanh hay game
nhập vai,đối với lĩnh vực giáo dục thì loại game nhập vai là game chúng ta thƣờng
nhận thấy nhất ở thể loại này.
Ví dụ:Game Sim city.
Hình 1.6 – Game Sim City[13]
- Nhà sản xuất: Maxis, một chi nhánh của Electronic Arts.
- Mục đích: Dạy ngƣời chơi cách xây dựng và quản lý một thành phố.
- Bản quyền: Miễn phí
- Link dowload:
Game cho phép ngƣời chơi tạo ra một vùng đất bằng công cụ biến đổi địa
hình, sau đó thiết kế và xây dựng các khu vực định cƣ để phát triển thành phố.
24
Ngƣời chơi có thể quy hoạch các khu vực nhƣ thƣơng mại, dân cƣ, và công nghiệp
cũng nhƣ xây dựng. Và duy trì hoạt động của các dịch vụ công cộng, hệ thống giao
thông và công trình công cộng. Thành công của ngƣời chơi là phải quản lý đƣợc về
mặt tài chính, môi trƣờng, và chất lƣợng cuộc sống cho cƣ dân thành phố.
d. Game đối kháng
Thể loại game này tập trung vào trận chiến 1-1 giữa hai nhân vật, một trong
hai đối thủ này có thể do máy điều khiển. Nếu chơi game này ngƣời học sẽ đóng vai
trò là một trong 2 nhân vật đối kháng, họ sẽ giải đáp câu đố liên quan đến một môn
học nào đó, nếu trả lời nhanh và đủ số lƣợng câu hỏi thì sẽ đánh bại đƣợc kẻ thù.
Ví dụ: Game Zombie Master
Hình 1.7 - Game Zombies Master[14]
- Nhà sản xuất:
- Mục đích: Dạy học môn toán
- Bản quyền: Miễn phí
- Link chơi online:
25
e. Game dạng thẻ - Card game
Một hình thức chơi games thông qua các thẻ chơi. Các dạng Flash card
games đƣợc sử dụng giảng dạy trong toán học, sinh học và một số trò chơi để cải
thiện trí nhớ.
Sau đây là một ví dụ game đƣợc sử dụng giảng dạy trong hóa học.
Hình 1.8 – Game AtomMate [11]
- Nhà sản xuất: công ty DuPont
- Mục đích: Dạy học mô hóa
- Bản quyền: Có phí.
- Link chơi online:
AtomMate là một card game hóa học bao gồm một tầng 49 thẻ bài với tên,
biểu tƣợng và định nghĩa về các chất trong bảng tuần hoàn. Trò chơi này đƣợc sử
dụng để tìm hiểu các vấn đề có liên quan đến các hợp chất hóa học, đƣợc thiết kế
cho học sinh từ 10 tuổi trở lên.Chƣơng II: Phân tích và thiết kế.
26
CHƢƠNG II
PHÂN TÍCH VÀ THIẾT KẾ
PHẦN MỀM
“VUI HỌC LẬP TRÌNH PASCAL”
27
CHƢƠNG II: PHÂN TÍCH VÀ THIẾT KẾ PHẦN MỀM “VUI HỌC
LẬP TRÌNH PASCAL”
II.1 Giới thiệu trò chơi
Ý tƣởng: Xuất phát từ việc tiếp cận với phần mềm học tiếng Anh của thiếu nhi
với các dạng mini game thú vị đƣợc xây dựng trên công nghệ Flash từ đó chúng
tôi có ý tƣởng để xây dựng một trò chơi với tên gọi “VUI HỌC PASCAL”. Với
trò chơi này ngƣời chơi có thể vừa chơi vừa học đƣợc kiến thức lập trình Pascal
bằng cách ngƣời chơi sẽ tham gia vào thế giới Xì Trum để khám phá những thử
thách. Để vƣợt qua những thử thách đó ngƣời chơi phải trả lời các câu hỏi trong
một khoảng thời gian ngắn. Ở mỗi chặng đƣờng nếu gặp khó khăn ngƣời chơi có
thể nhờ đến sự trợ giúp.
Đối tƣợng: Tất cả các đối tƣợng tham gia để tự học, tự ôn luyện kiến thức ngôn
ngữ lập trình Pascal.
Phạm vi: Kiến thức tin học phổ thông – Tin học lớp 11
Trò chơi “VUI HỌC PASCAL” đƣợc xây dựng gồm 4 game mini với mục tiêu
giúp ngƣời chơi tự học, tự ôn luyện kiến thức ngôn ngữ lập trình Pascal.
Game 1: Cú Pháp Câu Lệnh – Giúp ngƣời chơi tự học, ôn luyện kiến thức
lý thuyết, cú pháp của các câu lệnh của ngôn ngữ lập trình Pascal dƣới 3
dạng câu hỏi theo từng màn chơi
o Màn 1: Trắc nghiệm – Câu hỏi dƣới dạng trắc nghiệm: Ở màn chơi
này ngƣời chơi sẽ học đƣợc kiến thức cú pháp câu lệnh pascal thông
qua câu hỏi trắc nghiệm 4 đáp án
o Màn 2: Điền khuyết – Câu hỏi dƣới dạng điền khuyết: Ở màn chơi
này ngƣời chơi sẽ học đƣợc kiến thức cú pháp câu lệnh pascal thông
qua dạng câu hỏi điền khuyết (khuyết 1 vị trí)
o Màn 3: So khớp – Câu hỏi dƣới dạng so khớp (so trùng) đáp án: Ở
màn chơi này ngƣời chơi sẽ học đƣợc kiến thức cú pháp câu lệnh
28
pascal thông qua dạng câu hỏi so khớp (1 bộ câu hỏi gồm 4 câu so
khớp)
Game 2: Hoàn Chỉnh Chƣơng Trình – Giúp ngƣời chơi tự học, ôn luyện
kiến thức về bài tập Pascal dƣới dạng điền khuyết. Ở màn chơi này ngƣời sẽ
điền khuyết (khuyết 2 vị trí) cho một đoạn code với số lƣợng đáp án theo
mỗi màn là 2, 3 và 4 đáp án
Game 3: Lắp Ghép – Giúp ngƣời chơi tự học, tự ôn luyện kiến thức về bài
tập Pascal dƣới dạng lắp ghép các câu lệnh thành đoạn code, thuật toán.
Ngƣời chơi sẽ sắp xếp các câu lệnh rời rạc thành một đoạn code theo yêu
cầu của đề bài
Game 4: Mô phỏng thuật toán – Giúp ngƣời chơi tự học, tự ôn luyện kiến
thức về bài tập Pascal dƣới dạng mô phỏng thuật toán theo từng bƣớc, xây
dựng sơ đồ khối.
Các thành phần trong trò chơi
Kiến thức
Kiến thức trong trò chơi đƣợc xây dựng dƣới dạng Knowledge Graph (tạm dịch
là đồ thị tri thức) – viết tắt là KG. Ý tƣởng cơ bản của mô hình là gắn kết tính sƣ
phạm vào trong quá trình thiết kế và xây dựng nội dung học tập. KG đƣợc biểu diễn
nhƣ sau: Graph = core content knowledge: node = prime idea (the smallest unit
of learning knowledge) – viết tắt là PI1; arc = hard-condition/necessary-condition
(relationship between the prime ideas) [3,4,5].
Giả định trong trò chơi “VUI HỌC PASCAL” các PI và mối liên hệ giữa chúng
đƣợc định nghĩa một cách đầy đủ và hợp lý bởi các chuyên gia sƣ phạm và chuyên
gia nội dung.
1 PI là một tập các đơn vị kiến thức học nhỏ nhất – tạm dịch là ý giảng chính, một đơn thể kiến thức (compact
knowledge)
29
Hình 2.1 – Knowledge Graph ở các mức độ theo ngữ cảnh sử dụng
Hình 2.2 – Sơ đồ ý nghĩa các thành phần của một khóa học
30
Bảng mô tả
STT Thành phần Mô tả
1 Course
Khóa học đƣợc hiểu là một phần hay một môn học cụ thể đƣợc
gắn với những yêu cầu về mặt mục tiêu, kiến thức, kỹ năng, và
thái độ. Nó đƣợc biên soạn từ một tập các thành phần nhỏ hơn
gọi là bài học.
2 Lesson
Bài học, đƣợc tổ chức để hoàn tất một trong những mục tiêu
chung của một môn học, hay một tập các mục tiêu liên quan
3 Topic
Chủ đề/ đề mục đƣợc thiết kế cho việc tự học. Nó là một bài
giảng Online hoặc Offline đƣợc xác định trên một lƣợng kiến
thức cụ thể để hoàn thành một mục tiêu ở mức thấp, đơn giản.
Vì vậy nó cũng đƣợc xem nhƣ là thành phần nội dung học tập
nhỏ nhất cần chuyển tải đến ngƣời học. Thành phần của Topic
có những thành phần sau
STT Thành phần Mô tả
1 Goal Mục tiêu chủ đề
2 Content Nội dung của Topic
3 Importance Độ quan trọng của chủ đề
4 Study time Thời gian học một chủ đề
4 PI
Ý chính là tập các đơn vị kiến thức nhỏ nhất. Mỗi Topic có thể
có nhiều PI. Mỗi PI có những thành phần sau
STT Thành phần Mô tả
1 Content Nội dung của PI
2 Weight
Trọng số - dùng để sắp xếp thứ tự của PI, PI
nào cần học trƣớc, PI nào học sau.
3 Importance
Độ quan trọng –Dùng để xác định PI nào quan
trọng hơn.
31
Nhân vật
Xì trum: ngƣời chơi sẽ đóng vai thành xì trum để tham gia trò chơi
Nhân vật hỗ trợ người chơi: nấm, bông hoa, thanh gỗ... Ngƣời chơi sẽ
chọn (hoặc kéo thả) để trả lời cho các câu hỏi
Chiến lƣợc
Ở mỗi màn chơi hệ thống sẽ cung cấp cho ngƣời chơi một số nhân vật
hỗ trợ với số lƣợng giới hạn, ngƣời chơi có nhiệm vụ là phải nhấp chọn
(hoặc kéo thả) các nhân vật trong khoảng thời gian quy định.
Ngƣời chơi sẽ vận dụng kiến thức ngôn ngữ lập trình Pascal để giải đáp
các vấn đề - bài toán nhƣ: câu hỏi, câu đố, bài tập(Giả định rằng tập
kiến thức KG đã đƣợc chuyên gia sƣ phạm xây dựng).
Thu hoạch:
Ngƣời chơi sẽ vƣợt qua các đƣợc các thử thách, khó khăn trong từng
màn chơi bằng cách trả lời đúng các câu hỏi liên quan đến ngôn ngữ
lập trình Pascal.
Luật chơi:
Muốn vƣợt qua mỗi màn chơi ngƣời chơi phải trả lời đúng số câu hỏi
quy định trong từng màn.
Trong mỗi màn chơi ngƣời chơi có thể đƣợc giúp đỡ bằng cách cho
xem lại kiến thức trong lúc trả lời câu hỏi.
Nếu ngƣời chơi trả lời đúng ít hơn 50% số câu hỏi của mỗi màn chơi
thì thua cuộc.
32
II.2 Luật chơi – Game Rules
Trò chơi “VUI HỌC PASCAL” đƣợc xây dựng gồm 4 game mini:
1) Cú pháp câu lệnh
2) Hoàn chỉnh chương trình
3) Lắp ghép
4) Mô phỏng thuật toán
Ngƣời chơi có thể chọn 1 trong 4 game mini bất kỳ để chơi
Trong game “Cú pháp câu lệnh”, “Hoàn chỉnh chƣơng trình”, “Lắp ghép” ngƣời
chơi có quyền lựa chọn kiến thức (chƣơng) và mức độ khó bất kỳ. Mỗi game sẽ
đƣợc chia ra làm 3 màn chơi. Ngƣời chơi phải lần lƣợt chơi qua màn 1, màn 2 để
đi đến màn 3
Trong game “Mô phỏng thuật toán” ngƣời chơi có quyền lựa chọn 1 trong 5
thuật toán để chơi.
Hình 2.3 – Sơ đồ thể hiện cấu trúc trò chơi
33
II.2.1 Luật chơi game Cú Pháp Câu Lệnh
Cú Pháp Câu Lệnh – Màn 1: Trắc Nghiệm
- Không gian: Khu vƣờn đầy nấm, ban ngày
- Nhân vật: 4 chú nấm – mỗi chú nấm đại diện cho một đáp án
- Loại câu hỏi: Trắc nghiệm
Hình 2.4 – Sơ đồ thể hiện luật chơi game 1 – màn 1
34
Cú Pháp Câu Lệnh – Màn 2: Điền Khuyết
Không gian: ban đêm
Loại câu hỏi: điền khuyết
Hình 2.5: Sơ đồ thể hiện luật chơi game 1 – màn 2
35
Cú Pháp Câu Lệnh – Màn 3: So khớp
Không gian: ban đêm
Nhân vật: miếng gỗ
Loại câu hỏi: So khớp
Hình 2.6 – Sơ đồ thể hiện luật chơi game 1 – màn 3
36
II.2.2 Game Hoàn Chỉnh Chƣơng Trình
Hoàn Chỉnh Chƣơng Trình – Màn 1
Không gian: vƣờn hoa, ban ngày
Nhân vật: 2 bông hoa – mỗi bông hoa đại diện cho một đáp án, 2 chậu – mỗi
chậu đại diện cho vị trí đáp án còn thiếu
Loại câu hỏi: điền khuyết vào đoạn code
Hình 2.7 – Sơ đồ thể hiện luật chơi game 2 – màn 1
37
Hoàn Chỉnh Chƣơng Trình – Màn 2
Không gian: vƣờn hoa, ban ngày
Nhân vật: 3 bông hoa – mỗi bông hoa đại diện cho một đáp án, 2 chậu – mỗi
chậu đại diện cho vị trí đáp án còn thiếu
Loại câu hỏi: điền khuyết vào đoạn code
Hình 2.8 – Sơ đồ thể hiện luật chơi game 2 – màn 2
38
Hoàn Chỉnh Chƣơng Trình – Màn 3
Không gian: vƣờn hoa, ban ngày
Nhân vật: 2 bông hoa – mỗi bông hoa đại diện cho một đáp án, 2 chậu – mỗi
chậu đại diện cho vị trí đáp án còn thiếu
Loại câu hỏi: điền khuyết vào đoạn code
Hình 2.9 – Sơ đồ thể hiện luật chơi game 2 – màn 3
39
II.2.3 Game Lắp Ghép
Lắp Ghép – Màn 1
Không gian: vƣờn cỏ, trời mƣa
Nhân vật: thanh gỗ - mỗi thanh gỗ đại diện cho 1 dòng lệnh, bảng gỗ - dùng
để chứa câu hỏi
Loại câu hỏi: lắp ghép, sắp xếp thành 1 đoạn code hoàn chỉnh
Hình 2.10 – Sơ đồ thể hiện luật chơi game 3 – màn 1
40
Game 2 – Lắp Ghép – Màn 2
Không gian: vƣờn cỏ, trời mƣa
Nhân vật: thanh gỗ - mỗi thanh gỗ đại diện cho 1 dòng lệnh, bảng gỗ - dùng
để chứa câu hỏi
Loại câu hỏi: lắp ghép, sắp xếp thành 1 đoạn code hoàn chỉnh
Hình 2.11 – Sơ đồ thể hiện luật chơi game 3 – màn2
41
Lắp Ghép – Màn 3
Không gian: vƣờn cỏ, trời mƣa
Nhân vật: thanh gỗ - mỗi thanh gỗ đại diện cho 1 dòng lệnh, bảng gỗ - dùng
để chứa câu hỏi
Loại câu hỏi: lắp ghép, sắp xếp thành 1 đoạn code hoàn chỉnh
Hình 2.12 – Sơ đồ thể hiện luật chơi game 3 – màn 3
42
II.2.4 Game 4 – Mô phỏng thuật toán
Không gian: vƣờn cỏ, trời mƣa
Loại câu hỏi: sắp xếp sơ đồ khối, mô phỏng từng bƣớc thuật toán
Hình 2.13 – Sơ đồ thể hiện luật chơi game 4
43
II.3 Yêu cầu chức năng và yêu cầu phi chức năng
Yêu cầu chức năng
o Đối với ngƣời dùng
STT Yêu cầu chức năng
1 Cho phép chọn kiến thức, mức độ khó
2
Trong lúc đang chơi ngƣời dùng có thể tạm dừng, tiếp tục,
chơi lại màn với câu hỏi khác, quay lại màn hình chính.
3
Ngƣời chơi đƣợc học tập thông qua việc giải quyết các vấn
đề nhƣ trả lời câu hỏi, câu đố, bài tập hoặc có thể dừng
game để ôn tập lại kiến thức.
o Đối với hệ thống
STT Yêu cầu chức năng
1 Phân cấp các cấp độ (level), cảnh chơi trong từng màn chơi
2
Mỗi màn chơi sẽ ấn định các nhân vật, số lƣợng - mức độ -
loại câu hỏi khác nhau.
3
Ngƣời chơi đƣợc học tập thông qua việc giải quyết các vấn
đề nhƣ trả lời câu hỏi, câu đố, bài tập hoặc có thể dừng
game để ôn tập lại kiến thức.
Yêu cầu phi chức năng:
STT Yêu cầu chức năng
1 Cho phép ngƣời chơi thay đổi nhân vật Xì Trum
2 Hỗ trợ cài đặt trên môi trƣờng Window XP trở lên.
3 Cơ sở dữ liệu lƣu trữ ở dạng file XML.
44
II.4 Mô hình Use Case
II.4.1 Mô hình Use Case của trò chơi “VUI HỌC PASCAL”
Hình 2.14 – Mô hình Use Case của trò chơi “VUI HỌC PASCAL”
Danh sách các Actor
STT Tên Actor Diễn giải
1 Ngƣời chơi Ngƣời sử dụng hệ thống
Danh sách các Use Case của mô hình
STT Tên Use Case Diễn giải
1 Chọn game mini Ngƣời sử dụng hệ thống
2 Chọn kiến thức Chọn kiến thức: bao gồm chọn “chƣơng” và
“mức độ khó” của trò chơi
3 Chọn thuật toán Chọn các thuật toán trong hệ thống của trò
chơi
Người chơi
Chơi game 2
Tạm dừng
Chơi lại
Tiếp tục
Trợ giúp
Thoát
Chọn game mini
Chọn kiến thức
Chọn thuật toán
Chơi game 1
Chơi game 3
Chơi game 4
Chơi game
45
4 Chơi game 1 Chơi game 1 – Cú pháp câu lệnh
5 Chơi game 2 Chơi game 2 – Hoàn chỉnh chƣơng trình
6 Chơi game 3 Chơi game 3 – Lắp ghép
7 Chơi game 4 Chơi game 4 – Mô phỏng thuật toán
8 Chơi game Chơi game – Hoạt động chơi game của ngƣời
chơi nói chung
9 Tạm dừng Tạm dừng trò chơi
10 Tiếp tục Tiếp tục khi đang tạm dừng trò chơi
11 Trợ giúp Chọn trợ giúp: xem kiến thức liên quan
12 Chơi lại Chơi lại màn chơi khác
13 Thoát Thoát khỏi hệ thống
46
II.4.2 Mô tả chi tiết chức năng các Use Case
Sơ đồ hoạt động chức năng của Use Case “Chọn game mini”
Ý nghĩa: Dùng để chọn 1 trong 4 mini game trong chƣơng trình
Yêu cầu: Phải chọn kiến thức hoặc chọn thuật toán
Hình 2.15 – Sơ đồ hoạt động chức năng của Use Case “Chọn Game Mini”
[Sai]
[Đúng]
Hiển thị màn mở đầu
Màn hình mở đầu
Chọn game
Game được chọn là game 4 Màn hình chọn kiến thức
Màn hình chọn thuật toán
Chọn kiến thức
Màn hình Game 1
Màn hình game 2
Màn hình game 3
Chọn thuật toán
Màn hình game 4
Chọn sẵn sàng
Màn hình chọn game
47
Sơ đồ hoạt động chức năng của Use Case “Chơi game”
Ý nghĩa: Dùng để diễn tả hoạt động chơi game của ngƣời chơi
Yêu cầu: Ngƣời chơi phải đang ở màn hình game 1, game 2, game 3 hoặc game 4
Hình 2.16 – Sơ đồ hoạt động chức năng của Use Case “Chơi game”
[đúng]
[sai]
[đúng]
[sai]
Màn hình game
Chọn Tùy chọnChọn Trợ giúp
Chọn hướng dẫn Chọn Thay đổi nhân vật
Chọn Màn hình chính
Chọn Bắt đầu lại
Chọn Đóng
Màn hình trợ giúp
Chọn đóng
MH hướng dẫn
Chọn đóng 1
MH chọn nhân vật
Chọn đóng 2
MH chọn chương
Số câu hỏi được trả lời < số câu hỏi
Chọn đáp án
Thời gian còn
48
II.5 Thiết kế dữ liệu
Mô hình CDM
0,n
0,n
Y CHINH
ID Y CHINH
TEN Y CHINH
DO QUAN TRONG
GHI CHU
CHU DE
ID CHU DE
TEN CHU DE
DO KHO
TLDK
GHI CHU
CHU DE Y CHINH
ID CD YC
TEN CD_YC
MO TA
GHI CHU
DA TRAC NGHIEM
ID DA TN
DAP AN
DAP AN DUNG
GHI CHU
...
CHUONG
ID CHUONG
TEN CHUONG
Y NGHIA CHUONG
GHI CHU
TU KHOA
ID_TU KHOA
TENTUKHOA
MO TA
GHI CHU
SO KHOP
ID SO KHOP
PHANDAU CH
PHAN CUOI CH
GHI CHU
MONHOC
MA MON HOC
TEN MON HOC
GHI CHU
DIEUKIEN
TRONGSO
DIENKHUYET
ID DK
PHANDAU CH
PHAN CUOI CH
MUCDOKHO
GHI CHU
DAPAN_DIENKHUYET
ID DA DK
DAP AN
DAP AN DUNG
GHI CHU
TRAC NGHIEM
ID_TN
CAU HOI
MUCDOKHO
GHI CHU
DIEN KHUYET COD
ID DK CODE
CAU HOI
MUCDOKHO
MANCHOI
GHI CHU
DA DK CODE
ID DA DK CODE
DAP AN
VI TRI
GHI CHU
LAP GHEP
ID LAP GHEP
MUCDOKHO
MANCHOI
CAU HOI
GHI CHU
DA LAP GHEP
ID_DA_LG
CAU LENH
VI TRI
GHI CHU
49
o Mô hình PDM
Y CHINH
ID Y CHINH
TEN Y CHINH
DO QUAN TRONG
GHI CHU
int
nvarchar(100)
int
varchar(200)
CHU DE
ID CHU DE
ID CHUONG
TEN CHU DE
DO KHO
TLDK
GHI CHU
int
int
nvarchar(100)
int
int
nvarchar(200)
CHU DE Y CHINH
ID CD YC
ID CHU DE
ID Y CHINH
TEN CD_YC
MO TA
GHI CHU
int
int
int
nvarchar(100)
nvarchar(Max)
nvarchar(200)
DA TRAC NGHIEM
ID DA TN
ID_TN
DAP AN
DAP AN DUNG
GHI CHU
int
int
nvarchar(1000)
int
varchar(200)
CHUONG
ID CHUONG
MA MON HOC
TEN CHUONG
Y NGHIA CHUONG
GHI CHU
int
varchar(20)
nvarchar(100)
nvarchar(100)
nvarchar(100)
TU KHOA
ID_TU KHOA
TENTUKHOA
MO TA
GHI CHU
int
nvarchar(200)
nvarchar(1000)
nvarchar(200)
SO KHOP
ID SO KHOP
ID CHU DE
PHANDAU CH
PHAN CUOI CH
GHI CHU
int
int
nvarchar(1000)
nvarchar(Max)
nvarchar(200)
MONHOC
MA MON HOC
TEN MON HOC
GHI CHU
varchar(20)
nvarchar(50)
nvarchar(200)
DIEUKIEN
IDYCHINH
IDYCHINHTQ
TRONGSO
int
int
int
DIENKHUYET
ID DK
ID CHU DE
MUCDOKHO
PHANDAU CH
PHAN CUOI CH
GHI CHU
int
int
int
nvarchar(1000)
nvarchar(1000)
nvarchar(200)
DAPAN_DIENKHUYET
ID DA DK
ID DK
DAP AN
DAP AN DUNG
GHI CHU
int
int
nvarchar(1000)
int
nvarchar(200)
TRAC NGHIEM
ID_TN
ID CHU DE
MUCDOKHO
CAU HOI
GHI CHU
int
int
int
nvarchar(1000)
nvarchar(200)
DIEN KHUYET CODE
ID DK CODE
ID CHU DE
MUCDOKHO
MANCHOI
CAU HOI
GHI CHU
int
int
int
int
nvarchar(1000)
nvarchar(200)
DA DK CODE
ID DA DK CODE
ID DK CODE
DAP AN
VI TRI
GHI CHU
int
int
nvarchar(1000)
int
nvarchar(200)
LAP GHEP
ID LAP GHEP
ID CHU DE
MUCDOKHO
MANCHOI
CAU HOI
GHI CHU
int
int
int
int
nvarchar(1000)
nvarchar(200)
DA LAP GHEP
ID_DA_LG
ID LAP GHEP
CAU LENH
VI TRI
GHI CHU
int
int
nvarchar(1000)
int
nvarchar(200)
Y CHINH TU KHOA
ID_TU KHOA
ID Y CHINH
int
int
50
Danh sách các bảng biểu
Tên Code Ghi chú
CHU DE CHUDE Chủ đề
CHU DE Y CHINH CHUDEYCHINH Chủ đề - ý chính
CHUONG CHUONG Chƣơng
DA DK CODE DADKCODE Đáp án điền khuyết code
DA LAP GHEP DALAPGHEP Đáp án lắp ghép
DA TRAC NGHIEM DATRACNGHIEM Đáp án trắc nghiệm
DAPAN_DK DAPAN_DK Đáp án điền khuyết
DK CODE DKCODE Điền khuyết code
DIENKHUYET DIENKHUYET Điền khuyết
DIEUKIEN DIEUKIEN Điều kiện
LAP GHEP LAPGHEP Lắp ghép
MONHOC MONHOC Môn học
SO KHOP SOKHOP So khớp
TRAC NGHIEM TRACNGHIEM Trắc nghiệm
TU KHOA TUKHOA Từ khóa
Y CHINH YCHINH Ý chính
Y CHINH TU KHOA YCHINHTUKHOA Ý chính từ khóa
51
Mô tả chi tiết các table
o Table CHUDE
Tên Code P M Ghi chú
ID CHU DE IDCHUDE X X ID chủ đề
ID CHUONG IDCHUONG X ID chƣơng
TEN CHU DE TENCHUDE X Tên chủ đề
DO KHO DOKHO X Độ khó
TLDK TLDK Thời gian dự kiến
GHI CHU GHICHU Ghi chú
o Table CHUDEYCHINH
Tên Code P M Ghi chú
ID CD YC IDCDYC X X ID Chủ đề yêu cầu
ID CHU DE IDCHUDE X ID chủ đề
ID Y CHINH IDYCHINH X ID ý chính
TEN CD_YC TENCDYC X Tên chủ đề ý chính
MO TA MOTA X Mô tả
GHI CHU GHICHU Ghi chú
o Table Chƣơng
Tên Code P M Ghi chú
ID CHUONG IDCHUONG X X ID chƣơng
MA MON HOC MAMONHOC X Mã môn học
TEN CHUONG TENCHUONG X Tên chƣơng
Y NGHIA CHUONG YNGHIACHUONG X Ý nghĩa chƣơng
GHI CHU GHICHUCHUONG Ghi chú
52
o Table DADKCODE
Tên Code P M Ghi chú
ID DA DK CODE IDDADKCODE X X
ID đáp án điền khuyết
code
ID DK CODE IDDKCODE X ID điền khuyết code
DAP AN DAPAN X Đáp án
VI TRI VITRI X Vị trí
GHI CHU GHICHU Ghi chú
o Table LAPGHEP
Tên Code P M Ghi chú
ID_DA_LG IDDALG X X ID đáp án lắp ghép
ID LAP GHEP IDLAPGHEP X ID lắp ghép
CAU LENH CAULENH X Câu lệnh
VI TRI VITRI X Vị trí
GHI CHU GHICHU Ghi chú
o Table DALAPGHEP
Tên Code P M Ghi chú
ID_DA_LG IDDALG X X Id đáp án lắp ghép
ID LAP GHEP IDLAPGHEP X Id lắp ghép
CAU LENH CAULENH X Câu lệnh
VI TRI VITRI X Vị trí
GHI CHU GHICHU Ghi chú
53
o Table DATRACNGHIEM
Tên Code P M Ghi chú
ID DA TN IDDAMC X X Id đáp án trắc nghiệm
ID_TN IDTN X Id trắc nghiệm
DAP AN DAPAN X Đáp án
DAP AN DUNG DAPANDUNG X Đáp án đúng
GHI CHU GHICHU Ghi chú
o Table DADIENKHUYET
Tên Code P M Ghi chú
ID DA TN IDDATN X X Id đáp án trắc nghiệm
ID_TN IDTN X Id trắc nghiệm
DAP AN DAPAN X Đáp án
DAP AN DUNG DAPANDUNG X Đáp án đúng
GHI CHU GHICHU Ghi chú
o Table DKCODE
Tên Code P M Ghi chú
ID DK CODE IDDKCODE X X Id điền khuyết code
ID CHU DE IDCHUDE X Id chủ đề
MUCDOKHO MUCDOKHO X Mức độ khó
MANCHOI MANCHOI X Màn chơi
CAU HOI CAUHOI X Câu hỏi
GHI CHU GHICHU Ghi chú
54
o Table DIENKHUYET
Tên Code P M Ghi chú
ID DK IDDIENKHUYET X X Id điền khuyết
ID CHU DE IDCHUDE X Id chủ đề
MUCDOKHO MUCDOKHO X Mức độ khó
PHANDAU CH PHANDAUCH Phần đầu câu hỏi
PHAN CUOI CH PHANCUOICH Phần cuối câu hỏi
GHI CHU GHICHU Ghi chú
o Table DIEUKIEN
Tên Code P M Ghi chú
IDYCHINH YCH_IDYCHINH X X Id tùy chỉnh
IDYCHINHTQ IDYCHINHTQ X X Id ý chính tiên quyết
TRONGSO TRONGSO X Trọng số
o Table LAPGHEP
Tên Code P M Ghi chú
ID LAP GHEP IDLAPGHEP X X Id lắp ghép
ID CHU DE IDCHUDE X Id chủ đề
MUCDOKHO MUCDOKHO X Mức độ khó
MANCHOI MANCHOI X Màn chơi
CAU HOI CAUHOI X Câu hỏi
GHI CHU GHICHU Ghi chú
55
o Table MONHOC
Tên Code P M Ghi chú
MA MON HOC MAMONHOC X X Mã môn học
TEN MON HOC TENMONHOC X Tên môn học
GHI CHU GHICHU Ghi chú
o Table SOKHOP
Tên Code P M Ghi chú
ID SO KHOP ID_SO_KHOP X X Id so khớp
ID CHU DE IDCHUDE X Id chủ đề
PHANDAU CH PHANDAUCH X Phần đầu câu hỏi
PHAN CUOI CH PHANCUOICH X Phần cuối câu hỏi
GHI CHU GHICHU Ghi chú
o Table TRACNGHIEM
Tên Code P M Ghi chú
ID SO KHOP ID_SO_KHOP X X Id so khớp
ID CHU DE IDCHUDE X Id chủ đề
PHANDAU CH PHANDAUCH X Phần đầu câu hỏi
PHAN CUOI CH PHANCUOICH X Phần cuối câu hỏi
GHI CHU GHICHU Ghi chú
56
o Table TUKHOA
Tên Code P M Ghi chú
ID_TU KHOA IDTUKHOA X X Id từ khóa
TENTUKHOA TENTUKHOA X Tên từ khóa
MO TA MOTA X Mô tả
GHI CHU GHICHU Ghi chú
o Table YCHINH
Tên Code P M Ghi chú
ID Y CHINH IDYCHINH X X Id ý chính
TEN Y CHINH TENYCHINH X Tên ý chính
DO QUAN TRONG DOQUANTRONG X Độ quan trọng
GHI CHU GHICHU Ghi chú
o Table TUKHOAYCHINH
Tên Code P M Ghi chú
ID TU KHOA IDTUKHOA X X Id từ khóa
ID Y CHINH IDYCHINH X X Id ý chính
57
Thiết kế xử lý
Sơ đồ xử lý
Hình 2.17 – Sơ đồ xử lý của chƣơng trình
58
Hàm xử lý
TÊN HÀM INPUT OUTPUT Ý NGHĨA
TaoNgauNhien();
Tổng số câu
hỏi cần load
Mảng bộ
câu hỏi
Dùng để tạo bộ câu
hỏi ngẫu nhiên
trong số các câu hỏi
lấy lên từ file dữ
liệu XML
ThoiGian() ; Thời gian (số)
Bộ đếm thời
gian ngƣợc
Dùng để tạo ra bộ
đếm thời gian
ngƣợc quy định thời
gian cho phép của
một trò chơi
LoadCauHoi() ; Bộ dữ liệu
Dữ liệu
đƣợc gán
Dùng để load dữ
liệu tự file xml lên
đối tƣờng cần lấy
dữ liệu.
KiemTra();
Dữ liệu cần
kiểm tra
Đúng (true)
hoặc Sai
(false)
Dùng để kiểm tra
kết quả sau khi
ngƣời chơi chọn
đáp án
ThongBaoKetQua()
Kết quả ngƣời
chơi sau khi
trả lời
Hộp thoại
thông báo
kết quả của
ngƣời chơi
Dùng để thông báo
kết quả của ngƣời
chơi sau khi chơi
xong 1 màn
59
fl_ClickToDrag(event:MouseEvent);
fl_ReleaseToDrop(event:MouseEvent);
Đối tƣợng cần
di chuyển
Đối tƣợng
đƣợc di
chuyển
Dùng để kéo thả một
đối tƣợng (di chuyển
vị trí của đối tƣợng)
fl_ClickToBringToFront(event:Mouse
Event);
Đối tƣợng cần
di chuyển lên
layer trên
cùng
Đối tƣợng
đƣợc chuyển
lên layer
trên cùng
Dùng để tạo sự kiện di
chuyển đối tƣợng lên
trên layer trên cùng
(nằm trên các đối
tƣợng khác)
updateTimeNV(e:TimeEvent)
Số (integer) –
mỗi số tƣợng
trƣng cho 1
nhân vật
Thứ tự xuất
hiện của các
nhân vật
Dùng để xuất ngẫu
nhiên các chú Tí
updateTimeLenh(e:TimeEvent)
Số (integer) –
mỗi số tƣợng
trƣng cho 1
lệnh
Trình tự
chạy của các
lệnh
Dùng để gọi thứ tự
chạy của các lệnh
updateTimeSDK(e:TimeEvent)
Số (integer) –
mỗi số tƣợng
trƣng cho 1
hình trên sơ
đồ khối
Trình tự
xuất hiện
của các hình
trên sơ đồ
khối
Dùng để hiển thị ngẫu
nhiên các hình trên sơ
đồ khối
60
ClickToDragSDK(event:MouseEvent);
ReleaseToDropSDK(event:MouseEvent
);
Đối tƣợng cần
di chuyển
Đối tƣợng
đƣợc di
chuyển
Dùng để kéo thả một
đối tƣợng (di chuyển
vị trí của đối tƣợng)
trên sơ đồ khối
Refresh();
Tọa độ của
các hình trên
sơ đồ khối
trƣớc khi di
chuyển
Thứ tự của
các hình trên
sơ đồ khối
ban đầu
Dùng để đƣa các hình
trên sơ đồ khối trở về
vị trí ban đầu
61
Thiết kế giao diện
o Sơ đồ các màn hình trong trò chơi
Hình 2.18 – Sơ đồ các màn hình trong trò chơi
62
o Màn hình chính
Mô phỏng hình thức thể hiện
Hình 2.19 – Giao diện màn hình chính ở mức phân tích
Mô tả ý nghĩa các control
STT Mô tả màn hình chính
1
Chọn để đi vào game Cú Pháp Câu Lệnh – Kiểm tra về mặt lý thuyết các cú
pháp câu lệnh trong Pascal
2
Chọn để đi vào game Hoàn chỉnh chƣơng trình – Điền các phần còn trống
trong đoạn lệnh để hoàn chỉnh chƣơng trình
3
Chọn để đi vào game Lắp ghép – Sắp xếp các câu lệnh riêng lẻ để tạo thành
một đoạn chƣơng trình hoặc một thuật toán
4 Chọn để đi vào game Mô Phỏng Thuật Toán – Mô phỏng một số thuật toán
5 Màn hình chính – Để quay lại màn hình chính
63
o Màn hình Game 1 – Cú Pháp Câu Lệnh: Màn 1 – Trắc Nghiệm
Mô phỏng hình thức thể hiện
Hình 2.20 – Giao diện màn hình game 1 – cú pháp câu lệnh – màn 1 ở mức phân tích
Mô tả ý nghĩa các control
STT Mô tả
1 Hiển thị câu hỏi dạng trắc nghiệm
2 Nút lệnh chọn đáp án – Ngƣời chơi nhấn chuột vào 1 trong 4 nút
lệnh này để trả lời câu hỏi
3 Khung hiển thị đáp án
4 Thời gian
5 Nút lệnh Tùy Chọn – Đƣợc sử dụng khi ngƣời chơi muốn tạm dừng
game và tùy chọn một số chức năng nhƣ tắt mở nhạc, xem hƣớng
dẫn chơi, chọn nhân vật, khởi động lại game hoặc quay về màn hình
chính
6 Nút lệnh Trợ Giúp – Đƣợc sử dụng khi ngƣời chơi muốn tạm dừng
game game và xem trợ giúp về kiến thức
64
o Màn hình Game 1 – Cú Pháp Câu Lệnh: Màn 2 – Điền Khuyết
Mô phỏng hình thức thể hiện
Hình 2.21 – Giao diện màn hình game 1 – cú pháp câu lệnh – màn 2 ở mức phân tích
Mô tả ý nghĩa các control
STT Mô tả
1 Hiển thị câu hỏi dạng điền khuyết
2 Khung hiển thị đáp án – Ngƣời chơi trả lời câu hỏi bằng cách kéo thả 1
trong 4 đáp án vào phần khuyết của câu hỏi
3 Thời gian
4 Nút lệnh Tùy Chọn – Đƣợc sử dụng khi ngƣời chơi muốn tạm dừng
game và tùy chọn một số chức năng nhƣ tắt mở nhạc, xem hƣớng dẫn
chơi, chọn nhân vật, khởi động lại game hoặc quay về màn hình chính
5 Nút lệnh Trợ Giúp – Đƣợc sử dụng khi ngƣời chơi muốn tạm dừng
game game và xem trợ giúp về kiến thức
6 Nút lệnh Tiếp – Dùng để di chuyển qua câu hỏi kế tiếp
65
o Màn hình Game 1 – Cú Pháp Câu Lệnh: Màn 3: So Khớp
Mô phỏng hình thức thể hiện
Hình 2.22- Giao diện màn hình game 1 – cú pháp câu lệnh – màn 3 ở mức phân tích
Mô phỏng ý nghĩa các control
STT Mô tả
1 Hiển thị phần đầu của câu hỏi
2 Hiển thị phần cuối của câu hỏi. Ngƣời chơi trả lời bằng cách kéo thả
phần cuối vào phần đầu
3 Thời gian
4 Nút lệnh Tùy Chọn – Đƣợc sử dụng khi ngƣời chơi muốn tạm dừng
game và tùy chọn một số chức năng nhƣ tắt mở nhạc, xem hƣớng dẫn
chơi, chọn nhân vật, khởi động lại game hoặc quay về màn hình chính
5 Nút lệnh Trợ Giúp – Đƣợc sử dụng khi ngƣời chơi muốn tạm dừng
game game và xem trợ giúp về kiến thức
6 Nút lệnh Tiếp – Dùng để di chuyển qua bộ câu hỏi kế tiếp
66
o Màn hình Game 2 – Hoàn Chỉnh Chƣơng Trình
Mô phỏng hình thức thể hiện
Hình 2.23 – Giao diện màn hình game 2 – hoàn chỉnh chƣơng trình ở mức phân tích
Mô tả ý nghĩa các control
STT Mô tả
1 Hiển thị đoạn code (còn khuyết)
2 Hiển thị các đáp án để điền vào chỗ khuyết
3 Nơi trả lời câu hỏi: Kéo thả 2 vào 3
4 Thời gian
5 Nút lệnh Tùy Chọn – Đƣợc sử dụng khi ngƣời chơi muốn tạm dừng
game và tùy chọn một số chức năng nhƣ tắt mở nhạc, xem hƣớng dẫn
chơi, chọn nhân vật, khởi động lại game hoặc quay về màn hình chính
6 Nút lệnh Trợ Giúp – Đƣợc sử dụng khi ngƣời chơi muốn tạm dừng
game game và xem trợ giúp về kiến thức
7 Nút lệnh Tiếp – Dùng để di chuyển qua bộ câu hỏi kế tiếp
67
o Màn hình Game 3 – Lắp ghép
Mô phỏng hình thức thể hiện
Hình 2.24 – Giao diện màn hình game 3 – Lắp ghép ở mức phân tích
Mô tả ý nghĩa các control
STT Mô tả
1 Hiển thị các câu lệnh theo thứ tự ngẫu nhiên
2 Hiển thị các chỗ trống để kéo thả 1 vào và sắp xếp thành 1 đoạn code
3 Thời gian
4 Nút lệnh Tùy Chọn – Đƣợc sử dụng khi ngƣời chơi muốn tạm dừng
game và tùy chọn một số chức năng nhƣ tắt mở nhạc, xem hƣớng dẫn
chơi, chọn nhân vật, khởi động lại game hoặc quay về màn hình chính
5 Nút lệnh Trợ Giúp – Đƣợc sử dụng khi ngƣời chơi muốn tạm dừng
game game và xem trợ giúp về kiến thức
6 Nút lệnh Tiếp – Dùng để di chuyển qua bộ câu hỏi kế tiếp
68
o Màn hình Game 4 – Mô Phỏng Thuật Toán
Mô phỏng hình thức thể hiện
Hình 2.25 – Giao diện màn hình game 4 – Mô phỏng thuật toán ở mức phân tích
Mô tả ý nghĩa các control
STT Mô tả
1 Hiển thị đoạn code hoàn chỉnh
2 Sơ đồ khối thể hiện cho đoạn code
3 Nút lệnh Ý Tƣởng Thuật Toán – Để ngƣời chơi xem ý tƣởng của bài
toán
4 Nút lệnh Bắt đầu – Để ngƣời chơi có thể nhập dữ liệu, xem mô
phỏng từng bƣớc
5 Nút lệnh Tạo Sơ Đồ Khối – Để ngƣời chơi tự xây dựng sơ đồ khối
dựa trên thuật toán
6 Nút lệnh Trợ giúp – Để ngƣời chơi xem trợ giúp kiến thức khi có
thắc mắc
69
CHƢƠNG 3
CÀI ĐẶT VÀ THỬ NGHIỆM
HỆ THỐNG
70
CHƢƠNG III: CÀI ĐẶT VÀ THỬ NGHIỆM HỆ THỐNG
III.1 Môi trƣờng phát triển
Hệ điều hành Window
Cơ sở dữ liệu XML
Ngôn ngữ lập trình: Flash với công nghệ ActionScript 3.0
III.2 Một số màn hình và chức năng minh họa
Hình 3.1 – Sơ đồ thể hiện các màn hình
71
III.2.1 Màn hình chọn game mini
Hình thức thể hiện
Ý nghĩa màn hình
Dùng để ngƣời chơi chọn một trong bốn game mini:Cú pháp câu lệnh, Hoàn
chỉnh chƣơng trình, Lắp ghép, Mô phỏng thuật toán
Ý nghĩa các control , Sơ đồ mô tả các tình huống sử dụng
72
III.2.2 Màn hình Game 1 – Cú Pháp Câu Lệnh – Màn 1
Hình thức thể hiện
Ý nghĩa màn hình
Là giao diện game Cú Pháp Câu Lệnh – Màn 1, ngƣời chơi trả lời các câu
hỏi ở dạng trắc nghiệm để học các kiến thức về cú pháp câu lệnh trong ngôn
ngữ lập trình Pascal.
Ý nghĩa các control, sơ đồ mô tả các tình huống thể hiện
73
III.2.3 Màn hình game 1- Cú Pháp Câu Lệnh – Màn 2
Hình thức thể hiện
Ý nghĩa màn hình
Là giao diện game Cú Pháp Câu Lệnh – Màn 2, ngƣời chơi trả lời các câu
hỏi ở dạng điền khuyết (kéo thả các đáp án) để học các kiến thức về cú pháp
câu lệnh trong ngôn ngữ lập trình Pascal.
Ý nghĩa các control, sơ đồ mô tả các tình huống thể hiện
74
III.2.4 Màn hình game 1- Cú Pháp Câu Lệnh – Màn 3: So khớp
Hình thức thể hiện
Ý nghĩa màn hình
Là giao diện game Cú Pháp Câu Lệnh – Màn 3, ngƣời chơi trả lời các câu
hỏi ở dạng so khớp (kéo thả các đáp án so khớp) để học các kiến thức về cú
pháp câu lệnh trong ngôn ngữ lập trình Pascal.
Ý nghĩa các control, sơ đồ mô tả các tình huống thể hiện
75
III.2.5 Màn hình Game 2 – Hoàn chỉnh chƣơng trình - Màn 1
Hình thức thể hiện
Ý nghĩa màn hình
Là giao diện game Hoàn chỉnh chƣơng trình, ngƣời chơi trả lời các câu hỏi ở
dạng điền đáp án còn thiếu của đoạn code (2 vị trí khuyết, 2 đáp án điền khuyết).
Từ đó ngƣời chơi học đƣợc kiến thức trong bài tập ngôn ngữ lập trình Pascal.
Ý nghĩa các control, sơ đồ mô tả tình huống
76
III.2.6 Màn hình Game 2 – Hoàn chỉnh chƣơng trình – Màn 2
Hình thức thể hiện
Ý nghĩa màn hình
Là giao diện game Hoàn chỉnh chƣơng trình, ngƣời chơi trả lời các câu hỏi ở
dạng điền đáp án còn thiếu của đoạn code (2 vị trí khuyết, 3 đáp án điền khuyết).
Từ đó ngƣời chơi học đƣợc kiến thức trong bài tập ngôn ngữ lập trình Pascal.
Ý nghĩa các control, sơ đồ mô tả tình huống
77
III.2.7 Màn hình Game 2 – Hoàn chỉnh chƣơng trình – Màn 3
Hình thức thể hiện
Ý nghĩa màn hình
Là giao diện game Hoàn chỉnh chƣơng trình, ngƣời chơi trả lời các câu hỏi ở
dạng điền đáp án còn thiếu của đoạn code (2 vị trí khuyết, 4 đáp án điền khuyết).
Từ đó ngƣời chơi học đƣợc kiến thức trong bài tập ngôn ngữ lập trình Pascal.
Ý nghĩa các control, sơ đồ mô tả tình huống
78
III.2.8 Màn hình Game 3 – Lắp Ghép
Hình thức thể hiện
Ý nghĩa màn hình
Là giao diện game 3 - Lắp ghép, ngƣời chơi trả lời các câu hỏi ở dạng sắp
xếp các câu lệnh thành một đoạn code hoàn chỉnh theo yêu cầu của đề bài.
Từ đó ngƣời chơi học đƣợc kiến thức trong bài tập ngôn ngữ lập trình Pascal.
Ý nghĩa các control, sơ đồ mô tả tình huống
79
III.2.9 Màn hình game 4 – Mô phỏng thuật toán
a. Màn hình chức năng Sơ đồ khối – Xem mô phỏng
Hình thức thể hiện
Ý nghĩa màn hình
Là giao diện màn hình mô phỏng thuật toán: Ngƣời chơi có thể xem sơ đồ khối,
nhập dữ liệu, xem mô phỏng từng bƣớc, xây dựng lại thuật toán. Sau khi chơi xong
trò chơi này ngƣời chơi có một kiến thức nhất định về thuật toán trong Pascal
Ý nghĩa các control, sơ đồ mô tả tình huống
80
b. Màn hình chức năng Sơ đồ khối – Xây dựng lại
Hình thức thể hiện
Ý nghĩa màn hình
Ngƣời chơi kéo thả các khối hình bên phải ghép vào bên trái để tạo thành
sơ đồ đúng.
Ý nghĩa các control, sơ đồ mô tả tình huống
81
c. Màn hình chức năng Sơ đồ khối – Kiểm tra
Hình thức thể hiện
Ý nghĩa màn hình
Dùng để ngƣời chơi kiểm tra có bao nhiêu khối hình đƣợc kéo thả đúng vị trí
Ý nghĩa các control, sơ đồ mô tả tình huống
82
d. Màn hình chức năng Thuật toán – Xem mô phỏng
Hình thức thể hiện
Ý nghĩa màn hình
Dùng để ngƣời chơi xem mô phỏng dƣới dạng đoạn code.
Ý nghĩa các control, sơ đồ mô tả tình huống
83
e. Màn hình Game 4 – Mô phỏng thuật toán – Tùy chọn
Hình thức thể hiện
Ý nghĩa màn hình
Dùng để ngƣời chơi thao tác với một số tùy chọn nhƣ xem ý tƣởng, bắt đầu
lại, quay về màn hình chính, tùy chỉnh tốc độ chạy
Ý nghĩa các control, sơ đồ mô tả tình huống
Xem ý tƣởng của
thuật toán
Quay lại màn hình
chọn thuật toán
Quay lại màn hình
chính
Tùy chỉnh tốc độ
Bắt
đầu lại
MH Tùy
Chọn
Ý
tưởng
MH
chính
MH chọn thuật
toán MH chính
Xem ý
tưởng
84
III.2.10 Hộp thoại Tùy Chọn
Hình thức thể hiện
Ý nghĩa hộp thoại
Cho phép ngƣời chơi có thể thao tác với một số chức năng của hộp thoại tùy chọn: tùy
chỉnh nhạc, chọn nhân vật, bắt đầu lại, hƣớng dẫn, màn hình chính.
Ý nghĩa các control, Sơ đồ mô tả tình huống sử dụng
Chọn
NV
Bắt
đầu lại
MH Tùy
Chọn
Hướng
dẫn
MH
chính
Đóng
Hộp thoại
chọn nhân vật
MH game với câu
hỏi khác MH chính
Hộp thoại
hướng dẫn
MH game
đang chơi
85
III.2.11 Hộp thoại hƣớng dẫn
Hình thức thể hiện
Ý nghĩa hộp thoại
Dùng để trợ giúp kiến thức cho ngƣời chơi. Màn hình sẽ hiển thị lên các ý giảng
chính của topic (topic của câu hỏi)
Ý nghĩa các control, sơ đồ mô tả tình huống sử dụng
MH trợ giúp
kiến thức
Đóng
MH game đang
chơi
86
III.2.12 Màn hình chọn nhân vật
Hình thức thể hiện
Ý nghĩa hộp thoại
Màn hình dùng để ngƣời chơi có thể chọn một nhân vật Xì Trum nào mà mình yêu
thích
Ý nghĩa các control, sơ đồ mô tả tình huống sử dung
STT Nút lệnh Mô tả
1
Các chú tí
MH chọn
nhân vật
Chọn
1 chú
Tí
MH Tùy chọn
87
III.2.13 Hộp thoại thông báo kết quả
Hình thức thể hiện
Ý nghĩa hộp thoại
Thông báo cho ngƣời chơi biết số câu hỏi trả lời đúng và có đủ điều kiện để qua
màn tiếp theo không.
Ý nghĩa các control, sơ đồ mô tả tình huống sử dung
Chơi lại màn chơi
Quay về màn hình chính
Qua màn chơi tiếp theo
Chơi
lại
Hộp thoại
thông báo
Tiếp
tục
MH
chính
Màn đang chơi MH chính
Màn chơi
tiếp theo
88
CHƢƠNG IV
KẾT LUẬN VÀ
HƢỚNG PHÁT TRIỂN
89
CHƢƠNG IV: KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN
IV.1 Kết luận
Sau sáu tháng tìm hiểu, nghiên cứu và xây dựng, chúng em đã xây dựng
đƣợc một phần mềm trò chơi “VUI HỌC PASCAL” giúp cho ngƣời chơi có thể tự
học, tự ôn luyện ngôn ngữ lập trình Pascal. Phần mềm này đƣợc xây dựng trên công
nghệ Flash với ActionScript đã đạt đƣợc những kết quả sau
- Xây dựng đƣợc phần mềm tƣơng đối hoàn chỉnh cho phép ngƣời chơi có thể
tự học, ôn tập kiến thức ngôn ngữ lập trình Pascal thông qua hệ thống câu
hỏi dƣới nhiều dạng: trắc nghiệm, điền khuyết, so khớp, lắp ghép, xây dựng
thuật toán, xem mô phỏng
- Ngƣời chơi có thể sử dụng trò chơi này để vừa học vừa chơi ngôn ngữ lập
trình Pascal, hệ thống có thể giúp đỡ ngƣời chơi khi gặp khó khăn về kiến
thức dựa vào mô hình KG
Mặc dù đã nỗ lực và cố gắng rất nhiều nhƣng do thời gian và khả năng chƣa cho
phép nên đề tài còn một số hạn chế:
- Số thuật toán đƣợc mô phỏng trong chƣơng trình còn ít.
- Hệ thống câu hỏi, bài tập trong cơ sở dữ liệu còn hạn chế
IV.2 Hƣớng phát triển
Từ những hạn chế trên, chúng em đƣa ra những giải pháp sau
- Xây dựng hệ thống câu hỏi, bài tập đƣợc phong phú hơn
TÀI LIỆU THAM KHẢO
Tiếng Anh:
[1] Satoshi Amagai et al (2005), Summit on educational games, Federation
of American Scientists.
[2]Allyn & BaconRoger B. Myerson (1991), Game Theory: Analysis of
Conflict, Harvard University Press, p.1
90
[3] Le, D.-L (2008), Toward a supporting system for e-Learning
environment. In Addendum Contributions to the 2008 IEEE International
Conference on Research, Innovation and Vision for the Future (RIVF‟08),
Doctoral Symposium session, July 2008, Hochiminh city, Vietnam. (in
English), pp 200-203
[4] Le, D.-L, Nguyen, D.-T, Nguyen, A.-T, Tran, V.-H, Hunger, A. (2010),
Applying Pedagogical Analyses to Create an On-line Course for e
Learning. In Lecture Notes in AI (LNAI 6277) from the 14th International
Conference on Knowledge-Based and Intelligent Information & Engineering
Systems (KES 2010) published by Springer-Verlag Berlin Heidelberg, 8-
10th Sep 2010, Cardiff, Wales, UK (in English), Part II, pp 114-123
[5] Le, D.-L, Nguyen, D.-T, Nguyen, A.-T, Tran, V.-H, Hunger, A. (2011),
Pedagogical domain knowledge for Adaptive e-Learning. In the Science
and Technology Development Journal of VNU-HCM - Natural Sciences:
Mathematics & Information Technology - Vol. 14 (T1-2011) - ISSN 1859-
0128, Hochiminh city Vietnam (in English), pp 14-34
[6] Leonard, Robert. Von Neumann, Morgenstern (2010), The Creation of
Game Theory, Cambridge University Press.
[7]Margaret D.Roblyer & Aron H.Doering (2010), Integrating Educational
Technology into Teaching – Fifth edition.
[8]Marc Prensky (2001), Digital Game –Based learning.
[9] Pavel Zemliansky & Diane Wilcox (2010), Design and Implementation
of Educational Games,Information science reference, pp. 108 – 125.
Website tham khảo:
[10]
ml
[11]
[12]
[13]
91
[14]
City-4-Deluxe.
[15]
[16]
Các file đính kèm theo tài liệu này:
- xay_dung_phan_mem_vui_hoc_lap_trinh_pascal_7019.pdf