亚洲精品中文免费|亚洲日韩中文字幕制服|久久精品亚洲免费|一本之道久久免费

      
      

            <dl id="hur0q"><div id="hur0q"></div></dl>

                從零開始做一個俄羅斯方塊游戲2:隨機生成形狀

                從零開始做一個俄羅斯方塊游戲2:隨機生成形狀

                我是會做游戲也會教你做游戲的小螞蟻,歡迎關注我,每天學點兒做游戲的知識。

                嗨!大家好,我是小螞蟻。今天我們繼續(xù)學習如何做一個俄羅斯方塊游戲。

                整個系列教程計劃按照這個流程圖開展,這也是我制作整個游戲的過程,今天我們就來看一下“隨機生成形狀”這個模塊。

                創(chuàng)建形狀

                想要實現(xiàn)隨機的生成形狀,首先必須要知道在俄羅斯方塊中一共有多少種形狀(也就是我們上一節(jié)中留下的第二個問題)。

                如圖,就是俄羅斯方塊中所有的 7 個形狀了,試著觀察一下這七個形狀有一個共同點。那就是每個形狀都是由 4 個小方塊組成,這是一個很重要的特征,這就意味著你只需要 4 個小方塊,就可以通過調整擺放位置,構建出游戲中的所有形狀了。

                對于游戲中的形狀來說,除了需要知道都有哪些之外,我們還需要另外一些信息,就是每一個形狀有多少“狀態(tài)”可以變換。

                如圖,是 7 種形狀的變換,形狀 1 3 分別有 4 個狀態(tài),形狀 4 6 分別有 2 個狀態(tài),形狀 7 只有 1 個狀態(tài)。

                這里我們把形狀的每一個不同的旋轉位置叫做一個“狀態(tài)”,以第 1 個形狀為例,它一共有 4 個狀態(tài),第 1 個狀態(tài)是“T”型,第 2 個狀態(tài)就是第 1 個狀態(tài)以順時針旋轉 90 度,第 3 個狀態(tài)是第 2 個狀態(tài)以順時針旋轉 90 度,第 4 個狀態(tài)是第 3 個狀態(tài)以順時針旋轉 90 度。第 4 個狀態(tài)再以順時針旋轉 90 度,就回到了第 1 個狀態(tài)。整個狀態(tài)切換是一個首尾相接的循環(huán)過程,每一個狀態(tài)都是以上一個狀態(tài)為基礎,順時針旋轉 90 度。

                你可以繼續(xù)觀察一下剩余的其他形狀,看看每一個形狀的狀態(tài)是否都滿足上述的條件。

                在確定了形狀之后,我們如何在游戲中把它們構建出來呢?答案其實很簡單,直接拼出來就好了。

                以第 1 個形狀為例,假設每一個小方塊的大小都是 50×50,以形狀的中心為坐標軸的中心,那么很容易就可以計算出 4 塊小方塊的具體位置。

                在得到了 4 個小方塊的位置之后,我們可以在微信小游戲制作工具中將 4 個小正方形(50×50)打包到一個容器中,然后分別為它們設置到對應的位置上,這樣一個形狀就創(chuàng)建好了。

                這里注意一下,當我們將 4 個小方塊打包成容器“形狀1”之后,這個容器整體是一個矩形,中點位于矩形的中心,這個中心也表示容器“形狀1”的位置。例如,將“形狀1”容器設置到(0,0)的位置,實際上是容器的中心點位于 (0,0) 的位置(這個在后續(xù)計算中需要用到,這里先了解一下)。

                剩余其它的幾個形狀也如此,可以先在紙上畫一下,計算出每個小方塊的位置,然后再在制作工具中創(chuàng)建出對應的形狀。

                隨機

                形狀創(chuàng)建好了,接著我們來看一下如何進行隨機。目前對于俄羅斯方塊的隨機有很多種方式,這里我們只說一下其中的兩種,一種是最古老的隨機,另一種是用的比較多的叫做“Bag7”的隨機。

                最古老的隨機其實就是每次生成的方塊都是從 1 7 個形狀中隨機的生成一個。由于每次生成都是隨機的,所以有可能出現(xiàn)連續(xù)多次生成同一種形狀,或者連續(xù)很多次都不生成某一種形狀的情況,這些情況會導致游戲難度的增加。

                這種隨機很簡單,我們只需要從 1 7 中,生成一個隨機數(shù),然后根據(jù)這個隨機數(shù)生成指定的形狀即可。

                后來,為了降低游戲的難度,普遍采用了叫做“Bag7”的隨機方法。就是生成一個由 1 7 的 7 個數(shù)字隨機排序組成的包(列表或者數(shù)組),然后按照這個包中的排序生成形狀,生成 7 個形狀后,就再創(chuàng)建一個這樣的包,然后再繼續(xù)。

                這種算法保證了同一個形狀最多只能連續(xù)出現(xiàn) 2 次(前一個包的最后一個數(shù),跟后一個包的第一個數(shù)相同)。同一個形狀最多只能間隔 12 次不出現(xiàn)(前一個包的第一個數(shù),跟后一個包的最后一個數(shù)相同)。

                接著,我們來看一下“Bag7”隨機算法的實現(xiàn)。首先,我們創(chuàng)建一個叫做“Bag7”的列表,這個列表中包含了 1 7 的 7 個數(shù)字。

                接著來看一下積木邏輯。

                微信小游戲制作工具為我們提供了一個“將列表隨機打亂”的積木塊,我們可以直接利用它來得到打亂了順序的列表(Bag7)。每當生成一個形狀后,就將變量“Bag7索引”增加 1,直到這個列表中的所有項遍歷完畢,然后再繼續(xù)生成下一個新的“Bag7″。

                好了,今天的內容就到這里了,稍微總結一下:我們了解了俄羅斯方塊中的 7 個形狀,以及每個形狀所包含的不同狀態(tài),最后了解了兩種不同的隨機算法。

                是不是有種“哇哦 ”的感覺?這么簡單的一個俄羅斯方塊游戲竟然能夠包含這么多的東西。所以說即使是一個小游戲,只要你用心研究,里面也包含著很多可以學到的東西。更何況,我們的這個小游戲才剛剛開始而已。

                鄭重聲明:本文內容及圖片均整理自互聯(lián)網,不代表本站立場,版權歸原作者所有,如有侵權請聯(lián)系管理員(admin#wlmqw.com)刪除。
                用戶投稿
                上一篇 2022年8月6日 06:09
                下一篇 2022年8月6日 06:09

                相關推薦

                • 請問秀兒是你嗎什么梗

                  簡要回答 秀兒是你嗎這句話其實沒有貶義的含義,這句話的意思是形容內容有趣,優(yōu)秀的意思。 現(xiàn)在很多人喜歡刷視頻,所以很多人會拍一些視頻供大家觀看,有些觀看者會在下面評論,有些人會評論…

                  2022年11月27日
                • dnf一鍵拾取(dnf一鍵拾取是全圖的嗎)

                  今天小編給各位分享dnf一鍵拾取的知識,其中也會對dnf一鍵拾取是全圖的嗎進行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關注本站,現(xiàn)在開始吧! dnf如何一鍵拾取物品 dnf一鍵…

                  2022年11月27日
                • 《寶可夢朱紫》3天銷量破千萬(寶可夢朱紫3天銷量破千萬了)

                  開局只能選一種御三家,不能同時擁有全部這是游戲設計的劇情不能更改的。 已經偷跑了寶可夢朱紫將于11月18日正式發(fā)售,而目前已有實體卡帶偷跑御三家進化型終于在泄露了,新葉喵站了起來,…

                  2022年11月27日
                • 【周末玩什么】3天銷量破千萬的《寶可夢 朱/紫》,為何被評價為“又爛又好”

                  本周推薦《寶可夢 朱/紫》和《第七境》。 本月18號《寶可夢 朱/紫》全球發(fā)售。截至發(fā)稿日,本作的MC媒體均分從79分跌至75分,玩家評分更是只有可憐的2.9分。發(fā)售之初,國內關于…

                  2022年11月27日
                • 微軟表示:《GTA6》預計將于2024年發(fā)售

                  微軟表示:《GTA6》預計將于2024年發(fā)售 近日,微軟在回應英國競爭與市場管理局(CMA)調查其收購動視暴雪時提到,《GTA6》預計將在2024年發(fā)售。 “備受期待的《GTA6》…

                  2022年11月26日
                • 英雄聯(lián)盟手游好玩嗎(英雄聯(lián)盟手游好玩還是端游好玩)

                  簡要回答 非常好玩,英雄聯(lián)盟手游這款游戲已經正式的進行公測,這款游戲是以5v5為模式進行對戰(zhàn)的,它是以英雄聯(lián)盟端游為原型進行開發(fā),里面的每一種玩法基本都沿襲了端游的特點。 01 這…

                  2022年11月25日
                • 游戲平臺有哪些(游戲平臺有哪些)

                  簡要回答 游戲平臺指的是多人通過互聯(lián)網在線游戲的平臺,例如qq游戲,聯(lián)眾世界,浩方電競平臺,VS競技游戲平臺等,只要你下載平臺,下載相關游戲,就能實現(xiàn)對戰(zhàn),擺脫了局域網的限制。 詳…

                  2022年11月25日
                • 好玩的塔防游戲(好玩的單機塔防手機游戲)

                  簡要回答 對于游戲愛好者來說塔防游戲并不陌生,畢竟很多人一開始玩的就是塔防游戲,比如大家都知道的植物大戰(zhàn)僵尸,而且如今植物大戰(zhàn)僵尸還在大家的視野里面,很多博主也會用植物大戰(zhàn)僵尸玩很…

                  2022年11月25日
                • 2022金搖桿獎公布:《艾爾登法環(huán)》獨中四元,成為最大贏家

                  2022金搖桿獎全部獎項已經公布,現(xiàn)象級熱門大作《艾爾登法環(huán)》拿下最佳多人游戲,評論家玩家選擇獎,最佳多人游戲,年度終極游戲等四項大獎,成為本次2022金搖桿獎的最大贏家。完整的獲…

                  2022年11月25日
                • 《光遇》11月25日紅石在哪里 11.25紅石位置

                  光遇11月25日的紅石出現(xiàn)在霞谷圓夢村,許多小伙伴都還不知道它具體在哪,下面就讓小編來給大家介紹一下光遇11.25紅石的位置,感興趣的小伙伴快來看看吧。 光遇11.25紅石位置 1…

                  2022年11月25日

                聯(lián)系我們

                聯(lián)系郵箱:admin#wlmqw.com
                工作時間:周一至周五,10:30-18:30,節(jié)假日休息