999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

分而治之的Windows編程課實(shí)踐教學(xué)實(shí)驗(yàn)編制

2018-01-31 07:49:55方昱春陳迅雷張景嶠
計(jì)算機(jī)教育 2018年1期
關(guān)鍵詞:程序游戲功能

方昱春,陳迅雷,張景嶠

(上海大學(xué) 計(jì)算機(jī)工程與科學(xué)學(xué)院,上海 200444)

1 實(shí)踐教學(xué)實(shí)驗(yàn)分類及存在的問(wèn)題

實(shí)踐教學(xué)的核心組成部分之一是教學(xué)實(shí)驗(yàn)。通過(guò)實(shí)踐教學(xué)實(shí)驗(yàn),學(xué)生驗(yàn)證、設(shè)計(jì)和實(shí)現(xiàn)課堂講授的知識(shí)點(diǎn),從而加深對(duì)要點(diǎn)、難點(diǎn)的領(lǐng)悟和理解深度,增強(qiáng)自學(xué)能力和動(dòng)手能力,提高綜合學(xué)習(xí)水平。

實(shí)踐教學(xué)實(shí)驗(yàn)根據(jù)實(shí)驗(yàn)性質(zhì)可以分為驗(yàn)證性實(shí)驗(yàn)、設(shè)計(jì)性實(shí)驗(yàn)和綜合性實(shí)驗(yàn)3類。驗(yàn)證性實(shí)驗(yàn)通過(guò)提供詳細(xì)的實(shí)驗(yàn)步驟、具體的實(shí)驗(yàn)方案和完整的實(shí)驗(yàn)數(shù)據(jù),幫助學(xué)生掌握入門的程序設(shè)計(jì)方法,熟悉開發(fā)環(huán)境和開發(fā)平臺(tái);設(shè)計(jì)性實(shí)驗(yàn)要求學(xué)生運(yùn)用課堂上講授的一個(gè)或幾個(gè)知識(shí)點(diǎn)實(shí)現(xiàn)獨(dú)立功能,并且編制代碼調(diào)試程序求解問(wèn)題;綜合性實(shí)驗(yàn)要求學(xué)生綜合運(yùn)用課堂上學(xué)習(xí)的多個(gè)知識(shí)點(diǎn),完成功能全面獨(dú)立的小型實(shí)用系統(tǒng)。在編程實(shí)踐類課程中,綜合性作業(yè)幾乎等同于設(shè)計(jì)一個(gè)小型軟件系統(tǒng)。從考查學(xué)生學(xué)習(xí)狀況的角度而言,綜合性實(shí)驗(yàn)是考評(píng)學(xué)生對(duì)單門課程知識(shí)點(diǎn)掌握狀況最有效的辦法之一;從鍛煉學(xué)生動(dòng)手能力的角度而言,綜合性實(shí)驗(yàn)充滿了挑戰(zhàn)性,學(xué)生躍躍欲試。在上述3類實(shí)驗(yàn)中,綜合性實(shí)驗(yàn)的難度也是最高的:首先,眾多待實(shí)現(xiàn)功能使得學(xué)生無(wú)從下手;其次,課程講授的知識(shí)點(diǎn)有時(shí)序性,等待所有知識(shí)點(diǎn)講授完畢再進(jìn)行綜合設(shè)計(jì)則會(huì)出現(xiàn)開發(fā)時(shí)間不充足的情況。

為了解決上述困難,方法之一是把學(xué)生結(jié)成若干小組,把綜合實(shí)驗(yàn)分解成模塊,分配給每個(gè)學(xué)生獨(dú)立完成,然后通過(guò)合作集成完整的系統(tǒng)。這種方法適用于每個(gè)獨(dú)立功能都包含課程要點(diǎn)的情況,如開發(fā)數(shù)據(jù)庫(kù)系統(tǒng)時(shí),多個(gè)功能的各個(gè)模塊都可能需要運(yùn)用基本的數(shù)據(jù)庫(kù)處理算法。如果各個(gè)獨(dú)立功能僅僅側(cè)重單門課程的某個(gè)方面,那么采用這種方法可能會(huì)導(dǎo)致部分學(xué)生專注于完成自己分配到的功能組件的實(shí)現(xiàn),而忽略其他方面的實(shí)踐,最終影響其對(duì)單門課程的全面掌握。

分而治之實(shí)踐教學(xué)實(shí)驗(yàn)設(shè)置通過(guò)有機(jī)分解綜合性實(shí)驗(yàn),把部分功能模塊根據(jù)其特性編制成小型的驗(yàn)證性實(shí)驗(yàn)或者設(shè)計(jì)性實(shí)驗(yàn),配合所傳授的各個(gè)知識(shí)點(diǎn),布置給學(xué)生,在小實(shí)驗(yàn)積累的基礎(chǔ)上,使學(xué)生具備獨(dú)立完成綜合性大實(shí)驗(yàn)的能力。

2 具體實(shí)驗(yàn)設(shè)置

分而治之的實(shí)踐教學(xué)實(shí)驗(yàn)編制方法如圖1所示。根據(jù)圖1,我們可以觀察到,分而治之的實(shí)踐教學(xué)實(shí)驗(yàn)設(shè)置的核心是對(duì)綜合性實(shí)驗(yàn)進(jìn)行分解。根據(jù)分解后獨(dú)立功能的性質(zhì),知識(shí)性、基礎(chǔ)性的模塊可以通過(guò)驗(yàn)證性實(shí)驗(yàn)引導(dǎo)學(xué)生進(jìn)行實(shí)踐;技術(shù)性、功能性的模塊以設(shè)計(jì)性實(shí)驗(yàn)的方式要求學(xué)生實(shí)現(xiàn);驗(yàn)證性實(shí)驗(yàn)和技術(shù)性實(shí)驗(yàn)則根據(jù)教學(xué)進(jìn)度布置給學(xué)生。在主干環(huán)節(jié)掌握的基礎(chǔ)上,就可以讓學(xué)生著手進(jìn)行綜合性實(shí)驗(yàn),余留的模塊則可以隨著后期課程的開展逐步進(jìn)行完善。除了基本模塊,對(duì)于一些可以提升綜合實(shí)驗(yàn)水平的技術(shù)和要點(diǎn),采用在課堂上提示要點(diǎn)的方式,鼓勵(lì)學(xué)有余力的學(xué)生通過(guò)自學(xué)去實(shí)現(xiàn)和掌握。通過(guò)對(duì)綜合性作業(yè)的有機(jī)分解,幫助學(xué)生跟隨授課進(jìn)程掌握和實(shí)踐知識(shí)要點(diǎn),并通過(guò)這一過(guò)程為獨(dú)立進(jìn)行綜合性實(shí)驗(yàn)作準(zhǔn)備,發(fā)揮創(chuàng)造力,最終完成綜合性實(shí)驗(yàn)作業(yè)。

圖1 分而治之的實(shí)踐教學(xué)實(shí)驗(yàn)設(shè)置示意圖

3 Windows編程課實(shí)踐教學(xué)要求和特點(diǎn)

Windows編程課主要講授基于API (application programming interface,應(yīng)用編程接口)的程序開發(fā)技術(shù)和思想[1],屬于基礎(chǔ)程序設(shè)計(jì)課程之一。目前,雖然API編程方法在實(shí)際應(yīng)用中的使用范圍較窄,但是在程序設(shè)計(jì)語(yǔ)言的發(fā)展歷程中,API編程猶如一塊基石,其包含的主要元素是后續(xù)面向?qū)ο缶幊痰绕渌幊谭椒ǖ闹饕M成部分或封裝對(duì)象。計(jì)算機(jī)專業(yè)學(xué)生學(xué)習(xí)API編程的目的不僅僅在于鍛煉編程能力,更重要的一點(diǎn)在于通過(guò)學(xué)習(xí)使用API函數(shù)和數(shù)據(jù)結(jié)構(gòu)控制操作系統(tǒng)消息發(fā)送接收和調(diào)用系統(tǒng)功能,可以幫助學(xué)生深入理解Windows操作系統(tǒng)內(nèi)部的運(yùn)行機(jī)制,領(lǐng)悟圖形用戶界面的Windows程序設(shè)計(jì)核心思想[2-3],因此在開設(shè)這門課程時(shí),要求學(xué)生能夠全面掌握課程的核心要點(diǎn)。

