Unity 网络斗地主  牌的类型

web版本演示地址:   http://www.dreamhome666.com/Desktop.html

在上个版本中,下面的角色在牌的后面,可以将角色做为一个Panel的子物体,然后调整Panel的depth,即可调整顺序!

进入正题,定义牌的类型!

用c#的enum来实现枚举判断,斗地主的牌的类型有,

/// <summary>
/// 牌类型
/// </summary>
public enum cardtype
{
    //未知类型
    none,
    //王炸
    wangzha,
    //炸弹
    zhadan,
    //四张带两张
    sidaier,
    //三个不带
    sangebudai,
    //三个带一
    sandaiyi,
    //三个带二
    sandaier,
    //两个三个
    lianggesange,
    //两个三个带二个
    lianggesangedaier,
    //两个三个带四个
    lianggesangedaisige,
    //三个三个
    sangesange,
    //三个三个带三个
    sangesangedaisange,
    //三个三个带六个
    sangesangedailiuge,
    //四个三个
    sigesange,
    //四个三个带四个
    sigesangedaisange,
    //四个三个带八个
    sigesangedailiuge,
    //五个三个
    wugesange,
    //五个三个带五个
    wugesangedaiwuge,
    //六个三个
    liugesange,
    //顺子
    danshun,
    //双顺
    shangshun,
    //对子
    duizi,
    //单个
    dan
}

判断牌的类型及大小!

