Tenho que transformar todos os vetores em Stack e estou completamente perdido;
Este é um jogo de 21;
Pessoal eu estudo pra Kcete porem esta materia e bem recente pra min e o prof já passol este trabalho sempre procuro pesquisar e estudar antes de sair pedindo soluções mas nesta preciso realmente de ajuda;
obrigado desde já.
///Progran.cs/// using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Collections; namespace Jogo { class Program { static void Main(string[] args) { Carta[] cartasDoJogador = new Carta[20]; Carta[] cartasDaCpu = new Carta[20]; int pontosDoJogador = 0; int pontosDaCpu = 0; int quantidadeCartasJogador = 0; int quantidadeCartasCpu = 0; string resposta = "s"; Baralho b = new Baralho(); b.embaralhar(); do { cartasDoJogador[quantidadeCartasJogador++] = b.darCarta(); pontosDoJogador = mostraCartas(cartasDoJogador, quantidadeCartasJogador); Console.WriteLine(); if (pontosDoJogador < 21) { Console.Write("Outra carta? "); resposta = Console.ReadLine(); } else { break; } } while (resposta.ToUpper() == "S"); if (pontosDoJogador > 21) { Console.WriteLine("Você perdeu!"); } else { while (pontosDaCpu < pontosDoJogador) { cartasDaCpu[quantidadeCartasCpu++] = b.darCarta(); pontosDaCpu = mostraCartas(cartasDaCpu, quantidadeCartasCpu); Console.WriteLine(); } if (pontosDaCpu > 21) { Console.WriteLine("Você venceu!!!"); } else { Console.WriteLine("Você perdeu!"); } } } //public static int mostraCartaCpu(Carta[] pe, int qtd) //{ // int pts = 0; // Console.WriteLine(); // Console.WriteLine("Cartas Da CPU: "); // for (int e = 0; e < qtd; e++) // { // Console.WriteLine(pe[e].porExtenso()); // if (pe[e].obtemValor() > 10) // { // pts += 10; // } // else // { // pts += pe[e].obtemValor(); // } // } // Console.WriteLine("Pontos do CPU: {0}", pts); // return pts; //} public static int mostraCartas(Carta[] mao, int quantidade) { int pontos = 0; Console.WriteLine(); Console.WriteLine("Suas Cartas"); for (int i = 0; i < quantidade; i++) { Console.WriteLine(mao[i].porExtenso()); if (mao[i].obtemValor() > 10) { pontos += 10; } else { pontos += mao[i].obtemValor(); } } Console.WriteLine("Seus pontos: {0}", pontos); return pontos; } } } ------------------------------------------------------------------------------------------------------------- ///Baralho.cs/// using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Collections; namespace Jogo { class Baralho { public Carta[] monte = new Carta[52]; public int topo = 0; public Baralho() { for (byte n = 1; n <= 4; n++) { for (byte v = 1; v <= 13; v++) { monte[topo++] = new Carta(n, v); } } } public bool temCarta() { return (topo > 0); } public Carta darCarta() { Carta temp = null; if (temCarta()) { temp = monte[--topo]; } return temp; } public void embaralhar() { Random aleatorio = new Random(); Carta paraTroca; int outroIndice; for (int indice = 0; indice < monte.Length; indice++) { outroIndice = aleatorio.Next(52); paraTroca = monte[indice]; monte[indice] = monte[outroIndice]; monte[outroIndice] = paraTroca; } } } } --------------------------------------------------------------------------------------------------------------------- ///carta.cs/// using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Collections; namespace Jogo { class Carta { private const int PAUS = 1; private const int OUROS = 2; private const int COPAS = 3; private const int ESPADAS = 4; private byte valor; private byte naipe; public byte obtemValor() { return this.valor; } public Carta(byte n, byte v) { if ((n >= 1) && (n <= 4)) { this.naipe = n; } else this.naipe = 1; if ((v >= 1) && (v <= 13)) this.valor = v; else this.valor = 1; } public string porExtenso() { string temp = ""; switch (this.valor) { case 1: temp = "ás"; break; case 2: temp = "dois"; break; case 3: temp = "três"; break; case 4: temp = "quatro"; break; case 5: temp = "cinco"; break; case 6: temp = "seis"; break; case 7: temp = "sete"; break; case 8: temp = "oito"; break; case 9: temp = "nove"; break; case 10: temp = "dez"; break; case 11: temp = "valete"; break; case 12: temp = "dama"; break; case 13: temp = "rei"; break; } switch (this.naipe) { case PAUS: temp += " de paus"; break; case OUROS: temp += " de ouros"; break; case ESPADAS: temp += " de espadas"; break; case COPAS: temp += " de copas"; break; } return temp; } } }