Windows編程包含消息驅(qū)動(dòng)原理、圖形用戶界面設(shè)計(jì)、輸入輸出設(shè)備、資源使用、多任務(wù)和數(shù)據(jù)共享、網(wǎng)絡(luò)通信、動(dòng)態(tài)鏈接庫(kù)使用等眾多內(nèi)容。從本科學(xué)生接受能力和課時(shí)限制出發(fā),Windows編程課的授課內(nèi)容一般包括Windows框架程序、消息驅(qū)動(dòng)程序結(jié)構(gòu)、圖形設(shè)備接口(graphic device interface, GDI)對(duì)象和方法、輸入設(shè)備使用方法和消息處理、資源和資源腳本文件、多任務(wù)和多線程、DLL的使用和編程等,這些基本的API編程方法可以觸類旁通、舉一反三地運(yùn)用到其他Windows編程技術(shù)的學(xué)習(xí)中。

4 Windows編程課綜合實(shí)驗(yàn)設(shè)置

在Windows編程課中,可以要求學(xué)生通過(guò)設(shè)計(jì)一個(gè)運(yùn)行效果流暢的平面游戲程序作為綜合作業(yè)。具體設(shè)計(jì)要求包括使用圖形用戶界面、游戲中對(duì)象移動(dòng)無(wú)閃爍、人機(jī)交互自然友好、具有計(jì)分定時(shí)等完整的游戲功能。這樣一個(gè)綜合作業(yè)覆蓋了Windows編程課中主要授課內(nèi)容的多個(gè)要點(diǎn):①圖形用戶界面包含Windows框架程序和資源中多個(gè)要素的實(shí)現(xiàn),如菜單、圖標(biāo)、光標(biāo)、加速鍵、對(duì)話框和控件;②游戲?qū)ο蟮囊苿?dòng)需要掌握GDI對(duì)象和計(jì)時(shí)器使用的要點(diǎn);③人機(jī)交互自然友好需要實(shí)踐消息驅(qū)動(dòng)機(jī)制、鍵盤響應(yīng)、鼠標(biāo)響應(yīng)等。

學(xué)生接到任務(wù)之初往往感覺無(wú)從下手,因?yàn)檫@個(gè)作業(yè)和其他語(yǔ)言類的基礎(chǔ)編程課實(shí)踐作業(yè)相比,復(fù)雜度增加許多,而且Windows程序基本組件的實(shí)現(xiàn)方法需要在若干課時(shí)后才能接觸。

把這樣一個(gè)綜合實(shí)驗(yàn)布置給一個(gè)小組的學(xué)生,并且把各個(gè)功能模塊分解后分配給各個(gè)學(xué)生,通過(guò)合作完成綜合作業(yè),不能使每個(gè)學(xué)生都親自實(shí)踐各個(gè)要點(diǎn)的編程實(shí)現(xiàn)方法,也不能達(dá)到Windows編程課要求學(xué)生全面掌握核心要點(diǎn)的教學(xué)目的。因此,我們?cè)诮虒W(xué)實(shí)踐中采用了分而治之的實(shí)踐教學(xué)實(shí)驗(yàn)編制方法。

5 Windows編程課分而治之的實(shí)驗(yàn)設(shè)置案例實(shí)踐

根據(jù)圖1的分而治之的實(shí)踐教學(xué)實(shí)驗(yàn)設(shè)置示意圖,可以分解第4節(jié)中的Windows編程實(shí)踐教學(xué)作業(yè)——設(shè)計(jì)一個(gè)運(yùn)行效果流暢的平面游戲程序,如圖2所示。根據(jù)Windows程序基本功能的類型,把平面游戲設(shè)計(jì)分解成9個(gè)基本模塊,按照授課時(shí)序排列為:Windows框架、游戲?qū)ο箫@示、閃爍消除處理、鍵盤消息響應(yīng)、鼠標(biāo)消息響應(yīng)、計(jì)時(shí)計(jì)分功能、游戲?qū)ο罂刂坪唾Y源使用,另外游戲?qū)ο筮\(yùn)動(dòng)模塊屬于算法設(shè)計(jì)范疇。根據(jù)各個(gè)功能模塊的難度和特點(diǎn),設(shè)計(jì)“Hello world!”“字符移動(dòng)程序”“位圖透明顯示”“動(dòng)態(tài)直線繪制”“鼠標(biāo)點(diǎn)擊游戲”“菜單對(duì)話框”6個(gè)涵蓋綜合實(shí)驗(yàn)主要技術(shù)點(diǎn)的驗(yàn)證性實(shí)驗(yàn)和設(shè)計(jì)性實(shí)驗(yàn)。

