王澤良
(四川儀表工業學校 重慶北碚 404000)
傳統教學是把需要掌握的知識,展示并表達出來,學生通過記憶理解并在實際應用中使用這些知識,從而學到對應的知識技能。然而對于掌握知識這樣的教學目標,可以有不同的教學過程和教學模式,以JAVA學科中的變量類型這個知識點為例,可設計一個簡單的任務闖關文字游戲,針對JAVA變量8種數據類型,提出8道填空題回答變量所占內存大小,正確答完一題才能繼續回答下一題,全部答完表示闖關成功。這樣的教學過程相比知識點的直接闡述,稍微生動一些。還可以進一步設計成“塔防”類游戲,游戲界面對應8架飛機向玩家飛來,每答對一題就發出一枚導彈擊中飛機。還可把這個教學平臺“闖關游戲”作為教學項目內容,讓學生開發這樣的平臺,讓需要掌握的JAVA變量類型知識,在不知不覺中進入學生腦海[1]。教學模式從老師闡述知識點學生去記憶,變成了學生需要完成游戲項目開發去獲取對應的知識點。
本文的游戲開發教學模式是在傳統的項目教學基礎上,把一些沒有聯系的闡述的JAVA知識點的案例,改為實現具體游戲項目的多個小的項目和案例[2]。不但能在這些案例中掌握JAVA相關技術知識,還能在最后得到一個具體的游戲項目,學生之間可以交換運行使用這個游戲,對比自己與別人的優缺點,從而提高JAVA程序設計能力[3]。
本文以一個具體的游戲項目“俄羅斯方塊”為例,該游戲是有七種形狀的方塊,每次隨機一種不斷下落。玩家控制四個方向鍵,實現左右移動或者快速下落或者旋轉方塊。
該游戲屬于簡單的GUI程序,需要在組件上繪圖,因此運用JFrame組件,以及對應的方法創建頂級窗口作為游戲界面。在主類的main方法中完成以下工作,創建 JFrame對象,增加關閉按鈕功能,設置大小并且固定,獲取該對象的容器,把“俄羅斯方塊”類的實例加入該容器,監聽按鍵。
設計一個名為Blok 的“俄羅斯方塊”類,該類繼承自JPanel 并實現 KeyListener接口。用二維數組map[][]存放地圖狀態,三維數組shapes[][][]存放方塊形狀,構造方法中初始化數據啟動定時器,newblok()是新建方塊的方法,用隨機數確定方塊形狀,通過判斷新建的方塊能否移動決定游戲是否結束,newmap()是新建地圖的方法,把數組中邊界元素設置為1,表示需要繪圖。用一個名為blow()的方法判斷方塊能否移動。


public int blow(int x,int y,int type,int state) {//判斷方塊能否移動的方法

public void keyPressed(KeyEvent e) {// 必須實現KeyListener接口的所有方法


本文通過具體的“俄羅斯方塊”游戲開發案例教學,闡述游戲開發教學模式在程序設計課程中的應用。在實際教學過程中,很好的激發了學生興趣,鞏固了所學的JAVA程序設計相關技術知識。學生在該案例教學過程中體會了完成具體工作后的成就感,從書本中知識的數量堆積,到開發出一定功能的項目產品。這個過程就是一個沒有學過JAVA的學生成為掌握該門技術的專業學生的轉變過程。