package se.dalsit.puzzle;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics2D;
import java.util.Arrays;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
import java.util.Random;
public class Board {
private int matrix [][] = new int [4][4];
private Random rand,secRand;
private int i = 0;
private int j = 0;
private boolean add = false;
int number = 0;
public Board() {
i = 0;
j = 0;
init ();
}
private void init() {
rand = new Random (System.currentTimeMillis());
generateNumbers(j);
}
private void generateNumbers (int row) {
if (i == 0) {
matrix[0][row] = rand.nextInt(4) + 1;
i++;
}
number = rand.nextInt(4) + 1;
for (int x = 0; x < i; x++) {
if (matrix[x][row] == number) {
number = 0;
j = row;
add = false;
break;
}else {
add = true;
break;
}
}
if (add) {
matrix[i][row] = number;
i++;
add = false;
}
if (i < 4) {
generateNumbers(j);
}else if (j <4){
i =0;
j++;
add = false;
generateNumbers(j);
}else {
i = 0;
j = 0;
finish();
}
}
private void finish() {
System.out.println("Finish!! ;d");
}
private void checkrow(int i) {
}
private void checkColumn (int j) {
}
public void update() {
System.out.println(i + " " + j);
}
public void draw(Graphics2D g2d) {
for (int y = 0; y< 4; y++) {
for (int x = 0; x<4; x++) {
g2d.setColor(Color.BLUE);
g2d.fillRect((128*x)+128, (128*y)+128, 128, 128);
g2d.setColor(Color.BLACK);
g2d.drawRect((128*x)+128, (128*y)+128, 128, 128);
Font font = new Font ("Dialog",Font.BOLD,20);
g2d.setFont(font);
g2d.drawString (""+matrix[x][y] , (128*x)+192, (128*y)+192);
}
}
}
}