一括丁、功能介紹
1.1場景切換
我們的場景分為3個,一個開始場景伶选,主要負責向其他場景的調(diào)轉(zhuǎn)以及游戲的退出史飞。另一個是游戲場景,是游戲的主體部分仰税,實現(xiàn)娛樂功能构资。還一個是幫助場景,玩家可以在此查看游戲玩法肖卧。
T1開始場景
T2游戲場景
T3幫助場景
1.2游戲場景布置
整個游戲場景中分為三個部分蚯窥,分別為:16個Button、2個Text塞帐、16張image拦赠、8張Sprite。
1)按鈕的功能主要接收玩家的點擊葵姥,顯示下層紙牌荷鼠,計數(shù),傳遞匹配名榔幸。按鈕將以紙牌背面顯示允乐。
2)文本的功能是實時顯示倒計時以及玩家得分。
3))圖片的功能是渲染紙牌削咆,它將以紙牌正面顯示牍疏。
1.3洗牌
每次游戲紙牌排布循序都將不同,增加游戲的不確定性和可玩性拨齐。
1.4點擊三次匹配
當玩家翻開三張不同的撲克時鳞陨,游戲?qū)詣訖z查前兩張是否匹配,匹配則加分并且消除紙牌瞻惋;不匹配則將前兩張紙牌重新置反厦滤。
1.5匹配以及消除
游戲判斷紙牌是否為相同的紙牌援岩。將紙牌從游戲場景中消除
1.6總分
彈出游戲面板,并且顯示玩家的總分掏导。
二享怀、 實現(xiàn)
2.1場景切換
給每個場景添加按鈕,在場景跳轉(zhuǎn)的按鈕上添加腳本趟咆。使用SceneManager.LoadScene(“string”)? 函數(shù)可以通過修改string參數(shù)實現(xiàn)向不同場景的跳轉(zhuǎn)添瓷。
2.2游戲場景布置
1)設(shè)置按鈕、圖片為預制體并用兩個數(shù)組分別參訪忍啸。通過排布預制體的方法可以快速布局游戲場景仰坦。同時調(diào)節(jié)按鈕的圖層高于圖片,用于最先顯示按鈕计雌。
T4
T5
2)設(shè)置按鈕的source image將按鈕的顯示圖片改為紙牌背面悄晃。同時,給按鈕添加點擊事件:向GameManager腳本傳入圖片名字和對應(yīng)按鈕凿滤,并且把按鈕設(shè)為不可見妈橄、不可點擊。
3)使用InvokeRepeating()函數(shù)實現(xiàn)每秒減一的功能翁脆,并且修改時間的文本眷蚓,以更新時間。
4)16張圖片的作用是渲染紙牌反番,它將以紙牌正面顯示沙热。紙牌由8張sprite用作紙牌正面。修改圖片的source image使圖片渲染紙牌罢缸。渲染紙牌正面所用到的圖片用一個數(shù)組來存放篙贸。
T6
2.3洗牌
首先設(shè)置兩個數(shù)組,一個存放0~15的正序數(shù)枫疆,另一個存放打亂后的數(shù)字作為T5數(shù)組渲染T6圖片的index.
具體通過使用Random.Range(),函數(shù)實現(xiàn)隨機取數(shù)爵川,然后將取到的數(shù)存放到第二個數(shù)組中并remove()第一組中相應(yīng)的內(nèi)容。
2.4點擊三次匹配
首先設(shè)置一個showing變量每次點擊紙牌時加一息楔,當加到3的時候調(diào)用匹配函數(shù)寝贡。并且重新置1。值得一提的是值依,在最后一次匹配時判斷依據(jù)變?yōu)槠ヅ鋽?shù)滿14并且showing變量為2圃泡。其中匹配數(shù)為一個整形變量,每成功匹配一對愿险,加二颇蜡。
2.5匹配和消除
給每個按鈕設(shè)置對應(yīng)0~15的標簽,用于確定點擊的按鈕在數(shù)組中的位置。通過這個位置訪問T6相應(yīng)位置上圖片的名字澡匪。每次點擊紙牌都將傳出對應(yīng)的名字,并在游戲主腳本中設(shè)置一個集合接收褒链。通過比較集合中前兩個元素來檢查是否匹配唁情。如果匹配成功就將傳值的按鈕可見性通過GetComponent<>().enable設(shè)置為false。并且把被渲染的圖片也設(shè)置為false甫匹。然后再把接收名字和按鈕的集合清空甸鸟。
如果匹配不成過,那么重新把就收到的按鈕設(shè)為可點擊兵迅,并且把按鈕設(shè)為可見抢韭,把底層圖片設(shè)為不可見。
2.7總分
設(shè)置一個Panel恍箭,并且一開始設(shè)為不可見刻恭,當?shù)褂嫊r為0時,調(diào)節(jié)為可見扯夭。在Panel上添加得分文本鳍贾、重來和返回菜單的按鈕。
得分文本通過訪問游戲的得分數(shù)據(jù)來顯示交洗。給按鈕添加場景跳轉(zhuǎn)功能骑科。