freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

俄羅斯方塊游戲開發(fā)與設(shè)計(jì)畢業(yè)論文-資料下載頁

2025-06-27 12:48本頁面
  

【正文】 動(dòng)作翻轉(zhuǎn)√√√√√不能翻轉(zhuǎn)√√√2.翻轉(zhuǎn)越界糾正由上述判定表可以看出,只要方塊翻轉(zhuǎn)后所處的空間足夠,方塊就能夠翻轉(zhuǎn),但是,如果方塊翻轉(zhuǎn)后所處的空間不足夠,而在它的另一邊卻有足夠的空間呢?比如,一個(gè)方塊在它左邊正好差一個(gè)格子的空間才能夠翻轉(zhuǎn),但是它的右邊恰好有一個(gè)格子的空間,這種情況,如果方塊不能夠翻轉(zhuǎn),就不方便用戶操作,如果能夠翻轉(zhuǎn),就會(huì)發(fā)生越界,將已經(jīng)存在的方塊擠占掉。要想實(shí)現(xiàn)翻轉(zhuǎn)又不發(fā)生越界,那么,就應(yīng)該在方塊翻轉(zhuǎn)后把它往右邊移動(dòng)一個(gè)格子,然后再繪制方塊,這樣,方塊就不會(huì)擠占掉其它已經(jīng)固定住的方塊了。同樣,方塊在邊界處時(shí),翻轉(zhuǎn)后不僅可能翻出地圖外,還可能發(fā)生數(shù)組越界,當(dāng)然,只需要將地圖數(shù)組定義得大一些,就能夠避免數(shù)組越界錯(cuò)誤,對于方塊越界,如果在它的另一邊有足夠空間,那么,就應(yīng)該把方塊往另一個(gè)方向移動(dòng)適當(dāng)?shù)膯挝?,糾正方塊越界錯(cuò)誤。結(jié)合上述判定表,可以列出方塊翻轉(zhuǎn)越界糾正判定表,:所有條件落下TFFFFFFFFFF田字形方塊T 長條形方塊1x4形態(tài)TTTT4x1形態(tài)T其它五種方塊2x3形態(tài)TTTT3x2形態(tài)第y行, x、x+3列空TFFF第y、y+1行x、x+2列空TFFF另一邊有足夠空間TFTF所有動(dòng)作翻轉(zhuǎn)√√√√√不能翻轉(zhuǎn)√√√√翻轉(zhuǎn)越界糾正√√ 方塊翻轉(zhuǎn)越界糾正判定表:接收到翻轉(zhuǎn)信息方塊是否落下不能翻轉(zhuǎn)否是翻轉(zhuǎn)后是否有足夠空間不能翻轉(zhuǎn)否是翻轉(zhuǎn)后是否越界否直接翻轉(zhuǎn)翻轉(zhuǎn)越界糾正是結(jié)束結(jié)束 方塊翻轉(zhuǎn)處理流程圖 滿行消除JAVA圖形類中提供了一個(gè)方法,copyArea(int x, int y, int width, int height, int dx, int dy),這個(gè)方法的作用是將組建的某一區(qū)域復(fù)制到由dx和dy指定的水平距離和垂直距離所在的區(qū)域。利用這個(gè)方法,可以消除滿行。那么,當(dāng)方塊落下去后,如何判斷有行需要消除呢?如概要設(shè)計(jì)中所述,游戲地圖中有方塊的區(qū)域可以用2表示,當(dāng)方塊落下去后,判斷某一行是否全部為2,如果全為2,即表示這一行已滿,需要消除,這個(gè)時(shí)候,就可以利用copyArea這個(gè)方法將這一行消去了。消去一行后,要繼續(xù)向下檢測,如果下一行是滿行,消除,否則再往下檢測,一直將落下的方塊所占的行數(shù)全部檢測完為止。假定,以豎直狀態(tài)落下一個(gè)長條形的方塊,很顯然,方塊一共占據(jù)了四行。這時(shí)候,應(yīng)該從長條形的方塊占據(jù)的第一行開始檢測,不管期間是否有消行,都必須將長條形的方塊所占據(jù)的四行全部檢測完為止。并且記錄下消去的行數(shù),方塊消行完成后,增加相應(yīng)積分。但是,這里面又會(huì)遇到一個(gè)問題,因?yàn)椴⒉皇撬蟹綁K所占的行數(shù)都一樣,方塊落下后到底該檢測多少行呢?考慮到方塊落下后最多占據(jù)四行,以及計(jì)算機(jī)運(yùn)算的高速性,可以設(shè)定每一次方塊落下后都往下檢測四行。:方塊落下是否有消行否檢測第一行檢測第二行消去該行是是否有消行消去該行檢測第三行是否有消行檢測第四行消去該行否是消去該行是否有消行否是統(tǒng)計(jì)所消行數(shù),增加相應(yīng)積分結(jié)束開始 方塊消行流程圖 升入下一關(guān)當(dāng)游戲分?jǐn)?shù)達(dá)到一定值后,游戲?qū)?huì)自動(dòng)進(jìn)入下一關(guān)。升入高一級別的關(guān)卡后,游戲難度會(huì)隨之增加,表現(xiàn)在方塊下落的速度會(huì)加快,旋轉(zhuǎn)方塊出現(xiàn)的幾率會(huì)提高,在游戲的底部會(huì)生成一定數(shù)量的小正方形方塊。1.升入下一關(guān)每一次消行增加得分后,檢查游戲的分?jǐn)?shù)是否達(dá)到設(shè)定的值,如果達(dá)到設(shè)定值,則游戲關(guān)數(shù)別提升1,這個(gè)時(shí)候應(yīng)該立即結(jié)束當(dāng)前關(guān)卡的游戲,提示用戶過關(guān)信息,當(dāng)用戶確認(rèn)后,重新初始化游戲,進(jìn)入下一關(guān)進(jìn)行游戲。2.加快方塊下落速度可以用一個(gè)變量記錄當(dāng)前游戲的關(guān)數(shù),假定定義整型變量level代表游戲的關(guān)數(shù),每一次,分?jǐn)?shù)達(dá)到設(shè)定值后,level要自加1,重新初始化游戲時(shí),應(yīng)該根據(jù)這個(gè)level得到新的定時(shí)器休眠時(shí)間值,方塊下落的速度也就隨之改變了。3.提升旋轉(zhuǎn)方塊出現(xiàn)的幾率同樣,旋轉(zhuǎn)方塊幾率的提高也可以用如上方法得到一個(gè)新的旋轉(zhuǎn)方塊控制線程休眠時(shí)間值,旋轉(zhuǎn)方塊出現(xiàn)的幾率也將隨之提高。4.在游戲底部隨機(jī)生成一定數(shù)量的小正方形塊障礙物的隨機(jī)生成也比較容易實(shí)現(xiàn)。本游戲的游戲地圖是25行x15列,一共25x15個(gè)單位格子,可以依據(jù)游戲地圖大小設(shè)定小正方形塊的生成規(guī)則是,隨機(jī)生成的小正方形塊占據(jù)的行數(shù)是當(dāng)前的游戲關(guān)卡數(shù),總共生成的小正方形格子的數(shù)量是行數(shù)x7。就如上面隨機(jī)生成數(shù)值范圍0到6的blocktype值,這里應(yīng)該隨機(jī)生成數(shù)值范圍0到14的橫坐標(biāo)值,每一行都應(yīng)該生成七個(gè)這樣的橫坐標(biāo)值,一行生成完之后再繼續(xù)往上一行,直到把所要求的行數(shù)全部填充指定數(shù)量的隨機(jī)小方塊為止。需要注意的是,每一次隨機(jī)出0到14的橫坐標(biāo)值時(shí),也應(yīng)該隨機(jī)出一個(gè)新顏色,用來繪制當(dāng)前的隨機(jī)方塊,否則,隨機(jī)出的方塊將只有一種顏色,這個(gè)顏色將可能是黑色。:開始分?jǐn)?shù)達(dá)到設(shè)定值Level自加1,結(jié)束當(dāng)前游戲并提示用戶已過關(guān)用戶確認(rèn)過關(guān)根據(jù)新的level得到新的定時(shí)器值,新的旋轉(zhuǎn)塊線程休眠值,隨機(jī)生成相應(yīng)數(shù)量的小方塊格子重新初始化游戲結(jié)束圖 通關(guān)流程圖沈陽工程學(xué)院畢業(yè)論文 第6章 游戲測試第6章 游戲測試 測試的意義及注意事項(xiàng)軟件測試是軟件工程中及其重要的一個(gè)環(huán)節(jié),目的是保證軟件的質(zhì)量。測試的好壞將直接影響軟件的好壞,進(jìn)行測試可以找出其中的錯(cuò)誤及不足加以改進(jìn),從而得到一個(gè)高效、可靠的系統(tǒng)。進(jìn)行軟件測試主要作用有以下幾點(diǎn):1.軟件測試是為了發(fā)現(xiàn)程序中的錯(cuò)誤而執(zhí)行程序的過程。2.好的軟件測試方案是極可能發(fā)現(xiàn)尚未發(fā)生錯(cuò)誤的方法。3.程序的測試是發(fā)現(xiàn)了至今尚未發(fā)現(xiàn)的錯(cuò)誤。軟件應(yīng)從多角度進(jìn)行測試和分析,這樣才能找出其中錯(cuò)誤的地方。測試的時(shí)間最好找一些與設(shè)計(jì)系統(tǒng)無關(guān)的人員,或者分析人員。因?yàn)樵陂_發(fā)軟件的時(shí)候,開發(fā)人員已經(jīng)形成了自己的思維定勢,在測試的時(shí)候始終受到這種思想的束縛,很難找出其中的錯(cuò)誤而與設(shè)計(jì)無關(guān)的人員和那些分析人員很容易找出錯(cuò)誤所在。在程序調(diào)試過程中一定要耐心仔細(xì),一個(gè)細(xì)微的錯(cuò)誤將會(huì)導(dǎo)致整個(gè)功能不能實(shí)現(xiàn)會(huì)浪費(fèi)很多的時(shí)間來修改。應(yīng)在以下幾方面加以注意:語法錯(cuò)誤語法錯(cuò)誤是經(jīng)常碰到的錯(cuò)誤。例如,命令拼寫錯(cuò)誤或傳遞給函數(shù)的參數(shù)不正確都將產(chǎn)生錯(cuò)誤。語法錯(cuò)誤可能導(dǎo)致不能繼續(xù)編寫代碼。 邏輯錯(cuò)誤 邏輯錯(cuò)誤通??赡苁菨撛诤碗y以檢測的。當(dāng)有因鍵入錯(cuò)誤或程序邏輯流程引起的邏輯錯(cuò)誤,可能會(huì)成功運(yùn)行,但產(chǎn)生的結(jié)果卻是錯(cuò)的。例如,當(dāng)本應(yīng)使用小于符號比較數(shù)值,但卻使用了大于符號時(shí),那么將返回不正確的結(jié)果。運(yùn)行時(shí)錯(cuò)誤運(yùn)行時(shí)錯(cuò)誤是在執(zhí)行過程中指令試圖執(zhí)行不可能的動(dòng)作而導(dǎo)致的,必須糾正運(yùn)行時(shí)產(chǎn)生的錯(cuò)誤,這樣才能保證軟件運(yùn)行的可靠性。本游戲在開發(fā)過程中采用了多種有效的措施保證軟件質(zhì)量,例如,邊界處旋轉(zhuǎn)、游戲翻轉(zhuǎn)越界糾,等等,極大地方便了用戶操作,但是系統(tǒng)中通??赡苓€存在著一些錯(cuò)誤和缺陷,因此,游戲必須要經(jīng)過反復(fù)的運(yùn)行測試,盡最大量將bug減到最少。通常,軟件測試的過程可以劃分為單元測試、集成測試、確認(rèn)測試和系統(tǒng)測試,本游戲?qū)⒁赃@四個(gè)步驟進(jìn)行測試。1.單元測試單元測試又稱為模塊測試,是針對軟件設(shè)計(jì)的最小單位——程序模塊進(jìn)行正確性檢驗(yàn)的測試工作。其目的在于發(fā)現(xiàn)各模塊內(nèi)部可能存在的各種差錯(cuò)??梢詰?yīng)用人工測試和計(jì)算機(jī)測試兩種不同類型的測試方法。單元測試需要從程序的內(nèi)部結(jié)構(gòu)出發(fā)設(shè)計(jì)測試用例,即采用白盒測試技術(shù)。多個(gè)模塊可以平行獨(dú)立地進(jìn)行測試。在這個(gè)測試過程中所發(fā)現(xiàn)的往往是編碼和詳細(xì)設(shè)計(jì)中的錯(cuò)誤。傳統(tǒng)的最小可編譯單元通常指模塊、函數(shù)或子程序等,而在面向?qū)ο蠹夹g(shù)中通常是指類。單元測試的重點(diǎn)是模塊接口測試、局部數(shù)據(jù)結(jié)構(gòu)測試、重要的執(zhí)行通路測試、出錯(cuò)處理通路測試、邊界條件測試。2.集成測試集成測試分為子系統(tǒng)測試和系統(tǒng)測試。子系統(tǒng)測試是把經(jīng)過測試運(yùn)行正常的模塊放在一起形成子系統(tǒng)后再測試。這個(gè)步驟著重測試模塊的接口,測試模塊之間能否相互斜體哦以及通信時(shí)有無問題。系統(tǒng)測試就是把經(jīng)過測試運(yùn)行正常的子系統(tǒng)組裝成完整的系統(tǒng)后再進(jìn)行測試。系統(tǒng)測試是測試整個(gè)軟件和硬件系統(tǒng),驗(yàn)證系統(tǒng)是否滿足規(guī)定的要求。這個(gè)階段發(fā)現(xiàn)的問題往往是需求說明和軟件系統(tǒng)設(shè)計(jì)時(shí)產(chǎn)生的錯(cuò)誤。一般,集成測試采用漸增式組裝方法組裝系統(tǒng),漸增式組裝方式有自頂向下和自底向上兩種繼承策略。自頂向下集成是從主模塊開始,沿著程序的控制層次向下移動(dòng),逐漸把哥哥模塊結(jié)合起來。在把附屬于主模塊的那些模塊組裝到程序結(jié)構(gòu)中去時(shí),或者使用深度優(yōu)先的策略,或者使用寬度優(yōu)先策略。深度優(yōu)先策略是先組裝在軟件結(jié)構(gòu)的一條主控制通路上的所有模塊。選取一條主控制通路取決于應(yīng)用的特點(diǎn),并且有很大的任意性。而寬度優(yōu)先的結(jié)合方法是沿軟件結(jié)構(gòu)水平地移動(dòng),把處于同一個(gè)控制層次上的所有模塊組裝起來。自底向上集成從原子模塊開始組裝和測試。因?yàn)槭菑牡撞肯蛏辖Y(jié)合模塊,總能得到所需的下層模塊處理功能,所有不需要存根模塊。3.確認(rèn)測試確認(rèn)測試是在軟件開發(fā)過程結(jié)束時(shí)對軟件進(jìn)行評價(jià),以確認(rèn)它和軟件需求是否一致的過程。確認(rèn)測試也稱驗(yàn)收測試,其目標(biāo)是驗(yàn)證軟件的有效性。4.系統(tǒng)測試系統(tǒng)測試,是將通過確認(rèn)測試的軟件作為真?zhèn)€基于計(jì)算機(jī)系統(tǒng)的一個(gè)元素,與計(jì)算硬件、外設(shè)、某些支持軟件、數(shù)據(jù)和人員等其它系統(tǒng)元素結(jié)合在一起,在實(shí)際運(yùn)行環(huán)境下,對計(jì)算機(jī)系統(tǒng)進(jìn)行一系列的組裝測試和確認(rèn)測試。系統(tǒng)測試的目的在于與系統(tǒng)的需求定義進(jìn)行比較,發(fā)現(xiàn)軟件與系統(tǒng)定義不符合或與之矛盾的地方。系統(tǒng)測試的測試用例應(yīng)根據(jù)需求分析規(guī)格說明來設(shè)計(jì),并在實(shí)際使用環(huán)境下運(yùn)行。 測試結(jié)果測試過程中,本游戲發(fā)現(xiàn)了一些錯(cuò)誤,經(jīng)過修正,最后本游戲完全能夠正常運(yùn)行。至此,游戲初級版本的開發(fā)工作結(jié)束。 總結(jié)結(jié)束經(jīng)過一個(gè)月的努力,本游戲的開發(fā)工作至此告一段落,游戲能夠正確運(yùn)行,雖然說本游戲還只是一個(gè)初級產(chǎn)品,但是比起很多俄羅斯方塊游戲,它的功能算是比非常豐富的,界面也具有一定的美觀度,可以說取得了初步性的成功。這一個(gè)月來,我學(xué)到了很多東西。先前,對于JAVA,基本上還停留在理論階段,但是通過這一個(gè)月的努力,完成了代碼超過數(shù)千行的俄羅斯方塊游戲,在JAVA學(xué)習(xí)方面,我能夠感覺到自己的進(jìn)步。例如,JAVA是純面向?qū)ο蟮恼Z言,通過這次的JAVA游戲開發(fā),我深刻體會(huì)到了面向?qū)ο蟮木幊趟枷?,本游戲中設(shè)計(jì)的各個(gè)模塊的獨(dú)立性比較高,這就是我對面向?qū)ο缶幊趟枷塍w會(huì)的一個(gè)應(yīng)用。還有,JAVA這門技術(shù),很多要用到的應(yīng)用程序接口,都被封裝在了某個(gè)類里邊,所以,學(xué)習(xí)JAVA,就是學(xué)會(huì)如何去用它已經(jīng)存在的某個(gè)接口,而不是去研究如何實(shí)現(xiàn)這個(gè)接口。這也造成了JAVA的類庫非常龐大,即使是嫻熟的JAVA開發(fā)人員要記全它的API也是不可能的,而初學(xué)者乍看下去總會(huì)產(chǎn)生一種望而生畏的心理。這一個(gè)月的開發(fā)工作,讓我對JAVA的類庫有了個(gè)基本的了解,使我在以后的JAVA開發(fā)工作中知道如何去查找自己所需要的API。當(dāng)然,在這期間,我也遇到了不少問題,如方塊的繪制上,曾出現(xiàn)過太閃爍,刷新不徹底等問題。還有,圖像截屏傳輸時(shí)編譯器總是提示端口號已經(jīng)被占用,經(jīng)過檢查,原來是我每次截屏發(fā)送圖像數(shù)據(jù)時(shí),都重新構(gòu)造端口號,這是因?yàn)樽兞慷x的錯(cuò)誤,將變量定義成全局變量,問題就解決了??偟脕碚f,大的問題沒有遇到,遇到的都是一些邏輯、算法上以及變量定義的錯(cuò)誤問題,通過程序測試,這些問題都很容易地解決了。 致 謝畢業(yè)設(shè)計(jì)是大學(xué)里的最后一堂課,從開始進(jìn)入課題研究到論文順利完成的兩個(gè)周的時(shí)間里,我經(jīng)歷了大學(xué)期間最為難忘的一段時(shí)光。在這段時(shí)間里,我學(xué)到了很多以前不曾接觸的東西,這兩個(gè)月經(jīng)歷對我未來的人生都會(huì)有很大的幫助和影響。首先衷心感謝我的指導(dǎo)老師姜柳老師給予我的無微不至的關(guān)懷和細(xì)心的指導(dǎo)。在設(shè)計(jì)過程中姜老師為我們提出了許多寶貴的意見和建議,在此我要由衷的向姜老師致以最衷心的感謝和深深的敬意。在此過程中同學(xué)們也給予我很大幫助,感謝我的同學(xué)們。在我遇到的一個(gè)又一個(gè)問題時(shí)同學(xué)們都熱心的幫助我,幫我分析和我探討,提出了許多解決問題的好方法和建議,使我最終解決了一個(gè)又一個(gè)問題,感謝我的同學(xué)們。由于我的學(xué)識有限,加之時(shí)間倉促,文中不免有錯(cuò)誤和待改,不足之處,真誠歡迎各位師長、同學(xué)提出寶貴意見。最后,祝愿所有的教師和同學(xué)們,愿你們身體健康,工作順
點(diǎn)擊復(fù)制文檔內(nèi)容
化學(xué)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1