1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Jogo mau-mau em java

Discussão em 'Programação' iniciada por Zepiroca, 5 de Junho de 2007. (Respostas: 9; Visualizações: 2651)

  1. Boas pessoal.
    É assim eu precisava que alguem me podesse ajudar a fazer o jogo do mau-mau em java.
    eu tou kom dificuldade em criar um baralho.
    Eu tenho uma classe baralho que tem como atributos carta da classe Carta.
    Será que alguem me pode explicar como fazer isso.
     
  2. Jeust

    Jeust Colaborador
    Staff Member

    mete as classes e o código se centram as tuas dúvidas, só assim é k nós podemos dar uma olhadela :p
     
  3. entao aki vai

    eu tenho uma classe Carta
    private String naipe
    private String nome
    private int valor

    public Carta(string naipe,String nome,int valor)

    getNaipe
    setNaipe
    getNome
    setNome
    getValor
    setValor

    e dp tenho uma classe baralho
    private Carta cart

    e agora eu criar saber como é k faço para criar um baralho com 52 cartas?
     
  4. MadOnion

    MadOnion Folding Member

    Talvez um conjunto?
    Interface Map, classe HashMap
    Talvez uma lista?
    Interface List, classe LinkedList
    Um vector implementado com listas?
    Interface List, classe ArrayList

    Há n abordagens diferentes para resolver o problema, basta adicionar cartas ao conjunto/lista/vector.
    Para baralhar podes usar o metodo shuffle da Collections... Collections.shuffle(lista);

    Podes usar um Random para gerar cartas aleatórias, como disse depende da abordagem do problema, eu não conheço o jogo.
    etc etc.
     
  5. entao e kal das maneiras sugeres
    será k me podes dar um exemplo atraves de codigo
     
  6. souto

    souto To fold or to FOLD?

    Exactamente, mas não podemos ajudar mais sem saber especificamente o que é.

    Para criares um baralho com 52 cartas, instancias uma colecção (pensando uma ArrayList..)
    Código:
     List batatas = new ArrayList<Carta>(52);
    , fazes um ciclo e por cada iteração crias uma carta nova usando o new; seguidamente adicionas à colecção. O cuidado está em criar 52/4 cartas por naipe. Mas tens que pensar um pouco nisso :)

    Cumprimentos.
     
  7. Exactamente o k eu preciso é fazer um programa que seja um pack de jogos para a cadeira de POO.
    Esse pack tem de ter o jogo do uno (+ conhecido por mau-mau) e o jogo do 21.
    So que eu nao sei bem como começar. Por isso é que eu pedi ajuda.
    Se alguem me poder ajudar eu agradeço mto.
     
  8. jtcgomes

    jtcgomes Power Member

    Eu ando a fazer um jogo em JavaScript, corre em html, as funçoes podem ser identicas, se quiseres posso disponiblizar...
    Código:
                var vnp, vfp,baralho=new Array();
                vnp=new Array ("Paus", "ouros", "copas", "espadas");
                vfg=new Array ("Duque","Terno","Quadra","Quina",
                               "Sena","Sete","Oito","Nove","Dez",
                               "Valete","Dama","Rei","As");    
    
    Dizes k a tua dificuldade é em criar um baralho, ve se isto ajuda:
    Código:
                function CriarBaralho(){
                    var np, fg, i=0;
                    for (np=1; np<=4; np++)
                        for (fg=1; fg<=13; fg++)
                            baralho[i++]=100*np+fg;
                }
    
    adiento já aki a função baralhar
    Código:
                function BaralharCartas(n){
                    var i, p1, p2, aux;
                    for (i=0; i<n; i++){
                        p1=Math.floor(52*Math.random());                                
                        p2=Math.floor(52*Math.random());
                        aux=baralho[p1];
                        baralho[p1]=baralho[p2];
                        baralho[p2]=aux;
                    }
                }
    
    Tu tas a trablhar em java, eu em javaScript, eu sei, mas pode ser k dê alguma ajuda.
     
  9. É assim eu ja crei uma classe carta do tipo

    public class Carta {

    public final static int copas=0,espadas=1,ouros=2,paus=3;
    public final static int valete=11, dama=12, rei=13, as=14, joker=15;
    private int naipe;
    private int tipo;

    public Carta(int naipe,int tipo){
    this.naipe=naipe;
    this.tipo=tipo;
    }

    public int getNaipe(){
    return naipe;
    }
    public int getTipo(){
    return tipo;
    }

    public String toStringNaipe(){
    switch(naipe){
    case 0: return "Copas";
    case 1: return "Espadas";
    case 2: return "Ouros";
    case 3: return "Paus";
    default : return "Nao existe";
    }
    }

    public String toStringTipo(){
    switch(tipo){
    case 2: return "2";
    case 3: return "3";
    case 4: return "4";
    case 5: return "5";
    case 6: return "6";
    case 7: return "7";
    case 8: return "8";
    case 9: return "9";
    case 10: return "10";
    case 11: return "Valete";
    case 12: return "Dama";
    case 13: return "Rei";
    case 14: return "Ás";
    case 15: return "Joker";
    default: return "Não existe";
    }
    }

    public String toString(){
    return toStringTipo()+ " " + toStringNaipe();
    }

    e depois criei um classe baralho do tipo

    private Carta[] baralho21;

    public Baralho21(){
    baralho21 = new Carta[35];
    int contCartas=0;
    for(int naipe=0;naipe<=3;naipe++){
    for(int tipo=6;tipo<=14;tipo++){
    baralho21[contCartas]=new Carta(naipe,tipo);
    contCartas++;
    }
    }
    }

    public Carta[] getBaralho21(){
    return baralho21;
    }
    Mas agora tou com um problema, n consigo fazer um metodo para baralhar o baralho.
    Sera que alguem me pode ajudar
     
  10. MadOnion

    MadOnion Folding Member

    Como já havia dito.
    Dá uma olhada na documentação do java(API).
     

Partilhar esta Página