摘要:游戲型課件是故事、藝術、音樂、聲音效果、動畫及程序設計技術的有機結合體,它以一種動態的、具有很強交互性的娛樂形式為載體,最終為學習者提供有趣的學習資源。本設計以寓教于樂的設計思想為知道,設計開發了一個基于網絡的游戲型課件。
關鍵詞:網絡;輕游戲;設計;開發
中圖分類號:G642文獻標識碼:A文章編號:1009-3044(2008)36-2993-03
The Design and Development of the Light Lesson Based on Network
WU Li-xia
(Education Science and Techlogy Department, Zhangzhou Normal University, Zhangzhou 363000, China)
Abstract: The development of game lesson is an entertain form that the organic combination of story, art, music, sound effect, animation and programming technology ,to produce a kind of dynamic and a very strong interactiveness. This design is based on the design thought that taught in happy , have designed a game type lesson based on network.
Key words: network; educational game; design; development
正如孔子所說,“知之者不如好之者,好之者不如樂之者”,“寓教于樂”的教育思想已經存在了千百年。隨著電腦游戲產業的發展,教育界人士也產生了這樣的想法:把相對古板的教育活動與令人癡迷的游戲有機結合起來,進而實現“游戲者即是學習者,學習者亦即游戲者”的理想目標。本文基于這樣一個思路,采用java技術,開發了一款游戲型課件。
1 本課件開發的指導思想:輕游戲
目前,國內外的專家學者已有人提出將教育融合于游戲之中,但是目前在這方面提出的主要還是一些理論上的論述,真正用于教育的游戲型課件是少之又少。
總的來說:將游戲用到課堂中存在著不少的問題:1) 教師很難快速判斷哪些游戲適合教學使用。2) 教師缺少時間去熟悉游戲,因此不能更好地發揮它的用處。3) 由于游戲中存在大量與學習不相關的內容,因此會浪費課堂時間。
為了克服這些障礙,有人提出了這樣的觀點:“輕游戲”將會是教育游戲的希望和未來。所謂“輕游戲”,首先,它是一個教育軟件,其中的內容和任務都 是和學習相關的。當任何人看到“輕游戲”時,他首先會認為這是一個教育軟件,而不是一個游戲。其次,它必須具備主流游戲的某些特征,充分利用主流游戲的內在動機,如挑戰、好奇、幻想、控制、目標、競爭等。簡單地說, “輕游戲”=教育軟件+主流游戲的內在動機。
2 系統設計與分步實施
2.1 系統開發技術簡介
本設計主要是采用JDBC(Java Database Connection)技術。 在Java語言中,JDBC是應用程序與數據庫溝通的橋梁, 即Java語言通過JDBC技術訪問數據庫。JDBC為數據庫應用開發人員、數據庫前臺工具開發人員提供了一種標準的應用程序設計接口,使開發人員可以用純Java語言編寫完整的數據庫應用程序。
同時,本設計采用了一定的MVC(Model-View-Controller)分層技術使得代碼修改起來較方便,MVC即模型-視圖-控制器,它是Web應用中常用的設計模式。使用MVC應用程序被分成三個核心部件:模型、視圖、控制器,它們各自處理自己的任務。
2.2 整體功能流程的設計
圖1為游戲整體功能流程圖,網頁的整體流程主要由登錄頁面、注冊頁面、用戶登錄之后進入choice頁面、查看排行板、修改用戶信息、游戲頁面這幾個模塊組成。2.3節主要講述前面五個模塊下文稱之為游戲外圍模塊,游戲頁面將在2.4節詳細闡述。
2.3 游戲外圍模塊的設計與實現
2.3.1 登錄頁面
1) 用戶登錄系統,提供給游戲者進入游戲。
在login.jsp中寫一個form,把網頁上用戶填寫的信息傳入loginAction中,然后在loginAction中對傳入的值與數據庫里的值進行對比判斷,檢查此用戶是否存在,用戶密碼是否正確,如果用戶與密碼都通過了就進入choice頁面。login中有用到自己編寫的一個類:User,調用User類里面的userService.getUser函數,userService.getUser函數,這個函數主要是實現與數據庫連接的大部分功能。
在login.jsp中還要寫一段對用戶或密碼錯誤的處理,另外考慮到有些人可能會沒有填寫完整,對于這個意外也要做相應的處理。
2) 在主頁上還顯示游戲說明,讓游戲者清楚游戲規則。為了使文字顯示得更完美,我采用Photoshop圖像處理進行處理,并采用描邊效果使得文字與背景更融合。
3) 對于第一次玩本游戲的用戶,本設計提供注冊頁面,用戶點【注冊】就可以注冊一個新的用戶。進入register.jsp頁面。
2.3.2 注冊頁面
注冊頁面的原理與登錄頁面原理類似,都是寫一個form傳入相應的*action. java中,在*action. java中與數據庫進行處理,錯誤則返回本頁面,正確則把信息寫入數據庫并跳轉到下一頁面registerResult。同樣的,對于用戶在register.jsp中輸入的信息不完整也做了相應的處理。
注冊頁面中主要讓用戶注冊:真實姓名、用戶密碼、確認密碼、用戶昵稱及用戶年級。在register中除了檢查是否填寫完整,這里還提供repassword,再次確認用戶密碼。
為了用戶的唯一性,我主要模仿QQ的注冊方式,當用戶注冊好自己的信息時,跳轉到registerResult頁面中,數據庫會自動產生一個ID號,在registerResult頁面上根據這個ID號把數據庫里有關這個ID號的所有信息顯示出來,以后用戶注冊就是用這個ID號碼和自己填寫的密碼進行登錄。
2.3.3 用戶登錄之后進入choice頁面
在這個頁面中,用戶可以選擇不同難度的游戲,分為初級、中級和高級,初級對應的是一二年級的題目難度,中級對應是的三四年級的題目難度,高級對應是的五年級及以上的題目難度。如果用戶是一年級他可以跨難度選擇,可以挑戰比自己年級難度高的游戲難度,類似的,如果用戶是三年級就只能選擇中級和高級,初級將被屏蔽掉,在choice頁面不顯示出來,這主要是為了防止高年級用戶玩低年級的題目難度來刷積分。
2.3.4 查看排行榜

