TRƢỜNG ĐẠI HỌC SƢ PHẠM TP.HCM KHOA CÔNG NGHỆ THÔNG TIN HUỲNH THỊ NGỌC DIỄM HỒ THỊ TRÂM XÂY DỰNG PHẦN MỀM VUI HỌC LẬP TRÌNH PASCAL KHÓA LUẬN TỐT NGHIỆP TP. HỒ CHÍ MINH 2012 1
TRƢỜNG ĐẠI HỌC SƢ PHẠM TP.HCM KHOA CÔNG NGHỆ THÔNG TIN HUỲNH THỊ NGỌC DIỄM HỒ THỊ TRÂM XÂY DỰNG PHẦN MỀM VUI HỌC LẬP TRÌNH PASCAL CHUYÊN NGÀNH: SƢ PHẠM TIN HỌC KHÓA LUẬN TỐT NGHIỆP NGƢỜI HƢỚNG DẪN KHOA HỌC: ThS LÊ ĐỨC LONG 2
LỜI CẢM ƠN Sau 6 tháng nghiên cứu và tìm tòi chúng em đã hoàn thành luận văn này. Để thực hiện đƣợc luận văn này ngoài sự nổ lực của bản thân chúng em còn nhận đƣợc sự đóng góp của các Thầy Cô trong trƣờng Đại Học Sƣ Phạm TP. Hồ Chí Minh. Thầy cô đã dạy dỗ và truyền đạt kiến thức cũng nhƣ kinh nghiệm cho chúng em. Nhờ những kiến thức đó chúng em mới có thể hoàn thành đƣợc luận văn này. Chúng em xin gửi lời cảm ơn sâu sắc nhất đến Thầy Lê Đức Long Ngƣời đã tận tình hƣớng dẫn, chỉ bảo và giúp đỡ chúng em trong quá trình thực hiện luận văn này. Chúng em cũng xin gởi lời cảm ơn đến bạn bè, gia đình đã giúp đỡ động viên chúng em trong thời gian học tập và nghiên cứu Mặc dù đã cố gắng honà thành luận văn này nhƣng chắc chắc sẽ không tránh khỏi những thiếu sót. Kính mong nhận đƣợc sự góp ý tận tình từ phái Thầy Cô và các bạn Sinh viên thực hiện Huỳnh Thị Ngọc Diễm Hồ Thị Trâm TP.HCM Tháng 4 Năm 2012 3
MỤC LỤC GIỚI THIỆU TỔNG QUAN... 9 CHƢƠNG I: PHƢƠNG PHÁP LUẬN VÀ CƠ SỞ LÝ THUYẾT... 12 I.1 Lý thuyết trò chơi game theory... 12 I.1.1 Giới thiệu... 12 I.1.2 Các thành phần cơ bản của game... 13 I.2. Trò chơi giáo dục - Educational game... 15 I.2.1 Khái niệm... 15 I.2.2 Lợi ích của trò chơi trong giáo dục... 15 I.2.3 Ứng dụng game trong dạy học... 16 I.2.4 Một số điều cần lƣu ý khi sử dụng game trong giáo dục... 17 I.2.5 Các đặc điểm tạo nên tính hấp dẫn trong game giáo dục... 17 I.2.6 Quá trình thiết kế Game Educational... 19 I.2.7 Các dạng game thƣờng gặp... 21 CHƢƠNG II: PHÂN TÍCH VÀ THIẾT KẾ PHẦN MỀM VUI HỌC LẬP TRÌNH PASCAL... 27 II.1 Giới thiệu trò chơi... 27 II.2 Luật chơi Game Rules... 32 II.2.1 Luật chơi game Cú Pháp Câu Lệnh... 33 II.2.2 Game Hoàn Chỉnh Chƣơng Trình... 36 II.2.3 Game Lắp Ghép... 39 II.2.4 Game 4 Mô phỏng thuật toán... 42 II.3 Yêu cầu chức năng và yêu cầu phi chức năng... 43 II.4 Mô hình Use Case... 44 4
II.4.1 Mô hình Use Case của trò chơi VUI HỌC PASCAL... 44 II.4.2 Mô tả chi tiết chức năng các Use Case... 46 II.5 Thiết kế dữ liệu... 48 CHƢƠNG III: CÀI ĐẶT VÀ THỬ NGHIỆM HỆ THỐNG... 70 III.1 Môi trƣờng phát triển... 70 III.2 Một số màn hình và chức năng minh họa... 70 III.2.1 Màn hình chọn game mini... 71 III.2.2 Màn hình Game 1 Cú Pháp Câu Lệnh Màn 1... 72 III.2.3 Màn hình game 1- Cú Pháp Câu Lệnh Màn 2... 73 III.2.4 Màn hình game 1- Cú Pháp Câu Lệnh Màn 3: So khớp... 74 III.2.5 Màn hình Game 2 Hoàn chỉnh chƣơng trình - Màn 1... 75 III.2.6 Màn hình Game 2 Hoàn chỉnh chƣơng trình Màn 2... 76 III.2.7 Màn hình Game 2 Hoàn chỉnh chƣơng trình Màn 3... 77 III.2.8 Màn hình Game 3 Lắp Ghép... 78 III.2.9 Màn hình game 4 Mô phỏng thuật toán... 79 a.màn hình chức năng Sơ đồ khối Xem mô phỏng... 79 b.màn hình chức năng Sơ đồ khối Xây dựng lại... 80 c.màn hình chức năng Sơ đồ khối Kiểm tra... 81 d.màn hình chức năng Thuật toán Xem mô phỏng... 82 e.màn hình Game 4 Mô phỏng thuật toán Tùy chọn... 83 III.2.10 Hộp thoại Tùy Chọn... 84 III.2.11 Hộp thoại hƣớng dẫn... 85 III.2.12 Màn hình chọn nhân vật... 86 III.2.13 Hộp thoại thông báo kết quả... 87 CHƢƠNG IV: KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN... 89 5
IV.1 Kết luận... 89 IV.2 Hƣớng phát triển... 89 TÀI LIỆU THAM KHẢO... 89 6
DANH MỤC CÁC HÌNH ẢNH Hình 1.1 - Game Spacewar... 12 Hình 1.2 Game cờ vua... 14 Hình 1.3 - Sơ đồ thiết kế Educational game... 20 Hình 1.4 Game Timez Attack... 21 Hình 1.5 Game Timez Attack... 22 Hình 1.6 Game Sim City... 23 Hình 1.7 - Game Zombies Master... 24 Hình 1.8 Game AtomMate... 25 Hình 2.1 Knowledge Graph ở các mức độ theo ngữ cảnh sử dụng... 29 Hình 2.2 Sơ đồ ý nghĩa các thành phần của một khóa học... 29 Hình 2.3 Sơ đồ thể hiện cấu trúc trò chơi... 32 Hình 2.4 Sơ đồ thể hiện luật chơi game 1 màn 1... 33 Hình 2.5: Sơ đồ thể hiện luật chơi game 1 màn 2... 34 Hình 2.6 Sơ đồ thể hiện luật chơi game 1 màn 3... 35 Hình 2.7 Sơ đồ thể hiện luật chơi game 2 màn 1... 36 Hình 2.8 Sơ đồ thể hiện luật chơi game 2 màn 2... 37 Hình 2.9 Sơ đồ thể hiện luật chơi game 2 màn 3... 38 Hình 2.10 Sơ đồ thể hiện luật chơi game 3 màn 1... 39 Hình 2.11 Sơ đồ thể hiện luật chơi game 3 màn2... 40 Hình 2.12 Sơ đồ thể hiện luật chơi game 3 màn 3... 41 Hình 2.13 Sơ đồ thể hiện luật chơi game 4... 42 Hình 2.14 Mô hình Use Case của trò chơi VUI HỌC PASCAL... 44 7
Hình 2.15 Sơ đồ hoạt động chức năng của Use Case Chọn Game Mini... 46 Hình 2.16 Sơ đồ hoạt động chức năng của Use Case Chơi game... 47 Hình 2.17 Sơ đồ xử lý của chƣơng trình... 57 Hình 2.18 Sơ đồ các màn hình trong trò chơi... 61 Hình 2.19 Giao diện màn hình chính ở mức phân tích... 62 Hình 2.20 Giao diện màn hình cú pháp câu lệnh màn 1 ở mức phân tích... 63 Hình 2.21 Giao diện màn hình cú pháp câu lệnh màn 2 ở mức phân tích... 64 Hình 2.22- Giao diện màn hình cú pháp câu lệnh màn 3 ở mức phân tích... 65 Hình 2.23 Giao diện màn hình hoàn chỉnh chƣơng trình ở mức phân tích... 66 Hình 2.24 Giao diện màn hình Lắp ghép ở mức phân tích... 67 Hình 2.25 Giao diện màn hình Mô phỏng thuật toán ở mức phân tích... 68 Hình 3.1 Sơ đồ thể hiện các màn hình... 70 8
GIỚI THIỆU TỔNG QUAN Trong xã hội hiện nay nhu cầu chơi game 1 là rất lớn, đặc biệt là trong lứa tuổi thanh thiếu niên. Ngƣời chơi có thể bỏ ra hàng giờ, thậm chí hàng tuần chinh phục game. Theo nghiên cứu của ca c nha tâm ly ho c ơ Đaị ho c Michigan cho thấy việc chơi game có thể giúp rèn luyện khả năng phản xạ, giải quyết vấn đề, và lý luận trừu tƣợng tốt hơn. Môt nghiên cƣ u khác cu a trƣơ ng Đaị ho c Stirling cũng phát hiện ră ng, các trò chơi đơn giản luyện tập bộ não có tác dụng tăng cƣờng trí nhớ. Nhƣng đa phần các trò chơi trong và ngoài nƣớc hiện nay không có tính giáo dục cao, chỉ mang tính chất giải trí. Vì vậy để hƣớng ngƣời chơi vào việc học tập, tạo sự lôi cuốn trong quá trình học, tự củng cố luyện tập kiến thức ở nhà, đồng thời giúp ngƣời giáo viên đổi mới phƣơng pháp giảng dạy lập trình Pascal phần đƣợc xem là khô cứng nhất trong tin học. Nhóm chúng tôi chọn đề tài Xây dựng phần mềm Vui Học Lập Trình Pascal. Đề tài chủ yếu tập trung vào tìm hiểu về lý thuyết xây dựng trò chơi và cách xây dựng trò chơi giáo dục, sau đó áp dụng lý thuyết này vào việc xây dựng đƣợc phần mềm hỗ trợ học lập trình Pascal nhằm giúp ngƣời học lập trình Pascal có động cơ học tập và có thể tự củng cố luyện tập kiến thức ở nhà.mục tiêu cụ thể bao gồm: Tìm hiê u vê lý thuyết xây dƣṇg trò chơi, đặc biệt là trò chơi giáo dục Xây dựng cơ sơ dữ liệu tri thức về lập trình Pascal dƣới dạng đồ thị tri thức Knowledge Graph (KG) [3,4,5] Xây dựng trò chơi VUI HỌC PASCAL bao gồm 4 game mini 1. Game 1 Cú pháp câu lệnh 2. Game 2 Hoàn chỉnh chƣơng trình 3. Game 3 Lắp ghép 4. Game 4 Mô phỏng thuật toán 1 Game là trò chơi máy tính PC game (hay viết gọn là game) 9
Để xây dựng trò chơi này chúng tôi sử dụng công nghệ Flash với ActionScript 3.0 với cơ sở dữ liệu XML và sử dụng hệ thống bài tập Pascal trong chƣơng trình Tin học lớp 11. Báo cáo khóa luận tốt nghiệp đƣợc cấu trúc thành 5 phần bao gồm: Phần giới thiệu tổng quan Chƣơng I: Phƣơng pháp luận và cơ sở lý thuyết Chƣơng II: Phân tích và thiết kế trò chơi VUI HỌC PASCAL Chƣơng III: Cài đặt và thử nghiệm hệ thống Chƣơng IV: Kết luận và hƣớng phát triển 10
CHƢƠNG I PHƢƠNG PHÁP LUẬN VÀ CƠ SỞ LÝ THUYẾT 11
CHƢƠNG I: PHƢƠNG PHÁP LUẬN VÀ CƠ SỞ LÝ THUYẾT I.1 Lý thuyết trò chơi game theory I.1.1 Giới thiệu Trò chơi máy tính PC game (gọi tắt là game) là hình thức giải trí đƣợc ra đời từ rất lâu và nó đã xâm nhập vào đời sống con ngƣời một cách nhanh chóng. Game là một trong những thể loại của video game 1 đƣợc chơi trên các máy tính cá nhân. Nhiều game máy tính sơ khai đã chạy trên hệ thống máy chủ của các trƣờng đại học ở nƣớc Mỹ và đƣợc những cá nhân lập trình trong thời gian rảnh rỗi. Tuy nhiên, do máy tính thời đó khá hạn chế nên những game loại này rất ít và dễ bị quên lãng. Vào năm 1961, một nhóm sinh viên tại Học viện công nghệ Massachusetts, trong đó có Steve Russell, đã phải mất tới 200 giờ để thiết kế trò chơi Spacewar trên máy tính DEC PDP-1 thuộc loại "đời mới" nhất hồi đó. Hai ngƣời tham gia sẽ đấu với nhau, mỗi ngƣời điều khiển một con tàu vũ trụ có khả năng phóng tên lửa. Một lỗ đen ở giữa sẽ tạo ra trƣờng trọng lực lớn để gây khó khăn cho các game thủ. Trò chơi nhanh chóng đƣợc phổ biến trên các máy DEC thế hệ mới và đƣợc "bán" thông qua mạng. Đƣợc giới thiệu tại Phòng trƣng bày khoa học tại Học viện công nghệ Massachusetts năm 1962, đây đƣợc đánh giá là game có ảnh hƣởng và phổ biến đầu tiên trên thế giới. Hình 1.1 - Game Spacewar [10] 1 Video game - đƣợc hiểu là một dạng trò chơi điện tử liên quan đến tính tƣơng tác với giao diện ngƣời sử dụng để tạo ra một phản hồi dƣới dạng hình ảnh trên một thiết bị hiển thị (video). [16] 12
Sau khi Game Spacewar thô sơ ra đời, các nhà phát triể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ật vớ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. 13
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: http://www.trochoivui.com/game/5936/choi-co-vua-8.html Ngƣời chơi Hình 1.2 Game cờ vua[10] 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 14
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. 15
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] 16
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, 17
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. 18
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) 19
Sơ đồ về thiết kế một Educational game: [16] Hình 1.3 - Sơ đồ thiết kế Educational game 20
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: http://www.bigbrainz.com. - Chơi online: http://www.bigbrainz.com/online/select_school.php 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. 21
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: http://www.bigbrainz.com. 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, 22
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: http://download123.vn/sim-city-2000-884-download.aspx 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ố. 23
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: http://www.pappumathgames.com - Mục đích: Dạy học môn toán - Bản quyền: Miễn phí - Link chơi online: http://www.pappumathgames.com/zombie-master-bt/ 24
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: http://boardgamegeek.com/boardgame/22681/atommate 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ế. 25
CHƢƠNG II PHÂN TÍCH VÀ THIẾT KẾ PHẦN MỀM VUI HỌC LẬP TRÌNH PASCAL 26
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 27
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à PI 1 ; 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) 28
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 29
Bảng mô tả STT Thành phần 1 Course 2 Lesson 3 Topic Mô tả 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. 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 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ủ đề Ý 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ả 4 PI 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. 30
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. 31
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 32
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 33
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 34
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 35
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 36
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 37
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 38
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 39
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 40
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 41
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 42
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ó Trong lúc đang chơi ngƣời dùng có thể tạm dừng, tiếp tục, 2 chơi lại màn với câu hỏi khác, quay lại màn hình chính. Ngƣời chơi đƣợc học tập thông qua việc giải quyết các vấn 3 đề 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 Mỗi màn chơi sẽ ấn định các nhân vật, số lƣợng - mức độ - 2 loại câu hỏi khác nhau. Ngƣời chơi đƣợc học tập thông qua việc giải quyết các vấn 3 đề 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. 43
II.4 Mô hình Use Case II.4.1 Mô hình Use Case của trò chơi VUI HỌC PASCAL Chơi game 1 Tiếp tục Chọn kiến thức Chơi game 2 Trợ giúp Chơi game Tạm dừng Người chơi Chọn game mini Chơi game 3 Chơi lại Chọn thuật toán Chơi game 4 Thoát 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 44
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 45
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 Hiển thị màn mở đầu Màn hình mở đầu Chọn sẵn sàng Màn hình chọn game Chọn game Màn hình Game 1 Game được chọn là game 4 [Sai] Màn hình chọn kiến thức Chọn kiến thức Màn hình game 2 [Đúng] Màn hình chọn thuật toán Màn hình game 3 Chọn thuật toán Màn hình game 4 Hình 2.15 Sơ đồ hoạt động chức năng của Use Case Chọn Game Mini 46
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 Màn hình game Chọn Trợ giúp Chọn Tùy chọn Chọn đáp án Màn hình trợ giúp Chọn đóng Chọn hướng dẫn MH hướng dẫn Chọn Thay đổi nhân vật MH chọn nhân vật Chọn Bắt đầu lại MH chọn chương Số câu hỏi được trả lời < số câu hỏi [sai] [đúng] Chọn đóng 1 Chọn đóng 2 Thời gian còn [đúng] [sai] Chọn Đóng Chọn Màn hình chính Hình 2.16 Sơ đồ hoạt động chức năng của Use Case Chơi game 47
II.5 Thiết kế dữ liệu Mô hình CDM TU KHOA MONHOC ID_TU KHOA TENTUKHOA MO TA GHI CHU MA MON HOC TEN MON HOC GHI CHU DIEUKIEN TRONGSO 0,n Y CHINH ID Y CHINH TEN Y CHINH DO QUAN TRONG GHI CHU CHUONG ID CHUONG TEN CHUONG Y NGHIA CHUONG 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 0,n CHU DE CHU DE Y CHINH ID CD YC TEN CD_YC MO TA GHI CHU ID CHU DE TEN CHU DE DO KHO TLDK 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 SO KHOP ID SO KHOP PHANDAU CH PHAN CUOI CH GHI CHU DIENKHUYET ID DK PHANDAU CH PHAN CUOI CH MUCDOKHO GHI CHU TRAC NGHIEM ID_TN CAU HOI MUCDOKHO GHI CHU DAPAN_DIENKHUYET ID DA DK DAP AN DAP AN DUNG GHI CHU DA TRAC NGHIEM ID DA TN DAP AN DAP AN DUNG GHI CHU... 48
o Mô hình PDM TU KHOA ID_TU KHOA int <pk> TENTUKHOA nvarchar(200) MO TA GHI CHU nvarchar(1000) nvarchar(200) MONHOC MA MON HOC varchar(20) <pk> TEN MON HOC nvarchar(50) GHI CHU nvarchar(200) Y CHINH TU KHOA ID_TU KHOA ID Y CHINH int <pk,fk1> int <pk,fk2> DIEUKIEN IDYCHINH int <pk,fk1> IDYCHINHTQ int <pk,fk2> TRONGSO int Y CHINH ID Y CHINH TEN Y CHINH int nvarchar(100) <pk> DO QUAN TRONG int GHI CHU varchar(200) CHUONG ID CHUONG MA MON HOC TEN CHUONG int varchar(20) nvarchar(100) <pk> <fk> Y NGHIA CHUONG nvarchar(100) GHI CHU nvarchar(100) DIEN KHUYET CODE ID DK CODE ID CHU DE int int <pk> <fk> MUCDOKHO int MANCHOI CAU HOI GHI CHU int nvarchar(1000) nvarchar(200) ID DA DK CODE ID DK CODE DAP AN VI TRI GHI CHU DA DK CODE int <pk> int <fk> nvarchar(1000) int nvarchar(200) ID CD YC ID CHU DE ID Y CHINH TEN CD_YC MO TA GHI CHU CHU DE Y CHINH int int int nvarchar(100) nvarchar(max) nvarchar(200) <pk> <fk2> <fk1> CHU DE ID CHU DE ID CHUONG int int <pk> <fk> TEN CHU DE nvarchar(100) DO KHO TLDK GHI CHU int int nvarchar(200) ID LAP GHEP ID CHU DE MUCDOKHO MANCHOI CAU HOI GHI CHU LAP GHEP int <pk> int <fk> int int nvarchar(1000) nvarchar(200) DA LAP GHEP ID_DA_LG int <pk> ID LAP GHEP int <fk> CAU LENH VI TRI GHI CHU nvarchar(1000) int nvarchar(200) SO KHOP TRAC NGHIEM ID SO KHOP int ID CHU DE int PHANDAU CH PHAN CUOI CH GHI CHU nvarchar(1000) nvarchar(max) nvarchar(200) <pk> <fk> DIENKHUYET ID DK ID CHU DE MUCDOKHO PHANDAU CH int int int nvarchar(1000) <pk> <fk> PHAN CUOI CH nvarchar(1000) GHI CHU nvarchar(200) ID_TN ID CHU DE int int <pk> <fk> MUCDOKHO int CAU HOI GHI CHU nvarchar(1000) nvarchar(200) DAPAN_DIENKHUYET ID DA DK ID DK DAP AN int int nvarchar(1000) <pk> <fk> DAP AN DUNG int GHI CHU nvarchar(200) DA TRAC NGHIEM ID DA TN ID_TN DAP AN int int nvarchar(1000) <pk> <fk> DAP AN DUNG int GHI CHU varchar(200) 49
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 50
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ú 51
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ú 52
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ú 53
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ú 54
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ú 55
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 56
Thiết kế xử lý Sơ đồ xử lý Hình 2.17 Sơ đồ xử lý của chƣơng trình 57
Hàm xử lý TÊN HÀM INPUT OUTPUT Ý NGHĨA Dùng để tạo bộ câu TaoNgauNhien(); Tổng số câu hỏi cần load Mảng bộ câu hỏi hỏi ngẫu nhiên trong số các câu hỏi lấy lên từ file dữ liệu XML Dùng để tạo ra bộ ThoiGian() ; Thời gian (số) Bộ đếm thời gian ngƣợc đếm thời gian ngƣợc quy định thời gian cho phép của một trò chơi Dùng để load dữ LoadCauHoi() ; Bộ dữ liệu Dữ liệu đƣợc gán 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 58
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 Số (integer) Trình tự mỗi số tƣợng xuất hiện Dùng để hiển thị ngẫu updatetimesdk(e:timeevent) trƣng cho 1 của các hình nhiên các hình trên sơ hình trên sơ trên sơ đồ đồ khối đồ khối khối 59
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 60
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 61
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 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ú 1 pháp câu lệnh trong Pascal Chọn để đi vào game Hoàn chỉnh chƣơng trình Điền các phần còn trống 2 trong đoạn lệnh để hoàn chỉnh chƣơng trình 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 3 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 62
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 63
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 64
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 65
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 66
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 67
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 68
CHƢƠNG 3 CÀI ĐẶT VÀ THỬ NGHIỆM HỆ THỐNG 69
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 70
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 71
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 72
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 73
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 74
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 75
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 76
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 77
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 78
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 79
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 80
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 81
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 82
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 MH Tùy Chọn thuật toán Quay lại màn hình Bắt đầu lại MH chính Ý tưởng chọn thuật toán Quay lại màn hình chính MH chọn thuật toán MH chính Xem ý tưởng Tùy chỉnh tốc độ 83
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 MH Tùy Chọn Chọn NV Bắt đầu lại MH chính Hướng dẫn Đó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 84
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 85
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 86
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 Hộp thoại thông báo Quay về màn hình chính Qua màn chơi tiếp theo Chơi lại MH chính Tiếp tục Màn đang chơi MH chính Màn chơi tiếp theo 87
CHƢƠNG IV KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 88
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 89
[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]http://inventors.about.com/library/inventors/blcomputer_videogames.ht ml [11] http://www.trochoivui.com/game/5936/choi-co-vua-8.html [12]http://www.educational-freeware.com/freeware/timez-attack.aspx [13]http://teacherswithapps.com/ansel-and-clairs-adventures-in-africa/ 90
[14]http://forums.gamevn.com/showthread.php?572999-Huong-dan-Sim- City-4-Deluxe. [15]http://www.pappumathgames.com/zombie-master-bt/ [16]http://boardgamegeek.com/boardgame/22681/atommate 91