一、功能介绍
1.1场景切换

我们的场景分为3个,一个开始场景,主要负责向其他场景的调转以及游戏的退出。另一个是游戏场景,是游戏的主体部分,实现娱乐功能。还一个是帮助场景,玩家可以在此查看游戏玩法。
T1开始场景
T2游戏场景
T3帮助场景
1.2游戏场景布置
整个游戏场景中分为三个部分,分别为:16个Button、2个Text、16张image、8张Sprite。
1)按钮的功能主要接收玩家的点击,显示下层纸牌,计数,传递匹配名。按钮将以纸牌背面显示。
2)文本的功能是实时显示倒计时以及玩家得分。
3))的功能是渲染纸牌,它将以纸牌正面显示。
1.3洗牌
每次游戏纸牌排布循序都将不同,增加游戏的不确定性和可玩性。
1.4点击三次匹配
当玩家翻开三张不同的扑克时,游戏将会自动检查前两张是否匹配,匹配则加分并且消除纸牌;不匹配则将前两张纸牌重新置反。
1.5匹配以及消除
游戏判断纸牌是否为相同的纸牌。将纸牌从游戏场景中消除
1.6总分
弹出游戏面板,并且显示玩家的总分。
二、 实现
2.1场景切换
给每个场景添加按钮,在场景跳转的按钮上添加脚本。使用SceneManager.LoadScene(“string”)? 函数可以通过修改string参数实现向不同场景的跳转。
2.2游戏场景布置
1)设置按钮、为预制体并用两个数组分别参访。通过排布预制体的方法可以快速布局游戏场景。同时调节按钮的图层高于,用于最先显示按钮。

T4
T5
2)设置按钮的source image将按钮的显示改为纸牌背面。同时,给按钮添加点击事件:向GameManager脚本传入名字和对应按钮,并且把按钮设为不可见、不可点击。
3)使用InvokeRepeating()函数实现每秒减一的功能,并且修改时间的文本,以更新时间。
4)16张的作用是渲染纸牌,它将以纸牌正面显示。纸牌由8张sprite用作纸牌正面。修改的source image使渲染纸牌。渲染纸牌正面所用到的用一个数组来存放。
T6
2.3洗牌
首先设置两个数组,一个存放0~15的正序数,另一个存放打乱后的数字作为T5数组渲染T6的index.
具体通过使用Random.Range(),函数实现随机取数,然后将取到的数存放到第二个数组中并remove()第一组中相应的内容。
2.4点击三次匹配
首先设置一个showing变量每次点击纸牌时加一,当加到3的时候调用匹配函数。并且重新置1。值得一提的是,在最后一次匹配时判断依据变为匹配数满14并且showing变量为2。其中匹配数为一个整形变量,每成功匹配一对,加二。
2.5匹配和消除
给每个按钮设置对应0~15的标签,用于确定点击的按钮在数组中的位置。通过这个位置访问T6相应位置上的名字。每次点击纸牌都将传出对应的名字,并在游戏主脚本中设置一个集合接收。通过比较集合中前两个元素来检查是否匹配。如果匹配成功就将传值的按钮可见性通过GetComponent<>().enable设置为false。并且把被渲染的也设置为false。然后再把接收名字和按钮的集合清空。
如果匹配不成过,那么重新把就收到的按钮设为可点击,并且把按钮设为可见,把底层设为不可见。
2.7总分
设置一个Panel,并且一开始设为不可见,当倒计时为0时,调节为可见。在Panel上添加得分文本、重来和返回菜单的按钮。
得分文本通过访问游戏的得分数据来显示。给按钮添加场景跳转功能。
操作系统里自带的纸牌是怎样子玩的呢?也许还有大部分人没玩过,不知道怎么玩,下面就来给大家分享玩的方法。
工具/材料Windows7
01首先,点击开始按钮,再点击所有程序,找到游戏点击,再点击纸牌。
02打开后如图界面,点击左上方的背面牌,可以翻出三张牌。
03继续点击背面牌,就可以再翻出新的三张牌,然后从翻出的最前面一张开始看,如下第二张图上的红6,就到底下那一排牌子中找出比它大1的黑牌,也就是黑7,有的话就可以将红6放到黑7下面,才可以看第二张,没有则需要继续翻牌。如第三张图,红5点一下,再到底下黑6处点一下,就会排下去了。

翻三张牌太难了些,可以点击游戏,选项,点选翻一张牌,确定。点击退出并以新设置开始新游戏。
05再看界面上,黑2点击一下,再到红3点击一下排过去,再红3点一下,到黑4点一下就排过去。效果如下第二张图的排列432,左侧空出一个位,右边的K最大,可以点到空位上,就可以翻K后面的牌。
06再继续翻上面的牌,翻出来如果是A,最小的则可以点击到右侧的空位上。
07下面的黑桃2按顺序叠到上面的黑桃A上。就这样想方设法将下面的按着从大到小的排序方式,还要一红一黑进行排列。再把它们一张张从小到大,同色同类放到右上方的四个空位上直到全部排上去就胜利了。