圖1 游戲整體網站功能流程圖

圖2 游戲主體流程圖

圖3 登錄界面圖

圖4 游戲場景界面

圖5 學習界面
在choice頁面中可選擇查看【排行榜】,進入rank頁面,rank頁面主要是從數據庫用查詢語句ResultSet rest = s.executeQuery(\"selecttop 10 * from staff order by score desc,name\");按積分查得前10名用戶信息,顯示在排行榜上。
2.3.5 修改用戶信息
同時在choice頁面中還可選擇【修改用戶信息】進入updateuser頁面,updateuser頁面上主要是先從session中取得現在用戶信息,包括真實姓名、用戶密碼、確認密碼及用戶昵稱這幾個項目。
不提供用戶年級的修改,以防止用戶先用低年級注冊一個用戶,進入游戲,刷得高積分后再改為高年級,這個對有些用戶是不公平的,這樣也破壞了一個游戲的條件規則,條件規則是指當游戲有了一定的行為模式之后,接著就必須制定出一系列的條件規則。簡單來說,這些游戲的條件規則就是大家必須去遵守的游戲行為守則,只要是大家一致認同的游戲行為,在游戲中,玩家就必須遵守它,如果不遵守這種游戲行為,那么就失去了公平性。
用戶修改信息流程如下:
1) 在Web中的form中輸入信息登錄;2) server服務器向數據庫請求查詢user;3) 數據庫返回user給服務器;4) 在server服務器上將user存入session中;5) 從session中取得user并顯示在form中;6) 修改form中user的屬性,即修改用戶信息;7) 將form中user的屬性提交到server服務器;8) 根據form中user的屬性修改session中的user的屬性;9) 將user的屬性保存到DB數據庫中。
2.4 游戲主體流程及實現原理
2.4.1 游戲主體流程
如圖2所示:用戶先選擇想要玩的游戲難度,然后進入迷宮,每一關都有一定的時間限制,用戶通過鍵盤上的上下左右鍵控制用戶的活動。學習者扮演游戲中的找失落的寶藏的小人物,去尋找迷宮中所放的失落寶藏。迷宮中有很多不同的寶藏,學習者只有找到放在出口的最大的寶藏才能過關,并將得到一定的獎勵,同時學習者的積分也得到一定的提升。學習者在玩迷宮的過程中,隨著時間的流逝,他的生命線將越來越少,甚至于死亡。所以作為學習者,一方面要努力找出迷宮中的寶藏,一方面還要面對路途中出現的障礙及陷阱,碰到這些障礙或陷阱時會跳出問題,只有他答對了,他才可以在不減生命值的情況下過去,否則生命值會減得更快。同時還有一些用來供學習者途中補充生命值的水果,用戶可以通過吃水果,回答問題,回答正確就可以得到相應的生命值,及相應的其它的獎勵,從而贏得更多的時間來完成他的迷宮,完成這個闖關游戲,同時學習到相應的知識。
2.4.2 具體實現
1) 角色建設
在choice中選擇好游戲難度之后進入了game游戲界面。本設計的整體思路是這樣的:開發一個以迷宮為主體的游戲,同時讓學習者扮演游戲中的找失落的寶藏的小人物,去尋找迷宮中所放的失落寶藏,角色建設主要是用Photoshop圖像處理軟件進行處理,處理一張gif圖片,在這個圖片中包含人物向上、向下、向左、向右的樣子。
2) 游戲主體實現原理
游戲applet讀取session中的用戶信息并顯示,同時把用戶選擇的當前游戲難度也顯示在game頁面中,在maze1中還要寫一個時間記數器,來表示生命線,每關的生命初值有一定的差異。通過生命值的獲取與丟失體現游戲的激勵,順利闖關則獲取生命值,否則生命值停留在某一個點上,或者由于沒有得到正確的答案而使生命值減少。
當生命值為0時就表示用戶已處在“死亡”狀態,即游戲結束,此時會調用ResetDialog跳出一個對話框提示:您已死亡,是否重新闖關?代碼寫在ResetDialog.java中。當碰到陷阱或者吃到水果時,會先調用SubjectDialog跳出一個對話框讓學習者選擇要回答哪個科目的題目,然后把這個值傳給QuestionDialog,調出數據庫中隨機的相關題目。
2.5 數據庫設計
采用SQL server 2000數據庫,建立一個名為biyeshiji的庫,根據數據需求和數據分析建立了兩個類型的數據表:用戶信息表staff、題目表。用戶信息表staff包括以下這幾個字段:id、login_name、name、password、score、grade如圖5所示。題目表分為英語初級難度系數為1的english_grade1_1,英語初級難度系數為2的english_grade1_2,及英語中級、高級等,同樣規則建立數學相應表格結構。
3 課件整體實現效果
3.1 登錄界面
如圖3,這部分主要是用戶登錄,在這個界面上呈現游戲說明,讓游戲者能在第一時間了解到如何來玩這個游戲,同時為未注冊的用戶提供注冊。
3.2 游戲場景界面
如圖4,游戲畫面的實現主要分幾個層次來完成的:地面、障礙物、水果、角色,按照一定的層次和順序把它們依次顯示到屏幕上。本設計是以數組的方式在Web中實現迷宮,為了實現水果被吃了的效果,本設計采用兩個數組,第一個數組中的0是表示用戶可以走的地方,第二個數組是在第一個數組的基礎之上,把第一數組的部分0改成代表水果的數字,在用戶可以走的地方放上水果,然后,當用戶碰到水果時,把第二個數組中的相應數字改為0,就實現了水果被吃了。
3.3 試題界面
如圖5,用戶學習的科目也具有一定的選擇性,用戶可以選擇回答不同科目的問題,從數據庫中調用相應的題目,如果學習者回答不上來,可以選擇【問題太難了,跳過】;回答完了,問題答案選項將變為不可選狀態,同時對學習者的選擇做出反饋,回答正確與否,正確答案是什么。
4 課件的測試分析與總結
測試環境要求如下:
服務器硬件最低配置:cpu賽揚2.0,內存512;服務器軟件配置SQL server 2000,tomcat。
客戶端硬件最低配置:cpu賽揚1.0,內存128;客戶端軟件配置:裝有JAVA虛擬機插件的IE瀏覽器。
可以把本機配置為服務器直接登陸即可使用;也可以在局域網中,把任意一臺配置相應軟件環境的電腦作為服務器使用。本人在設計過程中這兩種測試方式都進行過測試,效果正常,反應良好。
當然這個游戲型課件還是存在著一些不足之處:目前的這個設計系統只能在SQL中把題目添上去,而沒有把教師直接在網頁中輸入題目的環節加進去。
本游戲型課件以“輕游戲”的思想為指導,作了一個小小的嘗試,相信越來越多的人會關注并投入到游戲型課件的設計開發中來。
參考文獻:
[1] Petchel T.JAVA 2 游戲編程[M].晏利斌,孫淑敏,邵榮,譯.北京:清華大學出版社,2005:1-150.
[2] 榮欽科技.JAVA 2 游戲設計[M].北京:清華大學出版社,2004:1-325.
[3] 段翔旺.Flash MX 2004互動游戲設計教程[M].北京:清華大學出版社,2005.
[4] 羅運模,王珊.SQL Server 數據庫系統基礎[M].北京:高等教育出版社,2000:1-340.
[5] 薩師煊,王珊.數據庫系統概論[M].北京:高等教育出版社,2000:1-289.
[6] 劉艷麗.關于教學游戲型課件設計的探討[J].武漢職業技術學院學報,2005(6):54-60.
[7] 吳瓊,張養力,石雋義,等.基于網絡的游戲型課件在教學中的應用[J].基礎教育,2004,6(6):61-63.
[8] 尚俊杰,李芳樂,李浩文.“輕游戲”:教育游戲的希望和未來[J].電化教育研究,2005,1(1):24-26.
[9] 段凌.教學游戲軟件的設計與實現[D].上海:華東師范大學教育信息技術系,2006.
[10] 陳炎.電腦游戲對教學的啟示[J].教學與管理,2002,5(10).
[11] 楚學娟,楊雪.電腦游戲在教育領域內的研究現狀分析及其應用途徑[J].現代教育科學,2006(1):78-81.
[12] 黃小玉.由網絡游戲的火爆看教育游戲軟件的發展機遇[J].中小學信息技術教育,2004(9):7-8.