国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

游戲案例在中職C#課程中的設(shè)計(jì)和開發(fā)

2017-12-27 16:01:32宋超徐敏??
考試周刊 2017年43期
關(guān)鍵詞:中職課程

宋超+徐敏??

摘要:本文把游戲案例引進(jìn)中職C#課程的教學(xué)中,通過知識(shí)點(diǎn)的層層推進(jìn)引導(dǎo)學(xué)生完成任務(wù),游戲本身也給學(xué)生帶來了愉悅和成就感,實(shí)踐證明這樣的做法對(duì)學(xué)生掌握計(jì)算機(jī)語言和提高學(xué)習(xí)興趣有著積極的作用。

關(guān)鍵詞:C#課程;中職;游戲案例

一、 引言

目前各級(jí)各類學(xué)校在計(jì)算機(jī)專業(yè)中往往都開設(shè)C#課程,但這些課程的教學(xué)過程卻有著一定不足之處尤其是中職學(xué)校,游戲是學(xué)生的愛好,也是人類的天性,游戲中能讓人的心理得到“補(bǔ)償”從而體會(huì)到現(xiàn)實(shí)生活得不到的快樂,目前很多學(xué)者在進(jìn)行C#課程改革時(shí)試圖引入游戲內(nèi)容以提高學(xué)生興趣。本文則通過一個(gè)基于C#語言的飛機(jī)游戲案例設(shè)計(jì)讓學(xué)生們逐步掌握C#的各個(gè)知識(shí)點(diǎn),直觀的感受到游戲帶來的快樂從而更好的達(dá)到教學(xué)效果。

二、 游戲選題

眾所周知游戲之所以吸引人主要是因?yàn)樗募?lì)機(jī)制,所以在選擇游戲時(shí)必須考慮到這一點(diǎn),同時(shí)鑒于學(xué)生的學(xué)習(xí)能力選取如坦克大戰(zhàn)、貪吃蛇、連連看、飛機(jī)等一些小程序作為課程的主要內(nèi)容,然而正所謂“麻雀雖小五臟俱全”,它涵蓋了大部分C#知識(shí)點(diǎn)。下面我們就以飛機(jī)游戲?yàn)槔勔幌氯绾卧O(shè)計(jì)教學(xué)案例。

三、 游戲設(shè)計(jì)

針對(duì)飛機(jī)游戲筆者在vs2012中設(shè)計(jì)了gameui.cs(界面類)、background.cs(背景類)、plane.cs(飛機(jī)類)、planelifes.cs(飛機(jī)生命類),planeboom.cs(飛機(jī)爆炸類),bullet.cs(子彈類)、enemy.cs(敵人類),enemybullet.cs(敵人子彈類),boss.cs,bossbullet.cs(boss子彈類),bosslife.cs(boss生命值類)等。按照學(xué)生接受知識(shí)的前后順序安排以下四個(gè)教學(xué)進(jìn)階:

進(jìn)階一:完成飛機(jī)背景的顯示與移動(dòng)