using UnityEngine;
using System.Collections;
using System.Collections.Generic;
/*
* 判断牌的类型
*/
public class CardPop : MonoBehaviour
{
/// <summary>
/// 判断是否包含大小王
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
public bool ishavewang(int[] data)
{
for (int i = 0; i < data.Length; i++)
{
if (data[i] == 52 || data[i] == 53)
{
return true;
}
}
return false;
}
/// <summary>
/// 是否带2
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
public bool isdai2(int[] data)
{
for (int i = 0; i < data.Length; i++)
{
if (data[i]%13==1)
{
return true;
}
}
return false;
}
/// <summary>
/// 判断对子 53和52是大王和小王
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
public bool isduizi(int[] data,out int max)
{
max = -1;
if (ishavewang(data))
{
return false;
}
int temp1 = data[0] % 13;
int temp2 = data[1] % 13;
if (temp1 == temp2)
{
max = temp1;
if (temp1 == 0)
{
max = 13;
}
if (temp1 == 1)
{
max = 14;
}
return true;
}
return false;
}
/// <summary>
/// 双顺
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
public bool isshuangshun(int[] data,out int max)
{
max = -1;
if (ishavewang(data)||isdai2(data))
{
return false;
}
for (int i = 0; i < data.Length; i += 2)
{
if (i == data.Length - 2)
{
int temp1 = data[i] % 13;
int temp2 = data[i + 1] % 13;
if (temp1 != temp2)
{
return false;
}
}
else
{
int temp1 = data[i] % 13;
int temp2 = data[i + 1] % 13;
if (temp1 == 0)
{
temp1 = 13;
}
if (temp2 == 0)
{
temp2 = 13;
}
int temp3 = data[i + 2] % 13;
if (temp1 != temp2 || temp2 - temp3 != 1)
{
return false;
}
}
}
max = data[0] % 13;
return true;
}
/// <summary>
/// 单顺
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
public bool isdanshun(int[] data,out int max)
{
max = -1;
if (ishavewang(data)||isdai2(data))
{
return false;
}
for (int i = 0; i < data.Length-1; i++)
{
int temp1 = data[i] % 13;
int temp2 = data[i+1] % 13;
if (temp1 == 0)
{
temp1 = 13;
}
if (temp2 == 0)
{
temp2 = 13;
}
if (temp1 - temp2 != 1)
{
return false;
}
}
max = data[0] % 13;
return true;
}
/// <summary>
/// 六个三个
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
public bool isliugesange(int[] data,out int max)
{
max = -1;
List<int> data1 = new List<int>();
int count1 = 0;
for (int i = 0; i < data.Length; i++)
{
if (data[i] == 52 || data[i] == 53)
{
continue;
}
int data2 = data[i] % 13;
if (data1.Contains(data2))
{
continue;
}
int count = 0;
for (int j = 0; j < data.Length; j++)
{
if (data[j] == 52 || data[j] == 53)
{
continue;
}
int data3 = data[j] % 13;
if (data2 == data3)
{
count++;
}
}
if (count == 3)
{
data1.Add(data2);
count1++;
}
}
if (count1 == 6)
{
for (int i = 0; i < data1.Count; i++)
{
if (i != data1.Count - 1)
{
int m1 = data1[i];
int m2 = data1[i + 1];
if (m1 == 0)
{
m1 = 13;
}
if (m2 == 0)
{
m2 = 13;
}
if (m1 - m2 != 1)
{
return false;
}
}
}
max = data1[0];
return true;
}
return false;
}
/// <summary>
/// 五个三个带五个
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
public bool iswugesangedaiwuge(int[] data,out int max)
{
max = -1;
List<int> data1 = new List<int>();
int count1 = 0;
for (int i = 0; i < data.Length; i++)
{
if(data[i]==52||data[i]==53)
{
continue;
}
int data2 = data[i]%13;
if (data1.Contains(data2))
{
continue;
}
int count = 0;
for (int j = 0; j < data.Length; j++)
{
if (data[j] == 52 || data[j] == 53)
{
continue;
}
int data3 = data[j] % 13;
if (data2 == data3)
{
count++;
}
}
if (count == 3)
{
data1.Add(data2);
count1++;
}
}
if (count1 == 5)
{
for (int i = 0; i < data1.Count; i++)
{
if (i != data1.Count - 1)
{
int m1 = data1[i];
int m2 = data1[i + 1];
if (m1 == 0)
{
m1 = 13;
}
if (m2 == 0)
{
m2 = 13;
}
if (m1 - m2 != 1)
{
return false;
}
}
}
max = data1[0];
return true;
}
return false;
}
/// <summary>
/// 五个三个
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
public bool iswugesange(int[] data,out int max)
{
max = -1;
if(ishavewang(data))
{
return false;
}
List<int> data1 = new List<int>();
int count1 = 0;
for (int i = 0; i < data.Length; i++)
{
if (data[i] == 52 || data[i] == 53)
{
continue;
}
int data2 = data[i] % 13;
if (data1.Contains(data2))
{
continue;
}
int count = 0;
for (int j = 0; j < data.Length; j++)
{
if (data[j] == 52 || data[j] == 53)
{
continue;
}
int data3 = data[j] % 13;
if (data2 == data3)
{
count++;
}
}
if (count == 3)
{
data1.Add(data2);
count1++;
}
}
if (count1 == 5)
{
for (int i = 0; i < data1.Count; i++)
{
if (i != data1.Count - 1)
{
int m1 = data1[i];
int m2 = data1[i + 1];
if (m1 == 0)
{
m1 = 13;
}
if (m2 == 0)
{
m2 = 13;
}
if (m1 - m2 != 1)
{
return false;
}
}
}
max = data1[0];
return true;
}
return false;
}
/// <summary>
/// 四个三个带八个
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
public bool issigesangedailiuge(int[] data,out int max)
{
max = -1;
if (ishavewang(data))
{
return false;
}
List<int> data1 = new List<int>();
int count1 = 0;
for (int i = 0; i < data.Length; i++)
{
int data2 = data[i] % 13;
if (data1.Contains(data2))
{
continue;
}
int count = 0;
for (int j = 0; j < data.Length; j++)
{
int data3 = data[j] % 13;
if (data2 == data3)
{
count++;
}
}
if (count == 3)
{
data1.Add(data2);
count1++;
}
}
List<int> datat = new List<int>();
int count2 = 0;
for (int i = 0; i < data.Length; i++)
{
int temp1 = data[i] % 13;
if (data1.Contains(temp1)||datat.Contains(temp1))
{
continue;
}
int count22=0;
for (int j = 0; j < data.Length; j++)
{
int temp2 = data[j] % 13;
if (temp1 == temp2)
{
count22++;
}
}
if (count22 == 2)
{
count2++;
datat.Add(temp1);
}
}
if (count1==4&&count2 == 4)
{
for (int i = 0; i < data1.Count; i++)
{
if (i != data1.Count - 1)
{
int m1 = data1[i];
int m2 = data1[i + 1];
if (m1 == 0)
{
m1 = 13;
}
if (m2 == 0)
{
m2 = 13;
}
if (m1 - m2 != 1)
{
return false;
}
}
}
max = data1[0];
return true;
}
return false;
}
/// <summary>
/// 四个三个带四个
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
public bool issigesangedaisige(int[] data,out int max)
{
max = -1;
List<int> data1 = new List<int>();
int count1 = 0;
for (int i = 0; i < data.Length; i++)
{
if (data[i] == 52 || data[i] == 53)
{
continue;
}
int data2 = data[i] % 13;
if (data1.Contains(data2))
{
continue;
}
int count = 0;
for (int j = 0; j < data.Length; j++)
{
if (data[j] == 52 || data[j] == 53)
{
continue;
}
int data3 = data[j] % 13;
if (data2 == data3)
{
count++;
}
}
if (count == 3)
{
data1.Add(data2);
count1++;
}
}
if (count1 == 4)
{
for (int i = 0; i < data1.Count; i++)
{
if (i != data1.Count - 1)
{
int m1 = data1[i];
int m2 = data1[i + 1];
if (m1 == 0)
{
m1 = 13;
}
if (m2 == 0)
{
m2 = 13;
}
if (m1 - m2 != 1)
{
return false;
}
}
}
max = data1[0];
return true;
}
return false;
}
/// <summary>
/// 四个三个
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
public bool issigesange(int[] data,out int max)
{
max = -1;
List<int> data1 = new List<int>();
int count1 = 0;
for (int i = 0; i < data.Length; i++)
{
if (data[i] == 52 || data[i] == 53)
{
continue;
}
int data2 = data[i] % 13;
if (data1.Contains(data2))
{
continue;
}
int count = 0;
for (int j = 0; j < data.Length; j++)
{
if (data[j] == 52 || data[j] == 53)
{
continue;
}
int data3 = data[j] % 13;
if (data2 == data3)
{
count++;
}
}
if (count == 3)
{
data1.Add(data2);
count1++;
}
}
if (count1 == 4)
{
for (int i = 0; i < data1.Count; i++)
{
if (i != data1.Count - 1)
{
int m1 = data1[i];
int m2 = data1[i + 1];
if (m1 == 0)
{
m1 = 13;
}
if (m2 == 0)
{
m2 = 13;
}
if (m1 - m2 != 1)
{
return false;
}
}
}
max = data1[0];
return true;
}
return false;
}
/// <summary>
/// 三个三个带六个
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
public bool issangesangedailiuge(int[] data,out int max)
{
max = -1;
if (ishavewang(data))
{
return false;
}
List<int> data1 = new List<int>();
int count1 = 0;
for (int i = 0; i < data.Length; i++)
{
int data2 = data[i] % 13;
if (data1.Contains(data2))
{
continue;
}
int count = 0;
for (int j = 0; j < data.Length; j++)
{
int data3 = data[j] % 13;
if (data2 == data3)
{
count++;
}
}
if (count == 3)
{
data1.Add(data2);
count1++;
}
}
List<int> datat = new List<int>();
int count2 = 0;
for (int i = 0; i < data.Length; i++)
{
int temp1 = data[i] % 13;
if (data1.Contains(temp1) || datat.Contains(temp1))
{
continue;
}
int count22 = 0;
for (int j = 0; j < data.Length; j++)
{
int temp2 = data[j] % 13;
if (temp1 == temp2)
{
count22++;
}
}
if (count22 == 2)
{
count2++;
datat.Add(temp1);
}
}
if (count1 == 3 && count2 == 3)
{
for (int i = 0; i < data1.Count; i++)
{
if (i != data1.Count - 1)
{
int m1 = data1[i];
int m2 = data1[i + 1];
if (m1 == 0)
{
m1 = 13;
}
if (m2 == 0)
{
m2 = 13;
}
if (m1 - m2 != 1)
{
return false;
}
}
}
max = data1[0];
return true;
}
return false;
}
/// <summary>
/// 三个三个带三个
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
public bool issangesangedaisange(int[] data,out int max)
{
max = -1;
List<int> data1 = new List<int>();
int count1 = 0;
for (int i = 0; i < data.Length; i++)
{
if (data[i] == 52 || data[i] == 53)
{
continue;
}
int data2 = data[i] % 13;
if (data1.Contains(data2))
{
continue;
}
int count = 0;
for (int j = 0; j < data.Length; j++)
{
if (data[j] == 52 || data[j] == 53)
{
continue;
}
int data3 = data[j] % 13;
if (data2 == data3)
{
count++;
}
}
if (count == 3)
{
data1.Add(data2);
count1++;
}
}
if (count1 == 3)
{
for (int i = 0; i < data1.Count; i++)
{
if (i != data1.Count - 1)
{
int m1 = data1[i];
int m2 = data1[i + 1];
if (m1 == 0)
{
m1 = 13;
}
if (m2 == 0)
{
m2 = 13;
}
if (m1 - m2 != 1)
{
return false;
}
}
}
max = data1[0];
return true;
}
return false;
}
/// <summary>
/// 三个三个
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
public bool issangesange(int[] data,out int max)
{
max = -1;
List<int> data1 = new List<int>();
int count1 = 0;
for (int i = 0; i < data.Length; i++)
{
if (data[i] == 52 || data[i] == 53)
{
continue;
}
int data2 = data[i] % 13;
if (data1.Contains(data2))
{
continue;
}
int count = 0;
for (int j = 0; j < data.Length; j++)
{
if (data[j] == 52 || data[j] == 53)
{
continue;
}
int data3 = data[j] % 13;
if (data2 == data3)
{
count++;
}
}
if (count == 3)
{
data1.Add(data2);
count1++;
}
}
if (count1 == 3)
{
for (int i = 0; i < data1.Count; i++)
{
if (i != data1.Count - 1)
{
int m1 = data1[i];
int m2 = data1[i + 1];
if (m1 == 0)
{
m1 = 13;
}
if (m2 == 0)
{
m2 = 13;
}
if (m1 - m2 != 1)
{
return false;
}
}
}
max = data1[0];
return true;
}
return false;
}
/// <summary>
/// 两个三个带四个
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
public bool islianggesangedaisige(int[] data,out int max)
{
max = -1;
if (ishavewang(data))
{
return false;
}
List<int> data1 = new List<int>();
int count1 = 0;
for (int i = 0; i < data.Length; i++)
{
int data2 = data[i] % 13;
if (data1.Contains(data2))
{
continue;
}
int count = 0;
for (int j = 0; j < data.Length; j++)
{
int data3 = data[j] % 13;
if (data2 == data3)
{
count++;
}
}
if (count == 3)
{
data1.Add(data2);
count1++;
}
}
List<int> datat = new List<int>();
int count2 = 0;
for (int i = 0; i < data.Length; i++)
{
int temp1 = data[i] % 13;
if (data1.Contains(temp1) || datat.Contains(temp1))
{
continue;
}
int count22 = 0;
for (int j = 0; j < data.Length; j++)
{
int temp2 = data[j] % 13;
if (temp1 == temp2)
{
count22++;
}
}
if (count22 == 2)
{
count2++;
datat.Add(temp1);
}
}
if (count1 == 2 && count2 == 2)
{
for (int i = 0; i < data1.Count; i++)
{
if (i != data1.Count - 1)
{
int m1 = data1[i];
int m2 = data1[i + 1];
if (m1 == 0)
{
m1 = 13;
}
if (m2 == 0)
{
m2 = 13;
}
if (m1 - m2 != 1)
{
return false;
}
}
}
max = data1[0];
return true;
}
return false;
}
/// <summary>
/// 两个三个带两个
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
public bool islianggesangedailiangge(int[] data,out int max)
{
max = -1;
List<int> data1 = new List<int>();
int count1 = 0;
for (int i = 0; i < data.Length; i++)
{
if (data[i] == 52 || data[i] == 53)
{
continue;
}
int data2 = data[i] % 13;
if (data1.Contains(data2))
{
continue;
}
int count = 0;
for (int j = 0; j < data.Length; j++)
{
if (data[j] == 52 || data[j] == 53)
{
continue;
}
int data3 = data[j] % 13;
if (data2 == data3)
{
count++;
}
}
if (count == 3)
{
data1.Add(data2);
count1++;
}
}
if (count1 == 2)
{
for (int i = 0; i < data1.Count; i++)
{
if (i != data1.Count - 1)
{
int m1 = data1[i];
int m2 = data1[i + 1];
if (m1 == 0)
{
m1 = 13;
}
if (m2 == 0)
{
m2 = 13;
}
if (m1 - m2 != 1)
{
return false;
}
}
}
max = data1[0];
return true;
}
return false;
}
/// <summary>
/// 两个三个
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
public bool islianggesange(int[] data,out int max)
{
max = -1;
List<int> data1 = new List<int>();
int count1 = 0;
for (int i = 0; i < data.Length; i++)
{
if (data[i] == 52 || data[i] == 53)
{
continue;
}
int data2 = data[i] % 13;
if (data1.Contains(data2))
{
continue;
}
int count = 0;
for (int j = 0; j < data.Length; j++)
{
if (data[j] == 52 || data[j] == 53)
{
continue;
}
int data3 = data[j] % 13;
if (data2 == data3)
{
count++;
}
}
if (count == 3)
{
data1.Add(data2);
count1++;
}
}
if (count1 == 2)
{
for (int i = 0; i < data1.Count; i++)
{
if (i != data1.Count - 1)
{
int m1 = data1[i];
int m2 = data1[i + 1];
if (m1 == 0)
{
m1 = 13;
}
if (m2 == 0)
{
m2 = 13;
}
if (m1 - m2 != 1)
{
return false;
}
}
}
max = data1[0];
return true;
}
return false;
}
/// <summary>
/// 三带二
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
public bool issandaier(int[] data,out int max)
{
max = -1;
if (ishavewang(data))
{
return false;
}
List<int> data1 = new List<int>();
int count1 = 0;
for (int i = 0; i < data.Length; i++)
{
int data2 = data[i] % 13;
if (data1.Contains(data2))
{
continue;
}
int count = 0;
for (int j = 0; j < data.Length; j++)
{
int data3 = data[j] % 13;
if (data2 == data3)
{
count++;
}
}
if (count == 3)
{
data1.Add(data2);
count1++;
}
}
List<int> datat = new List<int>();
int count2 = 0;
for (int i = 0; i < data.Length; i++)
{
int temp1 = data[i] % 13;
if (data1.Contains(temp1) || datat.Contains(temp1))
{
continue;
}
int count22 = 0;
for (int j = 0; j < data.Length; j++)
{
int temp2 = data[j] % 13;
if (temp1 == temp2)
{
count22++;
}
}
if (count22 == 2)
{
count2++;
datat.Add(temp1);
}
}
if (count1 == 1 && count2 == 1)
{
max = data1[0];
if (data1[0] == 0)
{
max = 13;
}
if (data1[0] == 1)
{
max = 14;
}
return true;
}
return false;
}
/// <summary>
/// 三带一
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
public bool issandaiyi(int[] data,out int max)
{
max = -1;
List<int> data1 = new List<int>();
int count1 = 0;
for (int i = 0; i < data.Length; i++)
{
if (data[i] == 52 || data[i] == 53)
{
continue;
}
int data2 = data[i] % 13;
if (data1.Contains(data2))
{
continue;
}
int count = 0;
for (int j = 0; j < data.Length; j++)
{
if (data[j] == 52 || data[j] == 53)
{
continue;
}
int data3 = data[j] % 13;
if (data2 == data3)
{
count++;
}
}
if (count == 3)
{
data1.Add(data2);
count1++;
}
}
if (count1 == 1)
{
max = data[0];
if (data1[0] == 0)
{
max = 13;
}
if (data1[0] == 1)
{
max = 14;
}
return true;
}
return false;
}
/// <summary>
/// 三个不带
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
public bool issange(int[] data,out int max)
{
max = -1;
List<int> data1 = new List<int>();
int count1 = 0;
for (int i = 0; i < data.Length; i++)
{
if (data[i] == 52 || data[i] == 53)
{
continue;
}
int data2 = data[i] % 13;
if (data1.Contains(data2))
{
continue;
}
int count = 0;
for (int j = 0; j < data.Length; j++)
{
if (data[j] == 52 || data[j] == 53)
{
continue;
}
int data3 = data[j] % 13;
if (data2 == data3)
{
count++;
}
}
if (count == 3)
{
data1.Add(data2);
count1++;
}
}
if (count1 == 1)
{
max = data1[0];
if (data1[0] == 0)
{
max = 13;
}
if (data1[0] == 1)
{
max = 14;
}
return true;
}
return false;
}
/// <summary>
/// 四带二
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
public bool issidaier(int[] data,out int max)
{
max = -1;
for (int i = 0; i < data.Length; i++)
{
if (data[i] == 52 || data[i] == 53)
{
continue;
}
int data1 = data[i] % 13;
int count1=0;
for (int j = 0; j < data.Length; j++)
{
if (data[j] == 52 || data[j] == 53)
{
continue;
}
int data2 = data[j] % 13;
if (data1 == data2)
{
count1++;
}
}
if (count1 == 4)
{
max = data1;
if (data1 == 0)
{
max = 13;
}
if (data1 == 1)
{
max = 14;
}
return true;
}
}
return false;
}
/// <summary>
/// 炸弹
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
public bool iszhadan(int[] data,out int max)
{
max = -1;
if (ishavewang(data))
{
return false;
}
int data1 = data[0] % 13;
int data2 = data[1] % 13;
int data3 = data[2] % 13;
int data4 = data[3] % 13;
if (data1 == data2 && data1 == data3 && data1 == data4)
{
max = data1;
if (data1 == 0)
{
max = 13;
}
if (data1 == 1)
{
max = 14;
}
return true;
}
return false;
}
public bool iswangzha(int[] data,out int max)
{
max = 16;
if (data[0] == 53 && data[1] == 52)
{
return true;
}
else
{
return false;
}
}
public bool isok(int[] data,out int max)
{
max = -1;
int temp=-1;
switch (data.Length)
{
case 1:
if (data[0]%13 == 0)
{
max = 13;
}
if (data[0]%13 == 1)
{
max = 14;
}
if (data[0] == 52)
{
max = 15;
}
if (data[0] == 53)
{
max = 16;
}
max = data[0] % 13;
return true;
break;
case 2:
if (isduizi(data,out temp)||iswangzha(data,out temp))
{
max = temp;
return true;
}
break;
case 3:
if (issange(data,out temp))
{
max = temp;
return true;
}
break;
case 4:
if (issandaiyi(data,out temp)||iszhadan(data,out temp))
{
max = temp;
return true;
}
break;
case 5:
if (issandaier(data,out temp) || isdanshun(data,out temp))
{
max = temp;
return true;
}
break;
case 6:
if (isdanshun(data,out temp) || isshuangshun(data,out temp) || islianggesange(data,out temp) || issidaier(data,out temp))
{
max = temp;
return true;
}
break;
case 7:
if (isdanshun(data,out temp))
{
max = temp;
return true;
}
break;
case 8:
if (isdanshun(data, out temp) || isshuangshun(data, out temp) || islianggesangedailiangge(data, out temp))
{
max = temp;
return true;
}
break;
case 9:
if (isdanshun(data, out temp) || issangesange(data, out temp))
{
max = temp;
return true;
}
break;
case 10:
if (isdanshun(data, out temp) || isshuangshun(data, out temp))
{
max = temp;
return true;
}
break;
case 11:
if (isdanshun(data, out temp))
{
max = temp;
return true;
}
break;
case 12:
if (isdanshun(data, out temp) || isshuangshun(data, out temp) || issigesange(data, out temp) || issangesangedaisange(data, out temp))
{
max = temp;
return true;
}
break;
case 13:
if (isdanshun(data, out temp))
{
max = temp;
return true;
}
break;
case 14:
if (isdanshun(data, out temp) || isshuangshun(data, out temp))
{
max = temp;
return true;
}
break;
case 15:
if (isdanshun(data, out temp) || iswugesange(data, out temp))
{
max = temp;
return true;
}
break;
case 16:
if (isshuangshun(data, out temp) || issigesangedaisige(data, out temp))
{
max = temp;
return true;
}
break;
case 18:
if (isshuangshun(data, out temp) || isliugesange(data, out temp))
{
max = temp;
return true;
}
break;
case 20:
if (isshuangshun(data, out temp))
{
max = temp;
return true;
}
break;
default:
return false;
}
return false;
}
}

