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

Scratch版俄羅斯方塊

2023-03-28 08:50:15任亞飛
電腦報 2023年11期
關鍵詞:背景游戲

任亞飛

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

一、程序思路

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

2.角色控制與運動以及判斷輸贏

3.消除方塊與方塊回填

二、制作過程

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

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

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

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

角色“底板格”的“行”函數,因為角色“底板格”綠底背造型為24×24的大小,所以往x軸的方向移動24步為一個格子距離,背景的大小為10×15格,一行格子的數量為10個。由此可以把函數“行”定義為:換成角色“底板格”綠底背的造型,圖章一次后將x坐標增加24重復10次。

角色“底板格”的“游戲背景”函數:每開始一次游戲,我們需要把上次游戲的圖章部分刪除掉,給角色“底板格”一個起始坐標值,同時隱藏該角色“底板格”,因為我們只需要看到圖章部分,角色在舞臺顯示有點格格不入,所以隱藏掉。開始執行函數“行”,那么一排就生成好了,然后回到x軸方向的原點,把y軸增加-24,和函數“行”一起重復執行15次,10×15的大小的背景格就瞬間生成了。

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

2.背景繪制

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

3.角色控制與運動

新建三個全局變量:“造型”“游戲控制”“分數”。

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

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

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

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

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

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

4.判斷輸贏

根據變量“游戲控制”來判斷。因為角色“方塊”是從y坐標172向下掉落的,遇到黃色就會圖章自己,自己的顏色也是黃色,如果一直圖章到頂部了,變量“游戲控制”就會增加到2(因為變量“游戲控制”重復執行設為0的時間是1秒,而該變量增加1的條件是角色“方塊”y坐標值等于172,獲取變量“游戲控制”增加的時間是0.5秒,該變量增加到2理論邏輯也就成立)。也就是大于1,那么我們在背景腳本寫當變量“游戲控制”大于1時停止所有腳本運行達到游戲結束的功能(如圖7)。

5.消除方塊與方塊回填

當方塊填滿背景格一排以及多排的時候及時消除填滿區域,剩余的方塊會落到消除的區域,且X軸的方向不變。

消除原理——建立變量分數,利用角色“底板格”判斷線造型從下往網上偵測,必須要從背景左邊x,底部y的方向重復偵測判斷15次,因為背景是10×15的大小。如果沒有碰到綠色,代表這一排是方塊格滿的,把變量“分數”增加24,然后用函數“行”把這一排用角色“底板格”的綠底背造型圖章完這一排變成背景的底色綠色。

回填原理——如果碰到綠色,X軸方向增加24,一行是10個格子,重復10次換成角色“底板格”黃色格的造型去背景10×15的區域偵測碰到黃色,如果偵測到有碰黃色一次,就將現有的y坐標值減去變量“分數”的值,回落到消除的地方圖章黃色格達到現有方塊回填的效果。變量“分數”增加值條件為消除一行增加24,y坐標同時也增加24同步進行,以此類推,所以回填圖章的邏輯就是當前y左邊值減去變量“分數”值去回填。再次把y坐標增加變量“分數”值上去繼續偵測;同理偵測到綠色,那么就要換成“綠底背”的造型,減去y坐標的變量分數值,圖章綠底背造型(說明偵測的地方沒有黃色格子填充,所以下去圖章綠色格子)。又返回上次坐標繼續偵測。

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

猜你喜歡
背景游戲
“新四化”背景下汽車NVH的發展趨勢
《論持久戰》的寫作背景
當代陜西(2020年14期)2021-01-08 09:30:42
黑洞背景知識
游戲
晚清外語翻譯人才培養的背景
數獨游戲
瘋狂的游戲
飛碟探索(2016年11期)2016-11-14 19:34:47
爆笑游戲
背景鏈接
第八章直接逃出游戲
小學科學(2015年7期)2015-07-29 22:29:00
主站蜘蛛池模板: 91欧洲国产日韩在线人成| 国产成人盗摄精品| 国产又色又刺激高潮免费看| 国产乱人激情H在线观看| 呦女亚洲一区精品| 真实国产乱子伦视频| 久草热视频在线| 欧美在线精品一区二区三区| 狠狠躁天天躁夜夜躁婷婷| 亚洲香蕉在线| 99视频全部免费| 午夜不卡福利| 国产在线日本| 国产十八禁在线观看免费| 亚洲精品无码抽插日韩| 欧美日本中文| 曰AV在线无码| 国产精品免费p区| 久久亚洲中文字幕精品一区| 秋霞一区二区三区| 免费一极毛片| 欧美成a人片在线观看| 国产女人18毛片水真多1| 国产微拍一区| 成人亚洲视频| 亚洲一级毛片| 久久国产精品国产自线拍| 午夜国产大片免费观看| 精品国产免费第一区二区三区日韩| 国产精品99一区不卡| 国产视频一二三区| 91久久夜色精品国产网站| 国产亚洲精品97AA片在线播放| 国产精品太粉嫩高中在线观看| 久久国产乱子| 91欧美亚洲国产五月天| 91久久夜色精品国产网站 | 久久中文无码精品| 欧美成在线视频| 欧美不卡视频在线| 免费激情网站| 伊人天堂网| 色综合天天综合中文网| 亚洲男人的天堂在线观看| 国产午夜福利亚洲第一| 亚洲视频无码| 这里只有精品国产| 91在线日韩在线播放| 国产日本欧美在线观看| 婷婷色中文网| 在线免费无码视频| 无码综合天天久久综合网| 欧美v在线| 久久青草视频| 久久情精品国产品免费| 性做久久久久久久免费看| 午夜视频日本| 伊人成人在线视频| 丁香婷婷激情综合激情| 亚洲精选高清无码| 亚洲欧洲日韩久久狠狠爱 | 伊在人亚洲香蕉精品播放| 中文字幕第4页| 久久国产精品77777| 免费人欧美成又黄又爽的视频| 亚洲精品777| 国产综合欧美| 久久精品中文字幕免费| 国产在线八区| 狼友视频一区二区三区| 国产尹人香蕉综合在线电影| 久久午夜夜伦鲁鲁片不卡| 久久性视频| 免费国产在线精品一区| 潮喷在线无码白浆| 国产福利在线免费观看| 亚洲美女久久| 国产久操视频| 亚洲中文字幕23页在线| 亚洲男人天堂网址| 在线观看精品国产入口| 欧美精品1区|