文章編號:1672-5913(2008)18-0125-02
摘要:本文介紹了一種免費的編程游戲軟件AI-TANK及其在“C語言程序設(shè)計”課程中的應(yīng)用。AI-TANK是一種支持C/C++語言、JAVA語言的編程游戲軟件。用戶編寫程序控制軟件中坦克機器人同其他機器人對戰(zhàn)。學(xué)生在此過程可主動地學(xué)習(xí)編程及其他知識。
關(guān)鍵詞:游戲教育理念;AI-TANK;教學(xué)方法;
中圖分類號:G642 文獻標識碼:B
“游戲教育”是一種用寓教于樂的高效學(xué)習(xí)方法,利用人“愛玩”的天性,讓學(xué)習(xí)者在“玩”中學(xué)習(xí),從而充分調(diào)動學(xué)習(xí)者的學(xué)習(xí)興趣,使學(xué)習(xí)效果得到極大提高的全新教育理念。AI-TANK是一款編程游戲軟件。使用者通過編寫程序代碼控制軟件中的坦克機器人與其他玩家編寫的機器人對戰(zhàn),以此達到學(xué)習(xí)計算機語言及其他相關(guān)知識的目的。本文探討在“C語言程序設(shè)計”課程中應(yīng)用該軟件的一些方法。
1AI-TANK簡介
AI-TANK游戲教育平臺是一套全新的教育平臺,打破了傳統(tǒng)的教育模式,以寓教于樂的方式讓學(xué)生在非壓迫的競爭中逐步提高自己的計算機程序設(shè)計水平和相關(guān)數(shù)學(xué)、物理等科學(xué)知識的應(yīng)用水平。學(xué)生通過軟件坦克機器人控制接口控制機器人的動作,編制好的機器人可以放到軟件模擬戰(zhàn)場上與其他人編寫的機器人對戰(zhàn)。在對戰(zhàn)過程中直接且深切地體會程序語言的作用,并從中激發(fā)學(xué)生興趣。而學(xué)生可以不斷學(xué)習(xí)新的程序設(shè)計方法和機器人控制算法來提高機器人的“智力”。
使用AI-TANK的過程是有趣而不是乏味的,由此帶來與傳統(tǒng)教學(xué)方式完全不同的效果。它提高了學(xué)生的學(xué)習(xí)興趣并加深了對知識點的理解程度。整個過程是自主的,而非壓迫的。在使用AI-TANK的過程中學(xué)生有3個輪換的角色,如圖1所示。
●學(xué)習(xí)者——學(xué)習(xí)程序和算法設(shè)計的人。
●使用者——使用AI-TANK進行實踐的人。
●競技者——將學(xué)習(xí)實踐成果發(fā)布出去與別的競技者進行比賽的人。
由上圖可以看出這是一個循環(huán)的過程,競技者會再次變成學(xué)習(xí)者、使用者。因為在和別人的坦克機器人對戰(zhàn)時可能會被擊敗,這就促使學(xué)生再次去學(xué)習(xí)更加優(yōu)秀的程序和算法。
在這樣一個重復(fù)的過程中,不知不覺地提高自己知識水平。AI-TANK就是通過利用游戲的這種互動性和易操作性,讓學(xué)生在玩自己編寫的機器人時運用知識,提高能力。圖2為AI-TANK軟件的使用過程。
2AI-TANK軟件構(gòu)成
AI-TANK軟件分為網(wǎng)絡(luò)版和單機版兩個不同版本,網(wǎng)絡(luò)版包含服務(wù)器和客戶端。本文僅介紹單機版的構(gòu)成。AI-TANK由3部分構(gòu)成:虛擬機器人運行平臺AIRobot、機器人程序圖形編輯器RoboExp、機器人代碼編輯器CodeCanvas。另外AI-TANK還支持使用其他程序編輯器。這樣使用者可以用自己熟悉的編輯器進行代碼編寫,再使用虛擬機器人平臺執(zhí)行。AI-TANK軟件結(jié)構(gòu)如圖3所示。
虛擬機器人運行平臺AIRobot是AI-TANK的核心平臺,只有通過它,代碼才能以虛擬機器人的形象表示出來??梢栽诖似脚_下完成選擇機器人、設(shè)置比賽環(huán)境等各種操作,并在此平臺下觀看比賽過程和比賽結(jié)果。虛擬機器人運行平臺界面如圖4所示。
而機器人程序圖形編輯器RoboExp采用圖形化、模塊化編程語言,全部功能模塊使用圖標表示,如圖5。用戶只需簡單地拖放相應(yīng)的功能模塊圖標,繪制出流程圖,機器人快車就能自動生成可視化C語言源代碼,幫組用戶輕松完成編程,快速掌握如何使用AI-TANK機器人。極大地方便初級用戶入門。
機器人代碼編輯器CodeCanvas是程序代碼編輯器,通過手工編寫代碼來生成機器人程序,如圖6。在編寫代碼完成后直接使用AIRobot編譯代碼并最終執(zhí)行。該代碼編輯器適用于中高級用戶。
3AI-TANK在程序設(shè)計課程中的應(yīng)用
在實際教學(xué)中可以分三個方向利用AI-TANK教育軟件的優(yōu)勢提高學(xué)生的編程能力。
首先,在引入很多C語言知識點時可以利用AI-TANK來演示這些知識點的作用,以提高學(xué)生的感性認識。比如介紹函數(shù)和指針時。
第二,AI-TANK教育軟件可以用于課程的實踐環(huán)節(jié)。當學(xué)生具備一定的C語言基礎(chǔ)后可以給學(xué)生安排一些任務(wù)。學(xué)生用C語言控制坦克機器人來完成某些特殊任務(wù)。比如編程控制機器人按一定路徑移動。
第三,在學(xué)生的課余時間組織AI-TANK機器人聯(lián)賽。讓學(xué)生用自己編寫的機器人相互對戰(zhàn),相互交流編程的經(jīng)驗。以此營造濃厚的學(xué)習(xí)交流氣氛,激勵學(xué)生持續(xù)的學(xué)習(xí)動力。
另外,AI-TANK還可以被C語言課程以外的其他課程繼續(xù)使用,比如數(shù)據(jù)結(jié)構(gòu)、人工智能、神經(jīng)網(wǎng)絡(luò)等等。這樣該軟件可以成為學(xué)生理論知識的一個實踐平臺。
4結(jié)束語
AI-TANK以其獨特的設(shè)計思想和軟件結(jié)構(gòu),使其在C語言程序設(shè)計教學(xué)中比普通程序開發(fā)軟件更具適用性。對于學(xué)生來說AI-TANK可以很直接形象地展示程序的執(zhí)行結(jié)果,并且可以激發(fā)學(xué)生的興趣,使其具有主動學(xué)習(xí)的動力。另外由于AI-TANK是一個純軟件平臺,所以特別適合初次接觸學(xué)習(xí)C語言而且沒有其他知識背景的學(xué)生。任何有興趣的學(xué)生可以利用課后時間來使用。本文筆者通過在“C語言程序設(shè)計”課程中對AI-TANK的應(yīng)用體會到游戲編程軟件對提高學(xué)生編程能力的作用,也從中尋找出一條培養(yǎng)學(xué)生編程興趣的新路!
參 考 文 獻
[1] 鐘民.C語言學(xué)習(xí)利器—AI-TANK機器人[M]. 北京:中國水利水電出版社,2007.
[2] 王巍,張甲秋.案例教學(xué)法在C語言教學(xué)中的應(yīng)用[J].黑龍江生態(tài)工程職業(yè)學(xué)院學(xué)報,2007,(3).
[3] 孫鋒.“C語言程序設(shè)計”教學(xué)的幾點體會[J].計算機與信息技術(shù),2006.
[4] 譚浩強. C 程序設(shè)計(第二版)[M]. 北京:清華大學(xué)出版社,1999.