圖2 Windows編程實(shí)驗(yàn)的分而治之設(shè)置示意圖

5.1 Windows編程課綜合實(shí)驗(yàn)分解

首先,以Windows框架功能和鍵盤消息響應(yīng)合成“Hello world!”驗(yàn)證性實(shí)驗(yàn),作為學(xué)生入門的程序。設(shè)置目的出于兩個(gè)方面的考慮:①Windows框架程序是所有API程序的基石,其中包含大量的API函數(shù)和復(fù)雜的結(jié)構(gòu)體類型變量,因此設(shè)計(jì)驗(yàn)證性實(shí)驗(yàn)是最有助于學(xué)生學(xué)習(xí)和掌握的;②雖然鍵盤消息響應(yīng)的相關(guān)處理是學(xué)期中期才講授的內(nèi)容,但是通過(guò)給學(xué)生提供驗(yàn)證性實(shí)踐,可以幫助學(xué)生領(lǐng)悟消息驅(qū)動(dòng)機(jī)制下編程的特點(diǎn)和鍵盤消息處理的入門知識(shí)。教學(xué)中,教師可以采用兩個(gè)步驟使這個(gè)入門程序在實(shí)際教學(xué)中起到額外地提高學(xué)生學(xué)習(xí)積極性的效果:①用API編程方法實(shí)現(xiàn)“Hello world!”,然后引導(dǎo)學(xué)生把該程序源碼和基礎(chǔ)語(yǔ)言編程課同一程序的源碼量作比較,學(xué)生的第一反應(yīng)是“如此簡(jiǎn)單的功能為何需要如此冗長(zhǎng)的代碼來(lái)實(shí)現(xiàn)”;②指導(dǎo)學(xué)生在這個(gè)入門程序中加入5行鍵盤消息響應(yīng)代碼,實(shí)現(xiàn)隨機(jī)改變字符串顯示顏色的功能,使學(xué)生明白在框架的基礎(chǔ)上,API編程在Windows操作系統(tǒng)的支持下可以輕松實(shí)現(xiàn)復(fù)雜的顯示效果。通過(guò)這個(gè)驗(yàn)證性程序,學(xué)生可以直觀地了解API編程通過(guò)響應(yīng)來(lái)處理消息的基本方法和思想。

在學(xué)生API編程入門的基礎(chǔ)上,教師可以設(shè)置“字符移動(dòng)程序”設(shè)計(jì)性實(shí)驗(yàn),加強(qiáng)學(xué)生對(duì)Windows框架功能和鍵盤消息響應(yīng)兩個(gè)模塊的掌握;同時(shí),基于“分而治之”思想把游戲中角色對(duì)象的活動(dòng)劇情分解為“游戲?qū)ο箫@示”和“游戲?qū)ο筮\(yùn)動(dòng)”兩個(gè)功能,并且把游戲?qū)ο筮\(yùn)動(dòng)算法簡(jiǎn)化為字符移動(dòng)算法讓學(xué)生實(shí)踐。一方面,就算法機(jī)理而言,游戲?qū)ο蟮囊苿?dòng)和字符移動(dòng)是等價(jià)的,都需要通過(guò)選擇結(jié)構(gòu)控制對(duì)象的移動(dòng)方向,并且判斷對(duì)象的移動(dòng)是否碰觸邊界;另一方面,游戲?qū)ο箫@示屬于GDI編程的內(nèi)容,GDI編程技術(shù)作為Windows編程課的最主要內(nèi)容之一,需要配以較多的課時(shí)講解,因此,可以把游戲?qū)ο筮\(yùn)動(dòng)算法獨(dú)立成小設(shè)計(jì)實(shí)驗(yàn)引導(dǎo)學(xué)生先完成部分內(nèi)容,等完成GDI編程課堂講解后,再引導(dǎo)學(xué)生通過(guò)透明位圖技術(shù)實(shí)現(xiàn)游戲?qū)ο箫@示功能。學(xué)生把這兩個(gè)小設(shè)計(jì)實(shí)驗(yàn)中的算法結(jié)合起來(lái),就能實(shí)現(xiàn)平面游戲里的角色移動(dòng)功能。

