【正文】
ign drop behind the development of game industry. The Russian square piece is a getaway drama with all proper old young , it carry out to be constitute by four pieces of colors of exact square piece, II then save in one four chemical elements of the piece set, random creation dissimilarity of calculator seven the square piece of the category type, control it according to the calculator clock in certain time continuously creation, the customer is inside out according to four directions key control of the keyboard, to left, rightwards and get down the operation,.( the realization of the control key is to be carry out by the event handling of the direction key of the keyboard)Then the procedure pileds according to these seven kinds of square pieces various different model. The thesis has described the game history , has developed this game environment, development significance of game. Knowledge abiding by a software engineering, definition begins from software problem , proceed to carry out feasibility study , need analysis , essentials design , detailed design, the at last has carried out a testing on the software , entire exploitation process has run through the software engineering knowledge hierarchy. The puter game design and practice are designed on eclipse developing platform with Java developing instrument, under Microsoft Windows XP system this time. Key Words: Game design; calculate way; several; eventIII 1 引 言 游戲是人們活動(dòng)中一項(xiàng)非常重要的內(nèi)容,有人認(rèn)為如果哪一天人類對(duì)所有的游戲都失去興趣,恐怕世界的末日就要到了。相 信大多數(shù)用戶都還記得為它癡迷得茶不思飯不想的那個(gè)俄羅斯方塊時(shí)代。網(wǎng)絡(luò)模式還增加了積分制,使用戶既能感受到游戲中的樂趣,也給用戶提供了一個(gè)展現(xiàn)自己高超技藝的場(chǎng)所。而一般游戲軟件也確實(shí)具有很高的技術(shù)難度 , 隨著開發(fā)工具及軟件開發(fā)方法學(xué)的不斷發(fā)展 , 動(dòng)手開發(fā)游戲也不是十分困難的。 真正的電子游戲機(jī)產(chǎn)生于 20 世紀(jì) 70 年代。 上面介紹的是專用機(jī)游戲的歷史,而最早的電腦游戲可以追溯到 1972 年,一個(gè)叫Crowther 的工程師用當(dāng)時(shí)最流行的主機(jī)―― DEC 公司的 PDP- 10 編寫一段簡(jiǎn)單的FORTRAN 程序。這個(gè)游戲獲得了第一作,它代表了當(dāng)時(shí)電腦技術(shù)的最高水平。 由于 PC 機(jī)價(jià)格非常低而且硬件速度越來越快,游戲逐漸成為人們生活中不可缺少的一部分。舉個(gè)例子來說 ,如果俄羅斯方塊游戲沒有了各種不同形狀的方塊體等行為模式 ,那么這還能叫做“俄羅斯方塊” 嗎 ?所以不管游戲的流程有多么復(fù)雜還是多么簡(jiǎn)單 ,一定要有特定的行為模式。 從電子游戲的分類來看,有著多種分類方式。 考慮到中韓游戲業(yè)比較接近, 論文 采用韓國的分類標(biāo)準(zhǔn)。從網(wǎng)絡(luò)游戲的分類來看,目前業(yè)界還沒有一個(gè)比較統(tǒng)一規(guī)范的分類。 美國至今仍是世界第一大游戲市場(chǎng),它遵循的是以發(fā)行商為主的產(chǎn)業(yè)開發(fā)鏈模式,根據(jù)美國市場(chǎng)調(diào)查公司 NPD Group 調(diào)查統(tǒng)計(jì),美國 2020 年游戲總銷售金額(包括家用、掌上型主機(jī)及 軟件)為 99 億美元,占了全球游戲市場(chǎng)的 45%。 4 日本近 20年來瘋狂賺電子游戲的錢。 韓國號(hào)稱世界上網(wǎng)絡(luò)游戲產(chǎn)業(yè)最發(fā)達(dá)國家之一。從那時(shí)起,科技含量極高而能源消耗極低的游戲制作及相關(guān)產(chǎn)業(yè)擔(dān)負(fù)起了“富國興邦”的重?fù)?dān)。 電子游戲在國內(nèi)的發(fā)展現(xiàn)狀 與電子游戲發(fā)達(dá)的國家相比,我國在電子游戲方面還存在比較大的差距。 5 1996 年底, UBI SOFT 上海分公司暨上海育碧電腦軟件有限公司成立。 1999 年,業(yè)內(nèi)估算中國電腦游戲市場(chǎng)(正版)約 億元人民幣。 2020 年初,北京華義在中國大陸地區(qū)正式推出了《石器時(shí)代》,華義國際股份有限公司于 1993 年在臺(tái)北成立,2020 年在臺(tái)灣股票上市。 2020 年 5月,“聯(lián)眾世界”經(jīng)過 3年多的迅速成長(zhǎng),以同時(shí)在線 17萬人、注冊(cè)用戶約 1800 萬的規(guī)模,成為當(dāng)時(shí)世界用戶數(shù)量第一的在線游戲網(wǎng)站。 整個(gè)開發(fā)過程遵循軟件工程規(guī)范, 采用 JAVA GUI 編程來實(shí)現(xiàn)界面以及事件的控制, 用戶根據(jù)鍵盤的四個(gè)方向鍵控制翻轉(zhuǎn)、向左、向右和向下操作 ,通過菜單欄中的相應(yīng)菜單選項(xiàng)實(shí)現(xiàn)游戲的開始、結(jié)束、變換方塊、積分以及等級(jí)的功能 。利用現(xiàn)階段 我 所能達(dá)到的 能力,以最簡(jiǎn)潔、最容易的辦法,邊開發(fā)邊測(cè)試 邊修改 ,實(shí)現(xiàn)一個(gè)初級(jí) 游戲 軟件。 社會(huì)可行性: 本游戲的開發(fā)主要為了完成畢業(yè)設(shè)計(jì), 開發(fā)的主體是個(gè)人,不存在法律上的侵權(quán)行為, 也 不會(huì)為社會(huì)造成影響, 這方面是完全可行的。如果落下時(shí),方塊的方格能填滿某一行,則這一行可消去。 鍵盤處理事件 需求 : 方塊下落時(shí),可通過鍵盤方向鍵(上、下、左、右鍵)對(duì)該方塊進(jìn)行向上 (變形 ),向下(加速)、向左、向右移動(dòng)。 8 軟硬件需求 操作系統(tǒng): Microsoft Windows XP Professional Service Pack 2 內(nèi)存: 512M 硬盤: 80G CPU: 賽揚(yáng) 交互工具:鍵盤 /鼠標(biāo) 顯示器: VGA 顯示器 JDK 版本: Eclipse 版本: 接口控制 本游戲 通過鍵盤進(jìn)行操作,在 Windows的操作系統(tǒng)下,利用鍵盤的上、下、左、右鍵對(duì)方塊進(jìn)行移動(dòng)變形,要使用鍵盤的接口事件。 9 C++的優(yōu)點(diǎn) C++是對(duì) C語言的擴(kuò)充,擴(kuò)充的絕大部分來自著名語言中的最佳特性:從 SIMULA 67中吸取了類,從 ALGOL 68 中吸取了運(yùn)算符一名多用、引用和在分程序中任何地方說明變量,綜合了 Ada 的類屬和 Clu 的模塊特點(diǎn),從 BCPL 中吸取異常處理,從 BCPL 中吸取了用 //表示 注釋。 C++的面向?qū)ο蟮奶匦钥捎行У赜糜趯?shí)際的程序設(shè)計(jì)工作。這樣能夠防止他人使用欺騙手段訪問對(duì)象的私有成員,也能夠避免在指針操作中易產(chǎn)生的錯(cuò)誤。同時(shí), Java 編譯器主要是由 Java 本身來實(shí)現(xiàn)的, Java 的運(yùn)行系統(tǒng)(解釋器)由標(biāo)準(zhǔn) C語言實(shí)現(xiàn),因而整個(gè) Java系統(tǒng)都具有可移植性。 (4) 跨平臺(tái) 通常,在 Windows 下編寫的程序是不能直接拿到 UNIX 上運(yùn)行的,因?yàn)槌绦虻膱?zhí)行最終必須轉(zhuǎn)換成為計(jì)算機(jī)硬件的機(jī)器指令來執(zhí)行,專門為某種計(jì)算機(jī)硬件和操作系統(tǒng)編寫的程序是不能夠直接放到其他類型的計(jì)算機(jī)硬件上執(zhí)行的,至少要做移植工作。 所有面向?qū)ο蟮某绦蛟O(shè)計(jì)語言一般都包含三個(gè)概念:封裝、多態(tài)性和繼承性。但是 C++為了與C語言兼容,其是包含了些面向過程的成分; Java除了 C++中非面向過程的部分,其程序編寫過程就是設(shè)計(jì)、實(shí)現(xiàn)類,定義其屬性、行為的過程。 MVC 模型圖如下所示: 4. 2 系統(tǒng)流程結(jié)構(gòu)設(shè)計(jì) 12 4. 3 各個(gè)功能模塊圖設(shè)計(jì) 模型層 (Model)功能模塊圖設(shè)計(jì) 圖形工廠類 圖形類 障礙物類 中央控制器 處理按鍵事件 處理邏輯 顯示面板 顯示 生產(chǎn) 圖形工廠 圖形 障礙物 生產(chǎn) 圖形 下落產(chǎn)生障礙物 觸發(fā)按鍵事件 13 視圖 層 (View)功能模塊圖設(shè)計(jì) 控制層 (Controller)功能模塊圖設(shè)計(jì) 游戲面板 GamePanel 方塊的顯示 障礙物的顯示 中央控制器 Controller 類 圖形工廠生產(chǎn)圖形 顯示面板顯示圖形和障礙物 處理按鍵和鼠標(biāo)事件 14 5. 詳細(xì) 設(shè)計(jì) 模型層 (Model)設(shè)計(jì) 圖形的產(chǎn)生 通過圖形工廠類 ShapeFactory的 getShape(ShapeListener listener)方法隨機(jī)產(chǎn)生方塊的某種狀態(tài), 這里運(yùn)用了工廠設(shè)計(jì)模式, 這種 設(shè)計(jì)模式是為了實(shí)現(xiàn)高內(nèi)聚低耦合而存在的 , 這種設(shè)計(jì)模式的通俗解釋就是: 你想要一個(gè)產(chǎn)品 ,你需要讓工廠給你生產(chǎn)一個(gè) ,你要告訴工廠你要生產(chǎn)什么產(chǎn)品 , 就把你需要生產(chǎn)的這個(gè)產(chǎn)品當(dāng)做參數(shù)傳給工廠類的生產(chǎn)產(chǎn)品的方法 , 然后根據(jù)你傳進(jìn)來的產(chǎn)品 , 而決定工廠人生產(chǎn)什么產(chǎn)品 , 產(chǎn)生出來產(chǎn)品后 , 最后要返回您要的這個(gè)東西 。 本游戲是用一個(gè)三維數(shù)組 int[][][] shapes = new int[][][]; 作為存儲(chǔ)方塊的數(shù)據(jù)結(jié)構(gòu)來保存方塊的 28種狀態(tài)的 。 通過多線程 ShapeDriver 類來實(shí)現(xiàn)圖形的自動(dòng)下移, 由于游戲中方塊的動(dòng)態(tài)性,每個(gè)方塊有一定的生命周期,所以選用線程來實(shí) 現(xiàn)方塊。 (shapes[type])。 存儲(chǔ)和表示障礙物 用一個(gè)和顯示區(qū)域的面板大小相對(duì)應(yīng)的二維數(shù)組保存障礙物的位置信息, 如果對(duì)應(yīng)的位置是障礙物,則這個(gè)數(shù)組中相應(yīng)的元素就為 1,否則就為 0。 } return body[tempStatus][y*4 + x] == 1。 x4。amp。 代碼如下: 17 private void deleteFullLine() { for(int y=。 x。 y0。 } } for(int x=0。 } 利用循環(huán)語句從屏幕最底行依次向上對(duì)有方塊的每一行進(jìn)行判斷, 判斷某一行中是否有空白,如果沒有空白的話, 則 將當(dāng)前的行號(hào)傳遞給 deleteLine(int lineNum)方法 ,由該方法實(shí)現(xiàn)消除當(dāng)前行,并將上面 的方塊依次下移一行,最后再重新調(diào)用deleteFullLine()方法進(jìn)行查找 ,直到所有行都檢查一遍結(jié)束。 x++) { for(int y=0。 } } } 障礙物的顯示 通 過 視 圖 層 的 GamePanel 類的 paint(Graphics g) 方 法 調(diào) 用 Ground 的drawMe(Graphics g) 方法,從而實(shí)現(xiàn)障礙物的繪制,代碼如下: public void drawMe(Graphics g) { for(int x=0。 y++) { if(zaw[x][y] == 1) { (x*, 19 y*, , , true)。 24 結(jié) 論 游戲設(shè)計(jì)與實(shí)踐是一項(xiàng)復(fù)雜而且龐大的工作,在選題之后,我才意識(shí)到過程的艱難,因?yàn)橐郧皬膩頉]有接觸過游戲設(shè)計(jì),剛開始時(shí)有點(diǎn)迷茫和彷徨。并實(shí)現(xiàn)幾個(gè)可演示的游戲軟件,其中有很多應(yīng)用了學(xué)習(xí)的相關(guān)技術(shù),并且做到了圖、文、聲并茂,能實(shí)際演示。 提高了中、英文資料的檢索能力。但這并不表明前途就是渺茫的,通過這次實(shí)踐,進(jìn)行了一次從底而上和自上