在线不卡日本ⅴ一区v二区_精品一区二区中文字幕_天堂v在线视频_亚洲五月天婷婷中文网站

  • <menu id="lky3g"></menu>
  • <style id="lky3g"></style>
    <pre id="lky3g"><tt id="lky3g"></tt></pre>

    從零開始做一個(gè)俄羅斯方塊游戲2:隨機(jī)生成形狀

    從零開始做一個(gè)俄羅斯方塊游戲2:隨機(jī)生成形狀

    我是會(huì)做游戲也會(huì)教你做游戲的小螞蟻,歡迎關(guān)注我,每天學(xué)點(diǎn)兒做游戲的知識(shí)。

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

    整個(gè)系列教程計(jì)劃按照這個(gè)流程圖開展,這也是我制作整個(gè)游戲的過(guò)程,今天我們就來(lái)看一下“隨機(jī)生成形狀”這個(gè)模塊。

    創(chuàng)建形狀

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

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

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

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

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

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

    在確定了形狀之后,我們?nèi)绾卧谟螒蛑邪阉鼈儤?gòu)建出來(lái)呢?答案其實(shí)很簡(jiǎn)單,直接拼出來(lái)就好了。

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

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

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

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

    隨機(jī)

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

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

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

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

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

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

    接著來(lái)看一下積木邏輯。

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

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

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

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

    相關(guān)推薦

    • 請(qǐng)問(wèn)秀兒是你嗎什么梗

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

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

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

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

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

      2022年11月27日
    • 【周末玩什么】3天銷量破千萬(wàn)的《寶可夢(mèng) 朱/紫》,為何被評(píng)價(jià)為“又爛又好”

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

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

      微軟表示:《GTA6》預(yù)計(jì)將于2024年發(fā)售 近日,微軟在回應(yīng)英國(guó)競(jìng)爭(zhēng)與市場(chǎng)管理局(CMA)調(diào)查其收購(gòu)動(dòng)視暴雪時(shí)提到,《GTA6》預(yù)計(jì)將在2024年發(fā)售。 “備受期待的《GTA6》…

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

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

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

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

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

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

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

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

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

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

      2022年11月25日

    聯(lián)系我們

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