在Windows編程中,客戶區(qū)顯示內(nèi)容的動(dòng)畫效果需要處理刷新顯示時(shí)的閃爍問(wèn)題。閃爍處理主要通過(guò)內(nèi)存(虛擬)設(shè)備描述表技術(shù)和InvalidateRect()函數(shù)參數(shù)的合理設(shè)置來(lái)完成;另外,還需要兼顧通過(guò)鼠標(biāo)或鍵盤控制產(chǎn)生游戲中對(duì)象的運(yùn)動(dòng)。在教學(xué)實(shí)踐中,這兩部分內(nèi)容可以通過(guò)“動(dòng)態(tài)直線繪制”小實(shí)驗(yàn)開展實(shí)踐,按照教學(xué)進(jìn)度,學(xué)生此時(shí)已經(jīng)完成了GDI編程和鼠標(biāo)鍵盤消息響應(yīng)的相關(guān)學(xué)習(xí)內(nèi)容,通過(guò)消息響應(yīng)和無(wú)閃爍顯示技術(shù)的結(jié)合,以一種簡(jiǎn)化的方式掌握游戲運(yùn)動(dòng)對(duì)象在輸入設(shè)備控制下刷新顯示無(wú)閃爍技術(shù)。

5.2 Windows編程課綜合實(shí)驗(yàn)合成

教師可設(shè)計(jì)獨(dú)立的“鼠標(biāo)點(diǎn)擊游戲”,幫助學(xué)生強(qiáng)化多種鼠標(biāo)消息的協(xié)調(diào)使用,強(qiáng)調(diào)使用計(jì)時(shí)計(jì)分和控制不同游戲?qū)ο蟪霈F(xiàn)的技巧。如果學(xué)生能在這個(gè)小游戲中添加游戲?qū)ο蠼巧顒?dòng)的劇情,就表明其已經(jīng)可以完成一個(gè)功能完整的游戲,因此,課程進(jìn)度過(guò)半時(shí)可以給學(xué)生布置一個(gè)綜合作業(yè):以“鼠標(biāo)點(diǎn)擊游戲”作為最終平面游戲的基礎(chǔ)框架,集成前期的游戲運(yùn)動(dòng)控制、游戲?qū)ο箫@示和閃爍消除處理模塊,像搭積木一樣設(shè)計(jì)實(shí)現(xiàn)一個(gè)平面游戲。

“菜單對(duì)話框”設(shè)計(jì)小實(shí)驗(yàn)是在“鼠標(biāo)點(diǎn)擊游戲”基礎(chǔ)上添加菜單、加速鍵、對(duì)話框、控件、光標(biāo)、圖標(biāo)等資源,這些元素不僅使最終的平面游戲具有Windows程序標(biāo)準(zhǔn)的界面和人機(jī)交互接口,還幫助學(xué)生學(xué)習(xí)Windows程序使用資源的原理和資源腳本文件的構(gòu)成。

6 結(jié) 語(yǔ)

分而治之的實(shí)踐教學(xué)實(shí)驗(yàn)設(shè)置方法旨在通過(guò)循序漸進(jìn)的方式幫助學(xué)生掌握知識(shí)要點(diǎn),為設(shè)計(jì)完成綜合實(shí)驗(yàn)打好基礎(chǔ)。教師通過(guò)對(duì)綜合實(shí)驗(yàn)進(jìn)行合理有效的分解,幫助學(xué)生掌握單個(gè)功能的實(shí)現(xiàn)方法,并且在此基礎(chǔ)上合成多個(gè)功能模塊、獨(dú)立設(shè)計(jì)和完成綜合實(shí)驗(yàn)。小實(shí)驗(yàn)是綜合實(shí)驗(yàn)的準(zhǔn)備,待小實(shí)驗(yàn)都逐一完成,綜合實(shí)驗(yàn)的完成也就水到渠成。教學(xué)實(shí)踐表明:分而治之的實(shí)踐教學(xué)實(shí)驗(yàn)設(shè)置可以幫助學(xué)生樹立學(xué)習(xí)信心和增強(qiáng)積極性;學(xué)生通過(guò)小實(shí)驗(yàn)不斷積累直至完成一個(gè)綜合實(shí)驗(yàn)的過(guò)程,也自然而然地實(shí)現(xiàn)了使學(xué)生掌握API編程思想方法的授課目標(biāo)。

