Arbore bidirectional Complet

import java.applet.Applet;
import java.awt.Button;
import java.awt.Event;
import java.awt.Font;
import java.awt.Graphics;

public class index extends Applet {

Font f = new Font("Calibri", Font.BOLD, 20);
int valoare = 0;
Button next;

@Override
public void init() {
next = new Button("Urmatoarea ramura");
add(next);
}

@Override
public boolean action(Event e, Object args) {

if (e.target == next) //target = apasa
{
valoare++;
}
addNode();
return true;
}

@Override
public void paint(Graphics g) {
}

public void addNode() {
Graphics g = this.getGraphics();
g.setFont(f);
g.drawString("Cautare Bidirectionala", 20, 20);
g.drawRoundRect(615, 40, 40, 40, 40, 40);
g.drawString("1", 631, 67);
if (valoare == 2) {
g.drawRoundRect(460, 140, 40, 40, 40, 40);
g.drawLine(616, 70, 500, 150);// ramura stinga
g.drawString("2", 475, 166);

} else if (valoare == 3) {
g.drawRoundRect(760, 140, 40, 40, 40, 40);
g.drawString("3", 775, 166);
g.drawLine(656, 70, 762, 150);//ramura dreapta

} else if (valoare == 4) {
g.drawRoundRect(338, 268, 40, 40, 40, 40);//1 inel
g.drawString("4", 353, 294);
g.drawLine(460, 165, 370, 270);//ramura stinga

} else if (valoare == 5) {
g.drawRoundRect(568, 268, 40, 40, 40, 40);//2 inel
g.drawString("5", 583, 294);
g.drawLine(500, 165, 580, 270);//ramura dreapta
} else if (valoare == 6) {
g.drawRoundRect(640, 268, 40, 40, 40, 40);//3 inel
g.drawString("6", 655, 294);
g.drawLine(760, 165, 670, 270);//ramura stinga
// g.drawLine(747, 165, 682, 240);//linia sageata
// g.drawLine(682, 240, 682, 230);//linia in sus
// g.drawLine(682, 240, 692, 240);//linia in dreapta ... sageata
} else if (valoare == 7) {
g.drawRoundRect(870, 268, 40, 40, 40, 40);//4 inel
g.drawString("7", 885, 294);
g.drawLine(800, 165, 880, 270);//ramura dreapta
// g.drawLine(814, 165, 870, 240);//linia sageata
// g.drawLine(870, 240, 870, 230);//sageata in uss
// g.drawLine(870, 240, 860, 240);//sageata in stinga
} else if (valoare == 8) {
g.drawRoundRect(240, 398, 40, 40, 40, 40);//1 inel
g.drawString("8", 255, 424);
g.drawLine(340, 300, 270, 400);//ramura stinga
} else if (valoare == 9) {
g.drawLine(600, 70, 510, 130);// linia de la sageata
g.drawLine(510, 130, 510, 120);//de la sageata linia in sus
g.drawLine(510, 130, 520, 130);//de la sageata linia orizont
g.drawString("2",520, 490);

} else if (valoare == 10) {
g.drawLine(447, 165, 382, 240);//linia sageata
g.drawLine(382, 240, 382, 230);//linia in sus
g.drawLine(382, 240, 392, 240);//linia in dreapta ... sageata
g.drawString("4",540, 490);

} else if (valoare == 11) {
g.drawLine(328, 300, 272, 380);//
g.drawLine(272, 380, 282, 380);// in dreapta linia
g.drawLine(272, 380, 272, 370);//
g.drawString("8",560, 490);

} else if (valoare == 12) {
g.drawLine(345, 315, 289, 395);//
g.drawLine(345, 315, 335, 315);//
g.drawLine(345, 315, 345, 325);//
g.drawString("4",580, 490);

} else if (valoare == 13) {
g.drawLine(458, 185, 401, 251);//linia sageata
g.drawLine(448, 185, 458, 185);//linia sageata in dreapta
g.drawLine(458, 195, 458, 185);//linia sageata in dreapta
g.drawString("2",600, 490);

} else if (valoare == 14) {
g.drawLine(514, 165, 570, 240);//linia sageata
g.drawLine(570, 240, 570, 230);//sageata in uss
g.drawLine(570, 240, 560, 240);//sageata in stinga
g.drawString("5",620, 490);

} else if (valoare == 15) {
g.drawLine(500, 185, 550, 250);//linia sageata
g.drawLine(500, 185, 500, 195);//linia sageata in jos
g.drawLine(500, 185, 510, 185);
g.drawString("2",640, 490);

} else if (valoare == 16) {
g.drawLine(616, 85, 534, 140);// linia de la sageata
g.drawLine(616, 85, 606, 85);// linia de la sageata in sus
g.drawLine(616, 85, 616, 95);// linia din jos de la sageata
g.drawString("1",660, 490);

} else if (valoare == 17) {
g.drawLine(758, 185, 701, 251);//linia sageata
g.drawLine(748, 185, 758, 185);//linia sageata in dreapta
g.drawLine(758, 195, 758, 185);//linia sageata in jos
g.drawString("6-3",680, 490);

} else if (valoare == 18) {
g.drawLine(672, 70, 752, 130);//linia de la sageata
g.drawLine(672, 70, 682, 70);//linia de la sageata in jos
g.drawLine(672, 70, 672, 80);//linia de la sageata in jos
g.drawString("1",720, 490);

}
//Liniile
g.drawLine(500, 470, 732, 470);
g.drawLine(500, 495, 732, 495);
g.drawString("1",500, 490);
}
}

Niciun comentariu:

Trimiteți un comentariu