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

?

Scratch版俄羅斯方塊

2023-03-28 08:50:15任亞飛
電腦報(bào) 2023年11期
關(guān)鍵詞:圖章方塊黃色

任亞飛

俄羅斯方塊是由阿列克謝·帕基特諾夫于1984年6月發(fā)明的休閑游戲。俄羅斯方塊原名是俄語(yǔ)Тетрис(英語(yǔ)是Tetris),這個(gè)名字來(lái)源于希臘語(yǔ)tetra,意思是“四”,而游戲的作者最喜歡網(wǎng)球(tennis)。于是,他把兩個(gè)詞tetra和tennis合而為一,命名為Tetris,這也就是俄羅斯方塊名字的由來(lái)。玩法主要是由不同形狀的方塊從上面不斷落下,填滿一排時(shí)就會(huì)消除并增加分?jǐn)?shù),方塊摞到頂時(shí)游戲結(jié)束。這次我們用Scratch制作俄羅斯方塊游戲,感受自己成為這款游戲的創(chuàng)造者的興奮吧!

一、程序思路

1.角色背景繪制與背景格的生成

2.角色控制與運(yùn)動(dòng)以及判斷輸贏

3.消除方塊與方塊回填

二、制作過程

1.角色背景繪制與背景格的生成角色“底板格”大小是24×24,由3個(gè)造型組成,綠色、黃色兩個(gè)相同大小的格子造型;一條橫線的造型,3個(gè)造型的輪廓粗細(xì)為10。

角色“方塊”采用黃色填充,大小也是24×24,本文總共由7個(gè)造型組成,根據(jù)24×24的大小的格子來(lái)組合成7個(gè)不同的造型圖案。

角色“下一步”是復(fù)制角色“方塊”,然后改了填充顏色為黑(如圖1)。

背景格生成程序定義了兩個(gè)函數(shù):分別為“行”和“游戲背景”。

角色“底板格”的“行”函數(shù),因?yàn)榻巧暗装甯瘛本G底背造型為24×24的大小,所以往x軸的方向移動(dòng)24步為一個(gè)格子距離,背景的大小為10×15格,一行格子的數(shù)量為10個(gè)。由此可以把函數(shù)“行”定義為:換成角色“底板格”綠底背的造型,圖章一次后將x坐標(biāo)增加24重復(fù)10次。

角色“底板格”的“游戲背景”函數(shù):每開始一次游戲,我們需要把上次游戲的圖章部分刪除掉,給角色“底板格”一個(gè)起始坐標(biāo)值,同時(shí)隱藏該角色“底板格”,因?yàn)槲覀冎恍枰吹綀D章部分,角色在舞臺(tái)顯示有點(diǎn)格格不入,所以隱藏掉。開始執(zhí)行函數(shù)“行”,那么一排就生成好了,然后回到x軸方向的原點(diǎn),把y軸增加-24,和函數(shù)“行”一起重復(fù)執(zhí)行15次,10×15的大小的背景格就瞬間生成了。

線程:點(diǎn)擊綠旗后執(zhí)行函數(shù)“游戲背景”,背景瞬間生成(如圖2)。

2.背景繪制

繪制背景時(shí)注意背景的黃色邊框線顏色跟角色“方塊”顏色要相同,給角色“方塊”控制左右移動(dòng),旋轉(zhuǎn),到達(dá)底部時(shí)圖章的判斷(如圖3)。

3.角色控制與運(yùn)動(dòng)

新建三個(gè)全局變量:“造型”“游戲控制”“分?jǐn)?shù)”。

角色“方塊”:方塊從正中間向下掉,掉落的造型是角色“下一步”顯示的造型,利用鍵盤方向鍵控制角色“方塊”的左右移動(dòng)以及水平翻轉(zhuǎn)。

方塊的下落:方塊面向90度的方向,隱藏方塊,換成1到7的隨機(jī)造型,本文角色固定在(-48,172)坐標(biāo)值上,將變量“造型”設(shè)為角色“下一步”的造型編號(hào);重復(fù)執(zhí)行以下腳本:等待0.5秒,顯示,將y坐標(biāo)增加-24,換成變量“造型”的造型。如果碰到舞臺(tái)底部的黃色,就把y坐標(biāo)增加24,蓋下圖章,再次把變量“造型”設(shè)為角色“下一步”的造型編號(hào),廣播“判斷消除”的消息(注:此消息是在角色“背景格”作消格和填充的用途),再次回到原點(diǎn)起始坐標(biāo)值隱藏該角色(如圖4)。

方塊的移動(dòng)水平翻轉(zhuǎn):按下鍵盤方向鍵左對(duì)應(yīng)x軸方向,按下就增加-24,如果碰到左邊顏色黃那么x軸就增加24;按下鍵盤方向鍵右對(duì)應(yīng)x軸方向增加24,如果碰到右邊顏色黃那么x軸就增加-24;按下鍵盤方向鍵上右旋轉(zhuǎn)90度,碰到顏色黃,說(shuō)明不夠翻轉(zhuǎn)距離,返回90度抵消,相當(dāng)于減去90度回到原來(lái)的度數(shù);按下鍵盤方向鍵下主要是給角色“方塊”下落速度,y坐標(biāo)增加-24,一直按達(dá)到快速下降的原理,如果碰到舞臺(tái)底部或者角色“方塊”的顏色為黃色就把y軸增加24圖章該角色造型(如出現(xiàn)bug可以參考下圖給一個(gè)角色下落區(qū)間)(如圖5)。

