南通大學杏林學院 陸 楊 陳騰輝 陶滋洋 張 茜
面向孩童的教育應是有趣的,生動的,形象的。受限于傳統教育模式,知識的傳授是枯燥的。而在互聯網時代的到來,教育的形式變得多種多種,其中游戲這一形式更能為孩童所接受。本作品以游戲為載體,結合軟件編程開發醫學知識科普游戲,在游戲中傳遞有關人體免疫的知識,充分做到寓教于樂。該游戲使用processing語言開發,通過圖形和文字處理實現游戲效果。
在人類社會的發展中,醫學知識的普及可以提高人民健康水平也可以在一定程度上緩解大眾對于某些疾病的恐慌感,對未知的深入理解是人類戰勝恐懼并邁向勝利的重要手段。而孩子作為國家的未來,對他們進行醫學知識教育是尤為重要的,結合當下的環境和形勢,我們團隊調查發現大眾對免疫學的知識知之甚少,免疫學揭示了人體是如果消滅并戰勝病毒的全過程,因此我們以免疫學中的細胞免疫為切入點結合游戲深入淺出的科普醫學知識。
孩童天性好玩,游戲是吸引孩子學習知識最有效的途徑之一,游戲可以激發孩子探索的天性,而且孩子可以在實踐的操作中加深對知識的理解。通過我們團隊的調查發現市面上的醫學科普類游戲較為少見,所以本游戲將以孩童為主要受眾進行醫學知識普及開發。
本游戲所采用的開發工具為PDE,以processing語言為主要編程語言,該語言由美國麻省理工學院媒體實驗室的成員Casey Reas與Ben Fry開發。Processing語言是Java語言的簡化,在圖形處理方面有著顯著的優勢,開發者可以利用該語言便捷的生成文本和修改圖像。
本游戲旨在科普人體免疫醫學知識,考慮到受眾為孩童以及游戲可行性,因此以細胞免疫的過程,為游戲設計開發目標。細胞免疫的工作原理為:抗原呈遞細胞捕捉病毒后,T細胞受到抗原刺激后,增殖,分化、轉換為效應T細胞。效應T細胞與靶細胞接觸進而激發顆粒胞吐,效應T細胞所釋放的穿孔素,在靶細胞表面形成小孔并殺死靶細胞。游戲則在此原理基礎之上進行模擬:玩家操作T細胞,T細胞不斷生成效應T細胞,效應T細胞與抗原接觸,靶細胞死亡,當消滅一定數量的抗原后,玩家取得勝利。
游戲受眾為孩童,因此將科普知識擬人化。將科普與游戲進行穿插,游戲劇情為:一天一種強大的病毒突破了人體的免疫兩道防線:皮膚和體液免疫。人體生命特征危在旦夕,在人體免疫系統最高指揮官的領導下,最后一支防線進行部署。細胞免疫部隊。他們將與病毒進行最后的戰役。此時進入游戲界面由玩家完成對病毒的消滅。
游戲分為四個界面:游戲背景介紹畫面,游戲界面,游戲失敗界面,游戲勝利界面。當玩家游戲失敗時,可選擇重新進入游戲界面或返回游戲背景介紹畫面。
游戲流程圖如圖1所示。