首先設(shè)計(jì)背景類background.cs,背景類包含移動(dòng)、顯示、播放音樂等方法。其次在界面類中添加背景對(duì)象及顯示方法。值得一提的是通過查閱資料筆者在初始化游戲界面時(shí)添加一段雙緩存代碼:public GameUI(){SetStyle(ControlStyles.

UserPaint,true);SetStyle(ControlStyles.AllPaintingInWmPaint,true);SetStyle(ControlStyles.DoubleBuffer,true);InitializeComponent();…這樣可以消除飛機(jī)游戲背景移動(dòng)出現(xiàn)的“卡頓”現(xiàn)象,這個(gè)進(jìn)階中涉及到基礎(chǔ)類的創(chuàng)建、類對(duì)象的實(shí)例化和調(diào)用還有雙緩存消除界面卡頓等知識(shí)。

進(jìn)階二:利用鍵盤控制飛機(jī)的移動(dòng)

首先,設(shè)計(jì)飛機(jī)類plane.cs和背景類類似需要定義位置、大小等變量、創(chuàng)建顯示、移動(dòng)等方法,這里值得強(qiáng)調(diào)的是飛機(jī)類在初始化時(shí)需要添加與游戲界面GameUI 的KeyDown事件的關(guān)聯(lián)GameUI.gameform.KeyDown+=newSystem.Windows.Forms.KeyEventHandler(plane_move)其次設(shè)置在界面類中添加飛機(jī)對(duì)象如:public partial class GameUI:Form{public static planepl;…..public GameUI(){pl=new plane();}private void GameUI_Paint(object sender,PaintEventArgs e){pl.draw(g);}….

進(jìn)階三:完成飛機(jī)子彈對(duì)象的加載和移動(dòng)

首先設(shè)計(jì)飛機(jī)子彈類bullet.cs,它的成員變量、方法和飛機(jī)類相同,只是子彈類的位置x,y變量是根據(jù)飛機(jī)的坐標(biāo)確定的所以把x,y設(shè)置成公共屬性如下:public class bullet{……..public int X{get {return x;}set {x=value;}}public int Y{get {return y;}set {y=value;}}而子彈移動(dòng)方法為:public void bullet_move(){y=y-speed;if(y<0)GameUI.bl.Remove(this);}子彈向上飛如果越界就清除掉。其次游戲中子彈對(duì)象有很多個(gè),需要用到泛型類的知識(shí)點(diǎn)如public static List bl;再次,完成子彈的產(chǎn)生與飛機(jī)的移動(dòng)分不開于是在飛機(jī)類中編寫。

進(jìn)階四:完成飛機(jī)被擊中、飛機(jī)生命值的設(shè)置

首先為飛機(jī)類添加如下代碼,值得注意的是判斷是否被擊中在比較中心點(diǎn)時(shí)可根據(jù)實(shí)際圖片的尺寸進(jìn)行調(diào)整,在判斷擊中時(shí)也需使用變量記錄敵機(jī)子彈的編號(hào)以免發(fā)生飛機(jī)被同一子彈(敵機(jī))連續(xù)擊中的情況。其次我們?cè)O(shè)置飛機(jī)的生命值類代碼:

if(planelifenum==0)…”you loss!”…

else{planelifesimage(Image)Resource1.ResourceManager.GetObject(“plane” +planelifenum.ToString());g.DrawImage(…)

在這個(gè)進(jìn)階中判斷是否擊中是核心,由于文章篇幅這里略去,值得注意的是程序中添加了Resource類對(duì)象Resource1用于存放資源。

四、 學(xué)習(xí)反饋與小結(jié)

經(jīng)過一個(gè)學(xué)期游戲案例的教學(xué)實(shí)踐,學(xué)生對(duì)課程的掌握程度和滿意度有了一定提高如下表對(duì)15、16兩個(gè)年級(jí)按不同教學(xué)方式教授C#程序課學(xué)生滿意度對(duì)比,學(xué)生普遍反映以游戲作為教學(xué)案例有助于他們擺脫對(duì)于傳統(tǒng)的程序課的偏見更容易接受和消化知識(shí),同時(shí)分進(jìn)階的方式也可使得不同的學(xué)生都能學(xué)有所得。

本校15級(jí)、16級(jí)學(xué)生學(xué)習(xí)滿意度對(duì)比

參考文獻(xiàn):

[1]劉冉.如何提高五年制高職計(jì)算機(jī)教學(xué)水平[J].考試周刊,2013.82.

[2]布萊克曼著,郭道寰翻譯.心靈面具[M].華東師范大學(xué)出版社2011

[3]藍(lán)敏.游戲項(xiàng)目驅(qū)動(dòng)的高職院校“C#程序設(shè)計(jì)”教學(xué)改革研究[J].高教學(xué)刊,2015年17期.

猜你喜歡
中職課程
《無機(jī)化學(xué)》課程教學(xué)改革
云南化工(2021年6期)2021-12-21 07:31:42
數(shù)字圖像處理課程混合式教學(xué)改革與探索
軟件設(shè)計(jì)與開發(fā)實(shí)踐課程探索與實(shí)踐
為什么要學(xué)習(xí)HAA課程?
淺談中職英語教育三部曲
散文百家(2014年11期)2014-08-21 07:17:08
中職高考與教學(xué)研究
果真是“誤了百萬中職生”嗎?
“學(xué)而時(shí)習(xí)之”的課程值得贊賞
構(gòu)建中職生成才通道的思考
河南科技(2014年11期)2014-02-27 14:17:57
MOOC起步,從微課程開始
物理與工程(2014年2期)2014-02-27 11:22:21
长垣县| 邢台县| 繁昌县| 洞头县| 林芝县| 昌邑市| 上栗县| 沁水县| 桂阳县| 黄龙县| 莱芜市| 昂仁县| 西乌珠穆沁旗| 兴仁县| 靖远县| 穆棱市| 正阳县| 阳新县| 汉川市| 汕头市| 胶南市| 芜湖县| 杭锦旗| 河津市| 保山市| 集贤县| 镇远县| 沭阳县| 若羌县| 招远市| 社会| 蕲春县| 繁峙县| 华容县| 新源县| 乾安县| 象山县| 抚远县| 绥滨县| 井陉县| 康乐县|