角色“下一步”:作用是游戲區(qū)域下落的方塊提前在舞臺(tái)的右下方“下一步”那里顯示出來(lái)。

具體實(shí)現(xiàn):我們給變量“游戲控制”賦值為0,把角色“下一步”固定在舞臺(tái)右下方下一步的區(qū)域,面向90度的方向,換成1到7的隨機(jī)造型;重復(fù)執(zhí)行以下腳本——等待角色“方塊”的y坐標(biāo)等于172,換成1到7的隨機(jī)造型,將變量“游戲控制”增加1,等待0.5秒。(注:本文角色“方塊”的y坐標(biāo)起始值在舞臺(tái)的y坐標(biāo)172高度。)

重復(fù)執(zhí)行等待一秒,將變量“游戲控制”設(shè)為0。變量具體作用是控制游戲的結(jié)束(如圖6)。

4.判斷輸贏

根據(jù)變量“游戲控制”來(lái)判斷。因?yàn)榻巧胺綁K”是從y坐標(biāo)172向下掉落的,遇到黃色就會(huì)圖章自己,自己的顏色也是黃色,如果一直圖章到頂部了,變量“游戲控制”就會(huì)增加到2(因?yàn)樽兞俊坝螒蚩刂啤敝貜?fù)執(zhí)行設(shè)為0的時(shí)間是1秒,而該變量增加1的條件是角色“方塊”y坐標(biāo)值等于172,獲取變量“游戲控制”增加的時(shí)間是0.5秒,該變量增加到2理論邏輯也就成立)。也就是大于1,那么我們?cè)诒尘澳_本寫當(dāng)變量“游戲控制”大于1時(shí)停止所有腳本運(yùn)行達(dá)到游戲結(jié)束的功能(如圖7)。

5.消除方塊與方塊回填

當(dāng)方塊填滿背景格一排以及多排的時(shí)候及時(shí)消除填滿區(qū)域,剩余的方塊會(huì)落到消除的區(qū)域,且X軸的方向不變。

消除原理——建立變量分?jǐn)?shù),利用角色“底板格”判斷線造型從下往網(wǎng)上偵測(cè),必須要從背景左邊x,底部y的方向重復(fù)偵測(cè)判斷15次,因?yàn)楸尘笆?0×15的大小。如果沒有碰到綠色,代表這一排是方塊格滿的,把變量“分?jǐn)?shù)”增加24,然后用函數(shù)“行”把這一排用角色“底板格”的綠底背造型圖章完這一排變成背景的底色綠色。

回填原理——如果碰到綠色,X軸方向增加24,一行是10個(gè)格子,重復(fù)10次換成角色“底板格”黃色格的造型去背景10×15的區(qū)域偵測(cè)碰到黃色,如果偵測(cè)到有碰黃色一次,就將現(xiàn)有的y坐標(biāo)值減去變量“分?jǐn)?shù)”的值,回落到消除的地方圖章黃色格達(dá)到現(xiàn)有方塊回填的效果。變量“分?jǐn)?shù)”增加值條件為消除一行增加24,y坐標(biāo)同時(shí)也增加24同步進(jìn)行,以此類推,所以回填圖章的邏輯就是當(dāng)前y左邊值減去變量“分?jǐn)?shù)”值去回填。再次把y坐標(biāo)增加變量“分?jǐn)?shù)”值上去繼續(xù)偵測(cè);同理偵測(cè)到綠色,那么就要換成“綠底背”的造型,減去y坐標(biāo)的變量分?jǐn)?shù)值,圖章綠底背造型(說(shuō)明偵測(cè)的地方?jīng)]有黃色格子填充,所以下去圖章綠色格子)。又返回上次坐標(biāo)繼續(xù)偵測(cè)。

“判斷消除”函數(shù),角色“方塊”掉落碰到黃色圖章后發(fā)送判斷消息,當(dāng)角色“底板格”接到角色“方塊”消息后執(zhí)行函數(shù)判斷消除。角色“方塊”每圖章一次,角色“底板格”就判斷一次消除和回填。達(dá)到游戲消除和回填功能。

猜你喜歡
圖章方塊黃色
方塊村(1)
旋轉(zhuǎn)吧!方塊!
你瞧,黃色
有多少個(gè)方塊
不一樣的方塊橋
光榮圖章
圖章
圖章
莫愁(2017年9期)2017-11-14 21:56:51
圖章
幼兒園(2015年23期)2016-01-06 08:33:46
幫孩子擺脫“黃色誘惑”
人生十六七(2015年5期)2015-02-28 13:08:27
西充县| 巨鹿县| 长葛市| 应用必备| 泉州市| 石泉县| 陕西省| 垦利县| 东丽区| 清新县| 凉城县| 仪陇县| 景东| 南充市| 泰来县| 聂荣县| 体育| 鄂尔多斯市| 博白县| 蒙山县| 扶绥县| 清丰县| 尚志市| 秦皇岛市| 渭南市| 汕尾市| 禹州市| 巴林右旗| 阿瓦提县| 凤庆县| 图片| 安庆市| 盐池县| 赤壁市| 武川县| 隆回县| 镇平县| 都匀市| 察隅县| 宝鸡市| 仁寿县|