import java.awt.*;
import java.util.ArrayList;
import javax.swing.*;
public class PCDraw extends JPanel{
private ChainCalculator c;
private int scale = 5;
public PCDraw(){
super();
c = new ChainCalculator();
c.calculateChains();
c.removeSingleEntryChains();
}
public void paintComponent(Graphics g){
ArrayList<ArrayList<Integer>> chainArray = c.getChainArray();
int red = 0;
int green = 0;
int blue = 0;
for (int i = 0; i < chainArray.size(); i++) {
int[] lastPos = {chainArray.get(i).get(0),chainArray.get(i).get(1)};
int[] nextPos = {chainArray.get(i).get(0),chainArray.get(i).get(1)};
red = (i*45)%250;
green = (i*45)%250;
blue = (i*45)%250;
g.setColor(new Color(100,100,100,250));
for (int j = 3; j < chainArray.get(i).size(); j++) {
if (chainArray.get(i).get(j) == 1) {
nextPos[0] += -1;
nextPos[1] += -1;
}
else if (chainArray.get(i).get(j) == 2) {
nextPos[0] += 0;
nextPos[1] += -1;
}
else if (chainArray.get(i).get(j) == 3) {
nextPos[0] += 1;
nextPos[1] += -1;
}
else if (chainArray.get(i).get(j) == 4) {
nextPos[0] += -1;
nextPos[1] += 0;
}
else if (chainArray.get(i).get(j) == 5) {
nextPos[0] += 1;
nextPos[1] += 0;
}
else if (chainArray.get(i).get(j) == 6) {
nextPos[0] += -1;
nextPos[1] += 1;
}
else if (chainArray.get(i).get(j) == 7) {
nextPos[0] += 0;
nextPos[1] += 1;
}
else if (chainArray.get(i).get(j) == 8) {
nextPos[0] += 1;
nextPos[1] += 1;
}
System.out.println(""+ lastPos[0]*scale +" " + lastPos[1]*scale +" "+ nextPos[0]*scale +" "+ nextPos[1]*scale);
g.drawLine(lastPos[0]*scale, lastPos[1]*scale, nextPos[0]*scale, nextPos[1]*scale);
lastPos[0] = nextPos[0];
lastPos[1] = nextPos[1];
}
}
}
public static void main(String arg[]){
JFrame frame = new JFrame("BasicJPanel");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400,400);
PCDraw panel = new PCDraw();
frame.setContentPane(panel);
frame.setVisible(true);
}
}
No comments:
Post a Comment