圖1 游戲流程圖
游戲為玩家扮演T細胞,不斷生成效應T細胞,消滅病毒。在人體內隨機生成病毒體,玩家操作T細胞發射效應T細胞,效應T細胞與病毒結合則消病毒。若T細胞碰撞到病毒則游戲失敗,進入游戲失敗界面,重新開始游戲或返回開始界面。玩家通過鍵盤操縱T細胞移動,效應T細胞以一定頻率產生。
3.1.1 T細胞移動算法設計
(1)當玩家進行鍵盤操作時,對鍵盤按鍵進行監聽;(2)當檢測到“上”、“下”、“左”、“右”四個鍵位時對目標進行相應的移動;(3)邊緣檢測,當玩家移動目標超出游戲畫面時,對目標坐標進行檢測,若超出畫面則改變坐標值,使得目標畫面處在游戲畫面邊緣。
算法實現:通過Processing內部封裝的鍵盤函數,載入鍵盤上下左右鍵的ASCILL碼進行監聽。當按下某一方向鍵則在目標相應坐標方向上移動一定像素,實現目標移動的效果。
3.1.2 效應T細胞生成及移動算法設計
(1)當T細胞存在時,則以一定速度產生效應T細胞;(2)效應T細胞的移動方向在X軸上保持不變,在Y軸上變化;(3)當效應T細胞超出游戲畫面時則停止顯示。
算法實現:創建效應T細胞類并通過動態數組不斷生成效應T細胞。根據T細胞的位置生成效應T細胞。效應T細胞讀取T細胞的坐標值在X軸上保持不變,在Y軸上以一定像素逐步減少,并逐幀渲染效應T細胞圖片,產生移動效果。當效應T細胞的Y軸值小于0即超出游戲畫面時,則刪除目標圖片。
3.1.3 病毒生成移動算法設計
(1)在游戲畫面的X軸上隨機生成病毒;(2)病毒的移動速度不固定;(3)病毒的移動方向通過矢量來實現;(4)病毒越界重新創建;(5)病毒碰撞邊緣的彈性效果。
算法實現:利用偽隨機函數生成病毒的X軸坐標,設置病毒位置的矢量值,病毒的速度矢量值。速度變化由隨機函數確定,移動方向則通過位置矢量分解成X軸和Y軸坐標,在Y軸上增加像素,實現移動效果。當檢測到病毒超出游戲畫面則重新創建病毒。當檢測到病毒碰撞游戲畫面的兩邊時,則在病毒的位置矢量上減小病毒的移動速度。
3.1.4 病毒與效應T細胞碰撞檢測及效果顯示算法設計
(1)創建病毒的矩形范圍;(2)返回效應T細胞的中心坐標;(3)檢測中心坐標是否在矩形區域內;(4)根據已碰撞病毒的位置顯示碰撞效果。
算法實現:重寫Java的矩形方法,將病毒位置的橫縱坐標及病毒圖片的長寬傳入矩形中,重寫Point類,將計算過后的效應T細胞的中心坐標傳入Point方法中,調用矩形類中的contains方法若返回值為真則說明效應T細胞擊中病毒。同時將已碰撞病毒的坐標傳入碰撞效果類中在刪除病毒及效應T細胞后顯示碰撞圖片,顯示一段時間后刪除碰撞圖片。
3.1.5 病毒與T細胞碰撞檢測及頁面跳轉算法設計
(1)讀取病毒的坐標及T細胞的坐標;(2)計算病毒與T細胞的距離;(3)若小于兩者圖片的斜邊之和則視為游戲失敗,反之游戲繼續。
算法實現:當效應T細胞擊中病毒時增加分數,游戲界面顯示的得分,當得分滿足目標分數時進入勝利界面,若T細胞被病毒碰撞則進入游戲失敗界面。該算法由Switch選擇結構實現。
游戲界面及代碼如圖2~圖5所示:

圖2 游戲背景介紹界面

圖3 游戲界面

圖4 免疫細胞類代碼

圖5 碰撞檢測代碼
結束語:時代在不斷的進步,教育的方式也應當隨著時代不斷的推成出新。計算機學科無疑是這個時代最閃亮的那顆星,我們一直在探索如何將教育與計算機學科想結合,讓知識的傳播變得更加有趣,新穎,引人入勝并且通俗易懂。通過研究發現游戲這一視覺、聽覺和觸覺糅合在一起的方式是人們學習認真新東西的最好方式之一。我們以游戲為載體傳播知識,讓孩童在游戲中認識和理解知識,這樣新穎的體驗我相信一定會讓孩童對知識產生渴望,讓教育更加進步。
在游戲的開發過程中,我們通過所學知識實現游戲同時也在吸收著新的技術,每日保持學習,不斷改進游戲體驗,對編程軟件的使用也愈發熟練。希望通過我們的努力可以讓這款科普類游戲更加的完善,能做到傳播醫學知識的任務。