Khóa luận Xây dựng phần mềm vui học lập trình pascal

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ế

pdf91 trang | Chia sẻ: builinh123 | Ngày: 30/07/2018 | Lượt xem: 747 | Lượt tải: 4download
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:

  • pdfxay_dung_phan_mem_vui_hoc_lap_trinh_pascal_7019.pdf