Comparar 4 arrayList diferentes

8 respostas
F

ola galera

eu estou com o seguinte problema

eu tenho o seguinte código, que cria uma arraylista de cinco cartas

// 1
	public Card pickRandomCard() {
		System.out.println(deckOfCards.get(rand));
		return deckOfCards.get(rand++);
	}

		
		List<Card> hand = new ArrayList<Card>(); 
		for(int i = 0; i < 5; i++){
		    hand.add(gr.pickRandomCard());
		}

eu preciso determinar se o jogador fez bluf, não assistiu, qual a melhor forma de fazer isso? comparando as listas com a carta jogada do primeiro jogador?

8 Respostas

otaviojava

não conheço muito jogos de cartas, mas acredito que o certo é você varrrer duas listas por vez e comparar.
Você pode usar um comparator para colocar em alguma ordem.

joaodaniel

Também tive problema de entender a logica de negócio.

Sobre o código, o rand é um atributo da classe?

F

O rand e apenas uma variável para incrementar para evitar que se repitam. O negócio e que neste jogo do king na primeira ronda e obrigatório assistir se tiver na mão. Minha ideia e comparar cada uma das listas das maos com a carta jogada na mesa, e se ele podia ter assistido não permite a jogada

Perceberam a ideia? Obg.

ViniGodoy

Dar à IA conhecimentos que o jogador não tem chama-se “Roubar com a IA”, é é considerado hoje em dia uma falha grave de game design.

Tente ir um pouco adiante. Como um jogador pode deduzir se outro está blefando? Ele conhece a própria mão, sabe o quanto o oponente trocou cartas (ou comprou cartas). Ele também pode conhecer o histórico do oponente, se blefa muito ou pouco, se corre muito ou pouco, etc.

Baseie sua IA nisso.

Lembre-se é fácil fazer uma IA que vence sempre. Afinal, ela conhece tudo à respeito do jogador, inclusive as cartas que ele tem na mão. Mas quem quer jogar com um oponente que nunca perde?

F

Ola vini Godoy, no caso o jogo e só entre humanos não há jogador virtual. Como voce sugere que faça? Permita o bluff até o jogador se denunciar? Isso exige gravar todo o registo das jogadas não? Qual sera a melhor forma?

ViniGodoy

É proibido blefar no jogo? Se não é, não tem pq o programa sequer detectar isso.

F

não é proibido, mas assim precisava de um esquema para guardar todas as jogadas de cada ronda pra descobrir no momento em que ele se denuncia

d34d_d3v1l

isso é poker de 5 cartas?

se for, me adiciona no msn ai

[email removido]

Criado 3 de fevereiro de 2011
Ultima resposta 4 de fev. de 2011
Respostas 8
Participantes 5