摘 要:本文提出來了C語(yǔ)言的游戲教學(xué)方法,并給出了可操作性的過程,為C語(yǔ)言教學(xué)提供了一種有效的教學(xué)方法。
關(guān)鍵詞:C語(yǔ)言 教學(xué) 達(dá)成率
中圖分類號(hào):G633.67 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1673-9795(2013)08(b)-0174-01
1 C語(yǔ)言在其他計(jì)算機(jī)課程中的作用
1.1 C語(yǔ)言對(duì)其他課程的影響
C語(yǔ)言課程是一門計(jì)算機(jī)基礎(chǔ)課程,可是這門基礎(chǔ)課學(xué)生反映還是比較難的。為什么選擇這樣一門課作為計(jì)算機(jī)基礎(chǔ)課呢,其主要原因就是目前的相關(guān)計(jì)算機(jī)軟件或系統(tǒng)大多數(shù)是C語(yǔ)言編程,很多語(yǔ)言與C語(yǔ)言有共性,如,JAVA、匯編語(yǔ)言的分支、循環(huán)等功能語(yǔ)句也與其相似,數(shù)據(jù)結(jié)構(gòu)課程中主要應(yīng)用C語(yǔ)言實(shí)現(xiàn)算法,Awk是Unix下一種用于處理文本的腳本語(yǔ)言,該語(yǔ)言也與C語(yǔ)言有很多相似之處,Tcsh的一些功能特性與C語(yǔ)言類似等。
1.2 C語(yǔ)言在專業(yè)課程中應(yīng)用比率
從C語(yǔ)言與其他語(yǔ)言的相似關(guān)系我們覺得學(xué)習(xí)C語(yǔ)言有一般性,在計(jì)算機(jī)類的專業(yè)中,相關(guān)的計(jì)算機(jī)課程與C語(yǔ)言有關(guān)的也不少,其比例以某高職院校的幾個(gè)專業(yè)課程設(shè)置為例列表(見表1)。
2 C語(yǔ)言不同教學(xué)方法的達(dá)成率
C語(yǔ)言在傳統(tǒng)的教學(xué)中隨著課程內(nèi)容的深入,由于枯燥的學(xué)習(xí)而產(chǎn)生厭學(xué)的問題,學(xué)生的學(xué)習(xí)達(dá)成率開始明顯下降不足30%,其主要原因是學(xué)生興趣沒有跟上,學(xué)習(xí)勁頭不足,雖然采用多種教學(xué)方法進(jìn)行鼓勵(lì),但效果仍然不佳。當(dāng)我們采用興趣的游戲教學(xué)方法后,開始就產(chǎn)生濃厚的興趣,學(xué)生對(duì)其實(shí)現(xiàn)的具體方法進(jìn)行研究,開始研究怎么能達(dá)到自己想要實(shí)現(xiàn)的效果。教學(xué)中學(xué)生積極互動(dòng)參與,達(dá)成率提高到60%以上。這樣不但提高了學(xué)生學(xué)習(xí)興趣和動(dòng)手能力,也開發(fā)了邏輯思維,同時(shí)也促進(jìn)了老師的業(yè)務(wù)提高。
3 C語(yǔ)言游戲教學(xué)的過程
3.1 開篇課程的引導(dǎo)
C語(yǔ)言開始就給學(xué)生一個(gè)興趣界面。編寫一段游戲小程序,讓學(xué)生看,然后說明其中幾個(gè)語(yǔ)句的作用,通過修改幾個(gè)不同的參數(shù),就可以得到不同的結(jié)果,讓學(xué)生體驗(yàn)一下這個(gè)樂趣。然后再展示一個(gè)較大游戲程序,說明都是用這類語(yǔ)句命令完成的,學(xué)生會(huì)很好奇的看下去,非常想能自己編寫一個(gè)能玩的程序,打破以前的從printf(\"Hello,world!\");開始的傳統(tǒng)教學(xué)模式。
如:
#include
int main()
{
printf(\"Hello,?world!\"); return 0;
}
換以下方式來替代。
struct move_point
{
int x, y;
int xv, yv;
};
gotoxy(man.x, man.y);
printf(\" \");
然后我們讓物體按其速度運(yùn)動(dòng):
man.x += man.xv;
man.y += man.yv;
運(yùn)動(dòng)后還要判斷物體是否出界,如果出了界,就令物體反彈,即讓它下一刻的速度等于現(xiàn)在的速度的相反數(shù),最后打印出這個(gè)笑臉:
gotoxy(man.x, man.y);
printf(\"%c\b\",2);
通過上面的程序改變,一個(gè)很有趣的程序便出現(xiàn)了,一個(gè)動(dòng)態(tài)的,變化的圖展現(xiàn)在學(xué)生面前,然后提出改進(jìn)的方案,比如改變移動(dòng)的方向。
3.2 給定任務(wù)實(shí)現(xiàn)自我完成
前面我們嘗試著改變教學(xué)的方法,讓學(xué)生建立起興趣,學(xué)生會(huì)問,圖形是怎么移動(dòng)的,按前面提出的問題怎么改變方向。如果提出這樣的問題,就是一大收獲,達(dá)到了第一個(gè)目的,接下來你就開始講起作用的語(yǔ)句了。
下面我們要繼續(xù)前面的游戲功能完善:
讓笑臉順著方向移動(dòng),如果接收的是ESC鍵就退出程序,其他按鍵則忽略處理。接受按鍵我們用以下兩條語(yǔ)句:
while (bioskey(1) == 0);
key = bioskey(0);
然后用switch語(yǔ)句來判斷按鍵以及執(zhí)行相關(guān)操作,如下:
switch (key)
{
case UP:
… break;
case DOWN:
… break;
case LEFT:
… break;;
case RIGHT:
… break;
default:
break;
}
當(dāng)你把改變方向的原理講清楚后,讓學(xué)生去體會(huì)一下自己參與的結(jié)果,學(xué)生開始會(huì)笨手笨腳,一旦完成其成就感就會(huì)產(chǎn)生,會(huì)對(duì)接下來的學(xué)習(xí)產(chǎn)生興趣。
3.3 總結(jié)教學(xué)加深學(xué)習(xí)
當(dāng)老師帶領(lǐng)學(xué)生寫成一個(gè)游戲后,要對(duì)程序進(jìn)行解剖,加深理解語(yǔ)句的功能和參數(shù)作用,回歸到教學(xué)中,并指出,改變某些參數(shù)會(huì)產(chǎn)生的影響,這樣學(xué)生會(huì)去實(shí)踐這些參數(shù)的變化。通過互動(dòng)的學(xué)習(xí),從樂趣中學(xué)習(xí)知識(shí),反過來又將知識(shí)用到學(xué)生感興趣的程序游戲中,起到了培養(yǎng)動(dòng)手能力的作用。教學(xué)中可以打破原來的計(jì)劃,不怕語(yǔ)句的學(xué)習(xí)位置顛倒,因?yàn)檎Z(yǔ)言的學(xué)習(xí)本身就是不限定語(yǔ)句的順序。傳統(tǒng)教學(xué)中也是有語(yǔ)句倒置的,用到就學(xué),用多了就掌握了。
作者簡(jiǎn)介:王鵬(1982—),男,吉林電子信息職業(yè)技術(shù)學(xué)院計(jì)算機(jī)系講師。