GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Jogo de Garrafa


#1

Boa noite, amigos!

Para não perder o pique de programação, gostaria de receber algum palpite ou ajuda na elaboração de um programa de garrafas, conforme enunciado abaixo:

Quero criar um ambiente de busca de uma solução de manipulação do líquido de três garrafas com o objetivo de conseguir uma determinada configuração final a partir de uma configuração inicial.
A idéia é que o usuário do ambiente possa configurar o seguinte:
? Capacidade de cada uma das três garrafas;
? Conteúdo inicial de cada garrafa;
? Conteúdo final desejado de cada garrafa.

Grato pela atenção,

rjrider


#2

Palpite:

Usa swing.


#3

É isso que quero fazer, mas como implementar o código!
Sei que são 3 garrafas, uma com 10 litros, outra com 7 litros e a última com 4 litros.
Sei também que tenho que implementar uma classe com o uso do mouse.

Como será este código, já tenho criado a interface da garrafa, mas não sei onde implementar o código.

Grato pela atenção.

rjrider


#4

tenta usar um JSlider.

dica de como ele funciona:
http://www.apl.jhu.edu/~hall/java/Swing-Tutorial/Swing-Tutorial-JSlider.html

Outra coisa...
Vc diz que são 3 garrafas de 10,7 e 4 litros respectivamente.
Mas não diz se a 3ª garrafá será o conteudo final desejado ou se o resultado desejado pode aparecer em qualquer garrafa.
Também não diz se esses volumes são constantes.
vc vai trabalhar com, no minimo, 6 variaveis que serão diferentes.
vc pode ter uma garrafa com 10 litros, mas cheia com 6 litros: dois valores iniciais para cada garrafa onde um sera constante ate o fim do jogo.
vai ter de estudar algo sobre sistemas formais
As regras do sistema formal irão variar de movimento em movimento.
começa testando se:
primeira + segunda + terceira garrafa = o minimo desejado;
o limite da 3ª garrafa deve ser maior ou igual ao volume desejado...

o resto, vc vai ter de descobrir jogando sozinho.

veja


#5

Obrigado, Luiz Augusto.

Valeu pela ajuda, vou estudar e implementar!

rjrider


#6

dá uma lida nisso:
O JOGO AXIOMÁTICO
http://www.cdcc.sc.usp.br/matematica/12.htm

No caso de MI para formar MIU tem como provar matematicamente a possibilidade (ou impossibilidade) de se obter MIU.

A primeira coisa a se fazer é buscar pela possibilidade (ou não) da solução do problema. Só então depois disso tentar buscar a solução.

Atenção: as vezes a matemática demonstra que o problema tenha uma solução, mas se depender de um loop quase infinito de ações, talvez isso possa não interessar. Exemplo o caso da torre de ranoi com 64 discos. Talvez um computador resolva a torre rapidamente, mas uma pessoa resolver isso manualmente está fora de cogitação.

Faz algum tempo vi um joguinho do caixeiro viajante onde foi implementado um algoritmo genético para encontrar a solução.

Amigo, no primeiro momento não dei muita atenção a essa questão do jogo das garrafas, mas depois de refletir melhor sobre isso pude ver o tão interessante que este problema é.

É um trabalho de faculdade ou só por curiosidade ?


#7

Boa tarde, Luiz Augusto.

É curiosidade, pois recebi um e-mail do jogo montado de Garrafas, mas queria implementar seu código e entender.
É muito interessante isso!

rjrider


#8

Este probleminha é bem legal.
Agora que estou um pouco mais folgado vou tentar fazer este problema de logica.


#9

Gostei bastante desse site.. o ruin é que as imagens não aparecem.


#10