[1]方昱春, 陳訊雷, 張景嶠. Windows編程課實(shí)踐教學(xué)探討[J]. 計(jì)算機(jī)教育, 2010(18): 153-155.

[2]杜曉晨, 馮海林, 徐愛俊. Windows程序設(shè)計(jì)的輔助實(shí)驗(yàn)平臺(tái)建設(shè)[J]. 中國(guó)信息技術(shù)教育, 2014(1): 109-111.

[3]程文志. 基于研究式學(xué)習(xí)的Windows編程教學(xué)實(shí)踐研究[J]. 湖南科技學(xué)院學(xué)報(bào), 2016(5): 98-99.

猜你喜歡
程序游戲功能
也談詩(shī)的“功能”
試論我國(guó)未決羈押程序的立法完善
“程序猿”的生活什么樣
關(guān)于非首都功能疏解的幾點(diǎn)思考
英國(guó)與歐盟正式啟動(dòng)“離婚”程序程序
數(shù)獨(dú)游戲
瘋狂的游戲
飛碟探索(2016年11期)2016-11-14 19:34:47
爆笑游戲
創(chuàng)衛(wèi)暗訪程序有待改進(jìn)
第八章直接逃出游戲
主站蜘蛛池模板: av一区二区三区在线观看| 午夜啪啪网| 久久综合AV免费观看| 婷婷色一区二区三区| 91成人在线免费观看| 国产色婷婷视频在线观看| 5555国产在线观看| 日韩 欧美 小说 综合网 另类 | 成人中文在线| 国产在线高清一级毛片| 国产精品va| 亚洲日韩久久综合中文字幕| 欧美日本在线观看| 五月天综合网亚洲综合天堂网| 国产色婷婷| 国产美女91视频| 伦精品一区二区三区视频| 久久成人国产精品免费软件| 亚洲va在线观看| 欧美精品伊人久久| 国产三区二区| 亚洲男人的天堂网| 亚洲中文字幕无码爆乳| 日韩成人在线视频| 中文字幕无线码一区| 亚洲综合片| 亚洲欧美精品一中文字幕| 伊人久久大线影院首页| 拍国产真实乱人偷精品| 中文字幕1区2区| 亚洲三级电影在线播放| av在线5g无码天天| 色丁丁毛片在线观看| 波多野结衣一区二区三区88| 国产综合欧美| 亚洲狼网站狼狼鲁亚洲下载| 呦女亚洲一区精品| 欧美在线一级片| 天堂va亚洲va欧美va国产| 久久亚洲国产最新网站| h视频在线观看网站| 综合久久五月天| 国产乱人乱偷精品视频a人人澡| 国产丝袜第一页| 国产打屁股免费区网站| 99在线视频免费| 午夜精品一区二区蜜桃| 国产成人精品一区二区秒拍1o| 国产亚洲欧美在线中文bt天堂| 在线无码九区| 喷潮白浆直流在线播放| 波多野结衣在线se| 欧美色视频在线| 操国产美女| 又黄又爽视频好爽视频| 中文无码日韩精品| 黄色网站在线观看无码| 久久久91人妻无码精品蜜桃HD| 青青久视频| 国产96在线 | 久久这里只有精品66| 久久青青草原亚洲av无码| 国产99欧美精品久久精品久久| аⅴ资源中文在线天堂| 久久熟女AV| 国产欧美专区在线观看| 国产精品无码制服丝袜| 亚洲人成在线精品| 91热爆在线| 久久久波多野结衣av一区二区| 国产理论一区| 波多野结衣一区二区三区四区| 亚洲人成网站观看在线观看| 老熟妇喷水一区二区三区| 在线免费亚洲无码视频| 欧美色99| 亚洲全网成人资源在线观看| 亚洲成aⅴ人片在线影院八| 色亚洲成人| 久久精品人人做人人| 夜夜操天天摸| 国产美女免费|