Jump to content


Photo

Como transformar todos os Vetores em Stack?


  • Faça o login para participar
Nenhuma resposta neste tópico

#1 Ciclo

Ciclo

    Novato no fórum

  • Usuários
  • 1 posts
  • Sexo:Masculino
  • Localidade:Br

Posted 24/05/2010, 11:16

Pessoal vou passar os codigos do meu programa para vocês tentarem me ajudar;

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;
        }

    }
}





1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq