public void escreveInfoCarta(Itens_Compartilhados.Carta carta) { Console.WriteLine("\nJogador: " + carta.ID); Console.WriteLine("\nCodigo: " + carta.cod_Carta); Console.WriteLine("Nome: " + carta.nome); Console.WriteLine("Tipo: " + carta.tipo); Console.WriteLine("Altura: " + carta.altura); Console.WriteLine("Comprimento: " + carta.comprimento); Console.WriteLine("Peso: " + carta.peso); Console.WriteLine("Idade: " + carta.idade); if (carta.trunfo) { Console.WriteLine("Essa carta e o Trunfo"); } Console.WriteLine("\nAtributo selecionado: " + carta.atributo_teste); }
public Itens_Compartilhados.RetornoJogada jogada(Itens_Compartilhados.Carta cartaEnv) { Itens_Compartilhados.Comandos comando = new Itens_Compartilhados.Comandos(); comando.comando = "JOGADA"; comando.carta = cartaEnv; comando.ID = this.ID; byte[] jogada = this.funcoes.ObjectToByteArray(comando); TrySend(jogada); byte[] buff = new byte[32768]; int received = socketClient.Receive(buff); byte[] dataReceived = new byte[received]; Array.Copy(buff, dataReceived, received); Itens_Compartilhados.RetornoJogada retornoJogada = new Itens_Compartilhados.RetornoJogada(); retornoJogada = (Itens_Compartilhados.RetornoJogada)funcoes.ByteArrayToObject(buff); return(retornoJogada); }
private Itens_Compartilhados.Jogador[] embaralhar(int qtd) { int cartasCada = 32 / qtd; int cartasExtra = 32 % qtd; int numero; Boolean OK; Itens_Compartilhados.Jogador[] jogs = new Itens_Compartilhados.Jogador[8]; Itens_Compartilhados.Carta[] cartas = new Itens_Compartilhados.Carta[33]; jogs = this.jogadores; Random rnd = new Random(); resetJogada(); for (int i = 0; i < jogs.Length; i++) { for (int j = 0; j < jogs[i].cartas.Length; j++) { jogs[i].cartas[j].ativo = false; this.jogadores[i].cartas[j].ativo = false; } } if (!this.isEmbaralhado) { for (int i = 0; i < cartas.Length; i++) { cartas[i] = new Itens_Compartilhados.Carta(); cartas[i].ativo = false; } for (int i = 0; i < jogs.Length; i++) { if (jogs[i].conectado && jogs[i].jogando) { for (int j = 0; j < cartasCada; j++) { OK = false; while (!OK) { numero = rnd.Next(1, 33); if (!cartas[numero].ativo) { jogs[i].cartas[numero].ativo = true; cartas[numero].ativo = true; OK = true; } } } } } if (cartasExtra > 0) { List <int> lista = new List <int>(); lista.Clear(); for (int i = 0; i < cartasExtra; i++) { OK = false; while (!OK) { numero = rnd.Next(0, jogs.Length - 1); if (!lista.Contains(numero)) { if (jogs[numero].conectado && jogs[numero].jogando) { for (int j = 1; j < cartas.Length; j++) { if (!cartas[j].ativo) { jogs[numero].cartas[j].ativo = true; cartas[j].ativo = true; break; } } lista.Add(numero); OK = true; } } } } lista.Clear(); } } primeiroJogador(); return(jogs); }
public Itens_Compartilhados.RetornoJogada jogada() { retornoJogada.qtdJogadores = this.qtdJogadores; retornoJogada.jogadores = this.jogadores; retornoJogada.cartasJogadas = jogadaEmEspera; int qtdJogada = 0; String trunfo = string.Empty; for (int i = 0; i < jogadaEmEspera.Length; i++) { if (jogadaEmEspera[i].ativo) { qtdJogada++; if (jogadaEmEspera[i].trunfo) { trunfo = jogadaEmEspera[i].cod_Carta; } } } Itens_Compartilhados.Carta[] listaCartas = new Itens_Compartilhados.Carta[qtdJogada]; for (int i = 0; i < listaCartas.Length; i++) { listaCartas[i] = new Itens_Compartilhados.Carta(); } for (int i = 0; i < jogadaEmEspera.Length; i++) { if (jogadaEmEspera[i].ativo) { listaCartas[i] = jogadaEmEspera[i]; } } if (string.IsNullOrEmpty(trunfo)) { List <Itens_Compartilhados.Carta> listaOrdenada = null; switch (listaCartas[0].atributo_teste) { case "altura": listaOrdenada = new List <Itens_Compartilhados.Carta>(listaCartas.OrderByDescending(lista => lista.altura).ToList()); break; case "comprimento": listaOrdenada = new List <Itens_Compartilhados.Carta>(listaCartas.OrderByDescending(lista => lista.comprimento).ToList()); break; case "peso": listaOrdenada = new List <Itens_Compartilhados.Carta>(listaCartas.OrderByDescending(lista => lista.peso).ToList()); break; case "idade": listaOrdenada = new List <Itens_Compartilhados.Carta>(listaCartas.OrderByDescending(lista => lista.idade).ToList()); break; } for (int j = 0; j < jogadaEmEspera.Length; j++) { if (listaOrdenada[0].cod_Carta == jogadaEmEspera[j].cod_Carta) { retornoJogada.cartaVencedora = jogadaEmEspera[j]; retornoJogada.vencedor = jogadaEmEspera[j].ID; this.jogadorDaVez = jogadaEmEspera[j].ID; break; } } } else { for (int i = 0; i < jogadaEmEspera.Length; i++) { if (jogadaEmEspera[i].cod_Carta == trunfo) { retornoJogada.cartaVencedora = jogadaEmEspera[i]; retornoJogada.vencedor = jogadaEmEspera[i].ID; this.jogadorDaVez = jogadaEmEspera[i].ID; break; } } } return(retornoJogada); }