• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于C語(yǔ)言的俄羅斯方塊游戲的設(shè)計(jì)與實(shí)現(xiàn)

      2020-02-01 03:24:00趙素萍
      電子技術(shù)與軟件工程 2020年9期
      關(guān)鍵詞:該游戲預(yù)覽方塊

      趙素萍

      (山西農(nóng)業(yè)大學(xué)信息學(xué)院 山西省晉中市 030800)

      1 引言

      俄羅斯方塊游戲是1984年由俄羅斯人阿列克謝·帕基特諾發(fā)明的。他是蘇聯(lián)科學(xué)院一名普通的軟件工程師。他非常喜歡開(kāi)發(fā)電腦游戲,俄羅斯方塊是不同形狀的方塊落在矩形框中,如果某一行沒(méi)有空格,就可以將該行刪除。這一特點(diǎn)不僅需要玩家開(kāi)動(dòng)腦筋,也可以釋放玩家的壓力,同時(shí)還有一定的挑戰(zhàn)。最主要的是該游戲符合“整理心理學(xué)”,即人們需要通過(guò)下落的新的方塊來(lái)整理已有的混亂局面。所以游戲開(kāi)發(fā)出來(lái)后很快就風(fēng)靡全球。

      2 總體設(shè)計(jì)

      該游戲基本規(guī)則[3]是通過(guò)一定的旋轉(zhuǎn)和移動(dòng)來(lái)放置方塊,方塊在下落、旋轉(zhuǎn)或左右移動(dòng)前要判斷方塊的下一個(gè)位置是否全部位置都沒(méi)有方塊,并且沒(méi)有超出界限,如果滿足條件即可移動(dòng),否則不能移動(dòng)。當(dāng)方塊不能繼續(xù)下落時(shí),要判斷所有行是否有滿行,如果有則要消除所有的滿行,將剩下行整行下降,并給玩家適當(dāng)加分。該游戲包含5 大功能:方塊預(yù)覽、等級(jí)設(shè)置、方塊移動(dòng)、行滿消除、游戲幫助。

      方塊預(yù)覽提示:因?yàn)橄乱粋€(gè)將要出現(xiàn)的方塊是隨機(jī)[4]的,所以設(shè)置了方塊預(yù)覽功能。玩家在移動(dòng)控制當(dāng)前的方塊時(shí),可以在界面中看到下一個(gè)將要出現(xiàn)的方塊的形狀。這樣有利于玩家在下一個(gè)出現(xiàn)時(shí)第一時(shí)間做出反應(yīng)。

      等級(jí)設(shè)置:如果游戲設(shè)置太快難度大的話,玩家會(huì)因?yàn)槭艽於艞?;如果游戲太?jiǎn)單可以一直玩下去,玩家會(huì)因?yàn)闆](méi)有挑戰(zhàn)而失去興趣。

      方塊移動(dòng)控制:方塊左右下和旋轉(zhuǎn)移動(dòng)的前提有兩點(diǎn):

      (1)不出界;

      (2)無(wú)方塊阻攔。

      行滿消除:從下往上判斷,如果某一行滿行則先將該行擦除,再將上面行下移。

      游戲幫助:如果玩家需要看游戲規(guī)則,會(huì)彈出按鍵使用說(shuō)明。

      3 關(guān)鍵代碼與功能實(shí)現(xiàn)

      3.1 關(guān)鍵代碼

      方塊預(yù)覽提示:

      當(dāng)前方塊不能再移動(dòng)時(shí),將下一個(gè)方塊變成當(dāng)前方塊,使用隨機(jī)函數(shù)確定一個(gè)隨機(jī)值,通過(guò)該隨機(jī)值確定下一個(gè)方塊,并在具體位置顯示。

      3.2 游戲?qū)崿F(xiàn)

      好的玩家應(yīng)該掌握以下幾點(diǎn):一次消除的行數(shù)越多越好、空洞數(shù)越少越好,堆的越低越好。游戲界面如圖1所示。

      玩家為了使得界面更加整齊,可以根據(jù)界面的布局以及下一個(gè)方塊的預(yù)覽,通過(guò)按上鍵來(lái)調(diào)整方塊的形狀。如圖2 中的F 方塊有4 種形狀可以變化。圖3 為變化后的一種情況。

      當(dāng)游戲結(jié)束時(shí),會(huì)根據(jù)用戶的得分給出相應(yīng)的等級(jí),分別為A+,A,B,C。如圖4所示。

      圖1:游戲界面

      圖2:形狀變換前

      圖3:形狀變換后

      圖4:結(jié)束界面

      4 結(jié)論

      通過(guò)該游戲的設(shè)計(jì)與開(kāi)發(fā),能夠讓開(kāi)發(fā)者更熟練的掌握C 語(yǔ)言中的數(shù)組、循環(huán)、函數(shù)等知識(shí)點(diǎn)。在開(kāi)發(fā)的過(guò)程中也遇到了很多問(wèn)題,由于需求分析階段沒(méi)有打下很好的基礎(chǔ),導(dǎo)致在后期開(kāi)發(fā)的過(guò)程中出現(xiàn)了很多問(wèn)題。通過(guò)該游戲的開(kāi)發(fā),更熟練的掌握了項(xiàng)目開(kāi)發(fā)的流程。

      猜你喜歡
      該游戲預(yù)覽方塊
      有多少個(gè)方塊
      不一樣的方塊橋
      新品預(yù)覽
      謎題方塊
      11月在拍電視劇預(yù)覽表
      電視指南(2016年11期)2016-12-20 22:09:38
      一道2014年上海高考題的探究
      bauma China 2014展前預(yù)覽
      景鴻堂2006年春拍預(yù)覽
      收藏(2006年3期)2006-03-10 09:34:38
      好大的方塊糖
      洛宁县| 乐山市| 呼图壁县| 万源市| 海南省| 昌邑市| 汪清县| 台湾省| 玉树县| 乐亭县| 黑山县| 都安| 阳原县| 光泽县| 积石山| 黑水县| 岳阳县| 神池县| 弋阳县| 长治市| 蕲春县| 南木林县| 岳西县| 石河子市| 元谋县| 铁岭县| 寿阳县| 奉节县| 甘德县| 马尔康县| 庆云县| 金坛市| 巴东县| 金昌市| 肃宁县| 木兰县| 昆山市| 获嘉县| 南木林县| 宁陵县| 花莲县|