using UnityEngine;
using System.Collections;
using System .Collections .Generic ;
public class controller : MonoBehaviour {
public int[,]poker;
public int[,]pingMing1;
public int[,]pingMing2;
public int[,]diZhu;
int current=0;
int max=0;
// Vector2中一个存花色,一个存数值;
Dictionary <int ,Vector2 > dic;
void Start () {
}
void Awake(){
poker = new int[5,16];
diZhu = new int[5,18];
pingMing1 = new int[5,17];
pingMing2 = new int[5,17];
InitPoker();
dizhu();
}
// Update is called once per frame
void Update () {
}
// 初始化poker数组并赋值;
public void InitPoker(){
for(int i =1;i<=4;i++){
for(int j=1;j<=15;j++){
poker [i,j]=j;
}
}
}
// 生成花色随机数;
public int ColorRandom(){
int index = (int)Random.Range (1,5);
return index;
}
//生成牌点数随机数;
public int pokerRandom(){
int number = (int)Random.Range (3,16);
return number;
}
// 为地主和平民生成牌的点数,并加入地主和平民的数组中,已经生出的牌要从poker数组中清空;当再次生成牌时,要查看生成的牌是否已经发出;
public int[,] dizhu(){
for(int j=1;j<18;j++){
int i = ColorRandom();
int number = pokerRandom();
bool Itsout = pokerIsOut( i,number);
if(Itsout){
diZhu [i,j]=number;
print ("number="+number);
poker [i,number]=0;
// print ("j="+j);
}
else
--j;
}
return diZhu ;
}
//为平民1生成牌;
public int[,]pingming1(){
for(int j=1;j<18;j++){
int i = ColorRandom();
int number = pokerRandom();
bool Itsout = pokerIsOut( i,number);
if(Itsout){
pingMing1 [i,j]=number;
poker [i,number]=0;
}
else
j--;
}
return pingMing1 ;
}
// 为平民2生成牌;
public int[,]pingming2(){
for(int j=1;j<18;j++){
int i = ColorRandom();
int number = pokerRandom();
bool Itsout = pokerIsOut( i,number);
if(Itsout){
pingMing2 [i,j]=number;
poker [i,number]=0;
}
else
j--;
}
return pingMing2 ;
}
// 如果某张牌已经发出返回false,如果没有发出则返回true;
public bool pokerIsOut(int i,int j){
if(poker [i,j]==0)
return false;
else return true;
}
//牌中同一种花色进行排序
public int[,]NumberSort(int [,]someOnePoker){
for(int i=1;i<5;i++){
for(int j=1;;j++){
if(someOnePoker[i,j]==0)
current = j;
if(max<current)
max = current;
continue ;
}
}
for(int i=1;i<5;i++){
int temp;
for(int j=1;j<=max;j++){
if(someOnePoker[i,j]<someOnePoker[i,j+1]){
temp = someOnePoker[i,j];
someOnePoker[i,j]=someOnePoker[i,j+1];
someOnePoker[i,j+1]=temp;
}
}
}
return someOnePoker;
}
// 不同的花色之间进行排序;直接插入排序;
public void InsideColor_NumberSort(int[,]Number){
int temp=0;
for(int i=1;i<5;i++){
for(int j=1;j<=max;j++){
// if(Number[i,j]>Number [i+1,j])
// dic.Add (index,new Vector2 (i,Number[i,j]));
// else dic.Add (index,new Vector2 (i+1,Number [i+1,j]));
}
}
}
}
using System.Collections;
using System .Collections .Generic ;
public class controller : MonoBehaviour {
public int[,]poker;
public int[,]pingMing1;
public int[,]pingMing2;
public int[,]diZhu;
int current=0;
int max=0;
// Vector2中一个存花色,一个存数值;
Dictionary <int ,Vector2 > dic;
void Start () {
}
void Awake(){
poker = new int[5,16];
diZhu = new int[5,18];
pingMing1 = new int[5,17];
pingMing2 = new int[5,17];
InitPoker();
dizhu();
}
// Update is called once per frame
void Update () {
}
// 初始化poker数组并赋值;
public void InitPoker(){
for(int i =1;i<=4;i++){
for(int j=1;j<=15;j++){
poker [i,j]=j;
}
}
}
// 生成花色随机数;
public int ColorRandom(){
int index = (int)Random.Range (1,5);
return index;
}
//生成牌点数随机数;
public int pokerRandom(){
int number = (int)Random.Range (3,16);
return number;
}
// 为地主和平民生成牌的点数,并加入地主和平民的数组中,已经生出的牌要从poker数组中清空;当再次生成牌时,要查看生成的牌是否已经发出;
public int[,] dizhu(){
for(int j=1;j<18;j++){
int i = ColorRandom();
int number = pokerRandom();
bool Itsout = pokerIsOut( i,number);
if(Itsout){
diZhu [i,j]=number;
print ("number="+number);
poker [i,number]=0;
// print ("j="+j);
}
else
--j;
}
return diZhu ;
}
//为平民1生成牌;
public int[,]pingming1(){
for(int j=1;j<18;j++){
int i = ColorRandom();
int number = pokerRandom();
bool Itsout = pokerIsOut( i,number);
if(Itsout){
pingMing1 [i,j]=number;
poker [i,number]=0;
}
else
j--;
}
return pingMing1 ;
}
// 为平民2生成牌;
public int[,]pingming2(){
for(int j=1;j<18;j++){
int i = ColorRandom();
int number = pokerRandom();
bool Itsout = pokerIsOut( i,number);
if(Itsout){
pingMing2 [i,j]=number;
poker [i,number]=0;
}
else
j--;
}
return pingMing2 ;
}
// 如果某张牌已经发出返回false,如果没有发出则返回true;
public bool pokerIsOut(int i,int j){
if(poker [i,j]==0)
return false;
else return true;
}
//牌中同一种花色进行排序
public int[,]NumberSort(int [,]someOnePoker){
for(int i=1;i<5;i++){
for(int j=1;;j++){
if(someOnePoker[i,j]==0)
current = j;
if(max<current)
max = current;
continue ;
}
}
for(int i=1;i<5;i++){
int temp;
for(int j=1;j<=max;j++){
if(someOnePoker[i,j]<someOnePoker[i,j+1]){
temp = someOnePoker[i,j];
someOnePoker[i,j]=someOnePoker[i,j+1];
someOnePoker[i,j+1]=temp;
}
}
}
return someOnePoker;
}
// 不同的花色之间进行排序;直接插入排序;
public void InsideColor_NumberSort(int[,]Number){
int temp=0;
for(int i=1;i<5;i++){
for(int j=1;j<=max;j++){
// if(Number[i,j]>Number [i+1,j])
// dic.Add (index,new Vector2 (i,Number[i,j]));
// else dic.Add (index,new Vector2 (i+1,Number [i+1,j]));
}
}
}
}