Unity 网络斗地主 判断牌的类型的更多相关文章

  1. Unity 网络斗地主 牌的一些算法

    Unity 网络斗地主  牌的一些算法 在这儿说一下,我的项目是用svn的方式,上传在https://v2.svnspot.com/18666451713.doudizhu这个svn上,大家可以下载T ...

  2. Unity网络斗地主 服务端

    Unity网络斗地主  服务端 @by梦想之家2工作室 阿龙 已经做好了服务器框架,并且能实现服务器给客户端分牌的问题!

  3. Unity NGUI 网络斗地主 -发牌 脚本交互

    Unity NGUI 网络斗地主 -发牌 脚本交互 @By 灰太龙 Unity4.2.1f4 NGUI 3.0.4 本篇说的问题是脚本与控件的交互! 现在对界面进行了改进,先看副图! 1.制作发牌效果 ...

  4. Unity NGUI 网络斗地主 -制作图集 Atlas

    Unity NGUI 网络斗地主 -制作图集 Atlas by @杨海龙 开发环境   Win7+Unity4.2.1f4+NGUI 3.0.4版本 这一节告诉大家如何制作(图集)Atlas! 1.首 ...

  5. Unity NGUI 网络斗地主 -界面制作

    Unity NGUI 网络斗地主 -界面制作 源文件在群(63438968群共享!) @灰太龙 这一节说一下NGUI的界面摆放,并且教会大家使用NGUI的自适应功能! 在这里感谢@Gamer,是他给我 ...

  6. iOS中利用CoreTelephony获取用户当前网络状态(判断2G,3G,4G)

    前言: 在项目开发当中,往往需要利用网络.而用户的网络环境也需要我们开发者去注意,根据不同的网络状态作相应的优化,以提升用户体验. 但通常我们只会判断用户是在WIFI还是移动数据,而实际上,移动数据也 ...

  7. Android 网络连接判断与处理

    Android网络连接判断与处理  获取网络信息需要在AndroidManifest.xml文件中加入相应的权限. <uses-permission android:name="and ...

  8. Map集合、HashMap集合、LinkedHashMap集合、Hashtable集合、Collections工具类和模拟斗地主洗牌和发牌

    1.Map集合概述和特点 * A:Map接口概述  * 查看API可以知道:          * 将键映射到值的对象          * 一个映射不能包含重复的键          * 每个键最多 ...

  9. 利用CoreTelephony获取用户当前网络状态(判断2G,3G,4G)

    前言: 在项目开发当中,往往需要利用网络.而用户的网络环境也需要我们开发者去注意,根据不同的网络状态作相应的优化,以提升用户体验. 但通常我们只会判断用户是在WIFI还是移动数据,而实际上,移动数据也 ...

