利用AI-TANK增加C語(yǔ)言教學(xué)的趣味性
也許每一位長(zhǎng)期進(jìn)行的C語(yǔ)言教學(xué)的教師,都會(huì)有這樣的感受,即C語(yǔ)言這門課程的邏輯性強(qiáng),知識(shí)枯燥,不少學(xué)生常常因其難度大而止步不前或中途放棄。因而,我作為一名C語(yǔ)言課的教師,為了提高學(xué)生學(xué)習(xí)C語(yǔ)言的興趣,常常絞盡腦汁,采用各種方法,來(lái)提高課堂教學(xué)的趣味性,但總是難以如愿。
后來(lái),無(wú)意之中,接觸到了一款名為AI-TANK坦克機(jī)器人對(duì)戰(zhàn)的系統(tǒng),頓時(shí)眼前一亮。這是一款把語(yǔ)言學(xué)習(xí)融合于機(jī)器對(duì)戰(zhàn)游戲中的軟件,學(xué)習(xí)者可以在其中創(chuàng)造一個(gè)機(jī)器人去和別人的機(jī)器人進(jìn)行戰(zhàn)斗,從戰(zhàn)斗的成敗中,總結(jié)與自己所編的程序的縝密度及正確性,從而可以在游戲中,提升自己的語(yǔ)言編寫水平。用這種寓教于樂(lè)的用競(jìng)技比賽的游戲方式進(jìn)行學(xué)習(xí)和思維訓(xùn)練,不僅打破了傳統(tǒng)教學(xué)的框架,讓學(xué)習(xí)者在玩游戲的同時(shí)來(lái)學(xué)習(xí)編程,而且在游戲戰(zhàn)斗的期間來(lái)提升編程的能力。同時(shí),AI-TANK還“百搭”喲,無(wú)論你是用Java、C、C++還是C#......等各種編程語(yǔ)言都可以憑借自己的坦克機(jī)器人和使用其他語(yǔ)言者同臺(tái)互相競(jìng)技。這在語(yǔ)言學(xué)習(xí)中是難能可貴的。傳統(tǒng)的游戲和教學(xué)格格不入的觀念被AI-TANK打破,利用人類愛(ài)競(jìng)技、善挑戰(zhàn)的特性,這樣一款游戲則成為了教學(xué)珍貴的工具。
以下,我就把我將AI-TANK如何融于我的課堂教學(xué)過(guò)程的三步曲逐一進(jìn)行介紹。
第一步 熟悉AI-TANK,向?qū)W生介紹什么是AI-TANK
AI-TANK是一個(gè)軟件系統(tǒng),是一個(gè)平臺(tái),這個(gè)平臺(tái)集中了虛擬坦克機(jī)器人運(yùn)行平臺(tái)、坦克機(jī)器人程序圖形編輯平臺(tái)、坦克機(jī)器人程序代碼編輯平臺(tái)于一體。其中的虛擬坦克機(jī)器人運(yùn)行平臺(tái)airobot則是AI-TANK的核心平臺(tái)。通過(guò)airobot這個(gè)平臺(tái),學(xué)習(xí)者所編的C語(yǔ)言代碼才能以虛擬坦克機(jī)器人的形象展現(xiàn)出來(lái),這是一個(gè)關(guān)鍵所在,因?yàn)橹挥羞@樣,才能把枯燥的C語(yǔ)言程序置換成了虛擬坦克機(jī)器人,從而化枯燥的語(yǔ)言學(xué)習(xí)界面為神奇機(jī)器人世界。同時(shí)在此平臺(tái)下還可以完成選擇什么樣的坦克機(jī)器人、可以按自己的喜好來(lái)設(shè)置比賽環(huán)境等各種操作,并可以在此平臺(tái)下欣賞比賽的全過(guò)程和得出最終比賽結(jié)果,最重要的是,坦克機(jī)器人的一舉一動(dòng),全部由自己所編程序來(lái)體現(xiàn)。這樣才能把學(xué)生的注意力牢牢吸引于此。
在這樣的氛圍下,學(xué)生們自然學(xué)習(xí)興趣濃厚,都想馬上體驗(yàn)用自己能力所編出來(lái)的坦克機(jī)器人,在競(jìng)技場(chǎng)景中會(huì)有什么樣的表現(xiàn)。
第二步 入門AI-TANK,擁有自己的坦克機(jī)器人
雖然學(xué)生們接受了這款游戲,但是要能夠上手,卻需要掌握一定的C語(yǔ)言基本功,教師首先要教會(huì)學(xué)生一些包括C語(yǔ)言代碼的基本格式、AI-TANK特有的預(yù)處理文件的調(diào)用及熟悉、以及更多的需要記憶并熟知的系統(tǒng)自定義的一系列函數(shù)的知識(shí)。其中這些名為Action的動(dòng)作處理函數(shù),學(xué)習(xí)起來(lái)需要一定的基礎(chǔ),這些動(dòng)作可以在特定的時(shí)候由系統(tǒng)調(diào)用,而無(wú)需專門進(jìn)行某項(xiàng)動(dòng)作的編程,比如:onRoundBegin函數(shù)、onHitWall函數(shù)、onHitedByBullet函數(shù)等,他們可能在機(jī)器人撞倒場(chǎng)地邊緣的時(shí)候由系統(tǒng)調(diào)用用,也可能在撞到其它機(jī)器人時(shí)觸發(fā),或者是當(dāng)機(jī)器人被別人的子彈擊中時(shí)執(zhí)行。
此外,還需要知道系統(tǒng)的運(yùn)行和狀態(tài)的變化都是離散的這一知識(shí)點(diǎn),計(jì)算機(jī)的數(shù)據(jù)就是數(shù)字化的,所以就拿機(jī)器人的方向來(lái)說(shuō),如果機(jī)器人的轉(zhuǎn)動(dòng)速度是5度/單位時(shí)間,現(xiàn)在的方向是10度,那么在下一個(gè)單位時(shí)間機(jī)器人的方向才會(huì)發(fā)生變化,變成15度,這種離散的方向并沒(méi)有連續(xù)的變化,而是直接從10度一下子跳變到了20度。當(dāng)學(xué)生們知道這些之后,就可以創(chuàng)建一些屬于自己的坦克機(jī)器人。
之后,讓學(xué)生運(yùn)行AI-TANK,選擇“比賽”->“新建”,彈出“新建比賽”對(duì)話框,在“機(jī)器人選擇”頁(yè)上,先選擇包,然后選擇機(jī)器人“Circle”,然后按“添加”按鈕,這樣機(jī)器人“Circle”就被選擇為機(jī)器人了,之后,讓學(xué)生進(jìn)行模擬演示Circle機(jī)器人的特性。在機(jī)器人繞圈中,學(xué)生們就學(xué)習(xí)了move和turn函數(shù),對(duì)坦克機(jī)器人有了初步的感受。
第三步 在AI-TANK的海洋中編程,讓坦克動(dòng)起來(lái)
在掌握基本的建立方法,并擁有能夠進(jìn)行簡(jiǎn)單行進(jìn)動(dòng)作的坦克機(jī)器人之后,學(xué)生們會(huì)更加想把自己的機(jī)器人進(jìn)行能力的提升,這就如同現(xiàn)在游戲中寵物的進(jìn)化。這時(shí)候,更多的邏輯算法即使再深?yuàn)W及枯燥,一旦有了機(jī)器人這個(gè)寵物,學(xué)生勢(shì)必會(huì)更加用心的攫取知識(shí)中的養(yǎng)份。此時(shí),教師可以有目的任務(wù)引導(dǎo)。向?qū)W生介紹一個(gè)實(shí)現(xiàn)方法簡(jiǎn)單叫Dolly的坦克機(jī)器人,這個(gè)名字由克隆羊多利而來(lái),因?yàn)樗麜?huì)克隆敵人的運(yùn)動(dòng)。教師和學(xué)生一起分析算法,這包括發(fā)現(xiàn)敵人的方向,并計(jì)算敵人的方向,然后在敵人方向正負(fù)40度范圍內(nèi)隨機(jī)發(fā)彈,同時(shí)轉(zhuǎn)到與敵人對(duì)稱的方向與敵人保持速度一致。分析完成后,下達(dá)任務(wù),讓學(xué)生自己的機(jī)器人也擁有Dolly的能力。在這樣的一次次的任務(wù)中,學(xué)生們從而能夠?qū)W習(xí)了不同的算法,掌握C語(yǔ)言的用法及精髓。
最后,當(dāng)你在閃躲炮彈和執(zhí)行精確攻擊的演練中學(xué)會(huì)數(shù)組、函數(shù)、對(duì)象、類…這些知識(shí)后,我們發(fā)現(xiàn)AI-TANK不僅把游戲風(fēng)潮變成了教學(xué)工具,更可喜的是學(xué)生對(duì)C語(yǔ)言的學(xué)習(xí)興趣得到了有效的提升。
下一篇::智能時(shí)代下計(jì)算機(jī)專業(yè)建設(shè)的思考
我有話說(shuō)
最新文章
- 1關(guān)于開展2016年宿遷市職業(yè)教
各縣(區(qū))教育局職成教科、職社教研室,市直職......
- 22017年江蘇省職業(yè)學(xué)校技能大
2017年江蘇省職業(yè)學(xué)校技能大賽第三號(hào)公告由......
- 3關(guān)于舉辦2016年宿遷市職業(yè)學(xué)
宿遷市教育局文件宿遷市財(cái)政局宿遷市人力資......
- 4利用AI-TANK增加C語(yǔ)言教學(xué)的
也許每一位長(zhǎng)期進(jìn)行的C語(yǔ)言教學(xué)的教師,都會(huì)......
- 5智能時(shí)代下計(jì)算機(jī)專業(yè)建設(shè)的
科技興國(guó),時(shí)光已經(jīng)進(jìn)入了智能時(shí)代?!盎ヂ?lián)網(wǎng)......