Olá, tenho este código funcionando em java, só que preciso dele em pascal,
package arvorepergunta;
import java.util.Scanner;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
public class Arvore {
private No raiz;
public Arvore() {
this.start();
}
private void start() {
this.raiz = new No("Vive na água?");
this.raiz.setEsquerda("Macaco");
this.raiz.setDireita("Peixe");
}
public void iniciodojogo() {
JOptionPane.showMessageDialog(null, "Pense em um animal e responda...");
while(true) {
if(JOptionPane.showConfirmDialog(null, " Começar Jogo? ", "", JOptionPane.YES_NO_OPTION, JOptionPane.INFORMATION_MESSAGE) == 1) {
break;
}
No elementoAtual = this.raiz;
pergunta(elementoAtual);
}
}
protected boolean pergunta(No elemento) {
int resposta = JOptionPane.showConfirmDialog(null, elemento.getValor()+" ( 1 - Sim | 2 - Não )", "", JOptionPane.YES_NO_OPTION, JOptionPane.INFORMATION_MESSAGE);
if(resposta == 0) {
if (elemento.getDireita().getDireita() == null) {
resposta = JOptionPane.showConfirmDialog(null, "O animal no qual você esta pensando é um: " + elemento.getDireita().getValor()+"!", "", JOptionPane.YES_NO_OPTION, JOptionPane.INFORMATION_MESSAGE);
if(resposta == 0) {
return true;
} else {
respostaErrada(elemento.getDireita());
}
} else {
return pergunta(elemento.getDireita());
}
} else {
if (elemento.getEsquerda().getEsquerda() == null) {
resposta = JOptionPane.showConfirmDialog(null, "O animal no qual você esta pensando é um: " + elemento.getEsquerda().getValor()+"!", "", JOptionPane.YES_NO_OPTION, JOptionPane.INFORMATION_MESSAGE);
if(resposta == 0) {
return true;
} else {
respostaErrada(elemento.getEsquerda());
}
} else {
return pergunta(elemento.getEsquerda());
}
}
return false;
}
protected void respostaErrada(No elemento) {
String animal = JOptionPane.showInputDialog(null, "Em que animal você estava pensando?");
String pergunta = JOptionPane.showInputDialog(null, "Como posso diferencia-lo de um "+elemento.getValor()+"?");
String animalAtual = elemento.getValor();
elemento.setValor(pergunta);
elemento.setDireita(animal);
elemento.setEsquerda(animalAtual);
}
}
package arvorepergunta;
public class ArvoreInteligente {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Arvore arv = new Arvore();
arv.iniciodojogo();
}
}
package arvorepergunta;
public class No {
private No direita;
private No esquerda;
private String valor;
public No() {
}
public No(String valor) {
this.valor = valor;
}
public No getDireita() {
return direita;
}
public void setDireita(No direita) {
this.direita = direita;
}
public void setDireita(String valor) {
this.direita = new No(valor);
}
public No getEsquerda() {
return esquerda;
}
public void setEsquerda(No esquerda) {
this.esquerda = esquerda;
}
public void setEsquerda(String valor) {
this.esquerda = new No(valor);
}
public String getValor() {
return valor;
}
public void setValor(String valor) {
this.valor = valor;
}
}