随机推荐

  1. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(35)-文章发布系统②-构建项目

    原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(35)-文章发布系统②-构建项目 注:阅读本文,需要阅读本系列的之前文章 代码生成器下载地址(文章开头处) ...

  2. Linux编程---线程

    首先说一下线程的概念.事实上就是运行在进程的上下文环境中的一个运行流.普通进程仅仅有一条运行流,可是线程提供了多种运行的路径并行的局面. 同一时候,线程还分为核心级线程和用户级线程.主要差别在属于核内 ...

  3. CFS: 虚拟运行时间

    http://edsionte.com/techblog/archives/4331 nice和prio的关系如下: #define NICE_TO_PRIO(nice) (MAX_RT_PRIO+n ...

  4. 利用systemtap学习Linux路由代码

    http://bbs.chinaunix.net/thread-4090162-1-1.html 一.为什么要这样做读kernel route子系统代码,当我弄懂了数据结构之间的关系以及控制流程后,心 ...

  5. CentOS使用sendmail发送邮件

    1.安装sendmail yum -y install sendmail 2.启动sendmail服务 service sendmail start 3.将发件内容写入mail.txt mail -s ...

  6. 10.24 noip模拟试题

    尼玛pdf依旧不会粘23333 /* 每段合并到总的里面 假设总的有X个 这一段有Y个 一共有X+1个空 那么就有 C(X+1,1)+C(X+1,2)+C(X+1,3)+...+C(X+1,Y) 这样 ...

  7. 9.27 noip模拟试题

    工资 (money/money.in/money.out) 时限1000ms 内存256MB 聪哥在暑假参加了打零工的活动,这个活动分为n个工作日,每个工作日的工资为Vi.有m个结算工钱的时间,聪哥可 ...

  8. 网站分析统计JS源码分享

    之前公司做了一个分析云平台,用来跟踪收集海量的用户行为的相关数据,供运营人员实时监控网站访问量,统计PV,UV,独立IP,访问时段,访问时长,热点追踪等多类信息,我用JS写了一个小插件,只需要再页面加 ...

  9. GridView中某一列值的总和(web)

    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)    {        if (e.Row.R ...

  10. Gprinter Android SDK V2.1.4 使用说明

    佳博打印机Android的SDK开发包,已更新到Gprinter Android SDK V2.1.4. IOS的SDK开发包更新为GprinterSDKandDemoforIOS_v1.0.8. 根 ...