Want more features on Pastebin? Sign Up, it's FREE!
Guest

Latin square

By: a guest on Sep 19th, 2012  |  syntax: Java  |  size: 2.02 KB  |  views: 28  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. package se.dalsit.puzzle;
  2.  
  3. import java.awt.Color;
  4. import java.awt.Font;
  5. import java.awt.Graphics2D;
  6. import java.util.Arrays;
  7. import java.util.Collections;
  8. import java.util.LinkedList;
  9. import java.util.List;
  10. import java.util.Random;
  11.  
  12. public class Board {
  13.                
  14.                 private int matrix [][] = new int [4][4];
  15.                 private Random rand,secRand;
  16.                 private int i = 0;
  17.                 private int j = 0;
  18.                 private boolean add = false;
  19.                 int number = 0;
  20.        
  21.        
  22.                 public Board() {
  23.                         i = 0;
  24.                         j = 0;
  25.                         init ();
  26.                 }
  27.        
  28.                
  29.                
  30.                 private void init() {
  31.                         rand = new Random (System.currentTimeMillis());
  32.                        
  33.                        
  34.                         generateNumbers(j);
  35.        
  36.                        
  37.                 }
  38.                                
  39.                        
  40.                 private void generateNumbers (int row) {
  41.                         if (i == 0)  {
  42.                                 matrix[0][row] = rand.nextInt(4) + 1;
  43.                                 i++;
  44.                         }
  45.  
  46.                         number = rand.nextInt(4) + 1;
  47.  
  48.                         for (int x = 0; x < i; x++) {
  49.                                 if (matrix[x][row] == number) {
  50.                                         number = 0;
  51.                                         j  = row;
  52.                                         add = false;
  53.                                         break;
  54.                                 }else {
  55.                                         add = true;
  56.                                         break;
  57.                                 }
  58.                         }
  59.  
  60.                        
  61.                         if (add) {
  62.                        
  63.                         matrix[i][row] = number;
  64.                         i++;
  65.                         add = false;
  66.                         }
  67.                        
  68.                        
  69.                                 if (i < 4) {
  70.                                         generateNumbers(j);
  71.                                 }else if (j <4){
  72.                                         i =0;
  73.                                         j++;
  74.                                         add = false;
  75.                                         generateNumbers(j);
  76.                                 }else {
  77.                                         i = 0;
  78.                                         j = 0;
  79.                                         finish();
  80.                                 }
  81.                 }
  82.                
  83.        
  84.                
  85.                 private void finish() {
  86.                         System.out.println("Finish!! ;d");
  87.                        
  88.                 }
  89.  
  90.  
  91.  
  92.                
  93.        
  94.                 private void checkrow(int i) {
  95.                        
  96.                 }
  97.                
  98.                 private void checkColumn (int j) {
  99.                        
  100.                 }
  101.  
  102.                
  103.  
  104.                 public void update() {
  105.                        
  106.                         System.out.println(i + " " + j);
  107.        
  108.                        
  109.                 }
  110.                
  111.                 public void draw(Graphics2D g2d) {
  112.                        
  113.                 for (int y = 0; y< 4; y++) {
  114.                         for (int x = 0; x<4; x++) {
  115.                                
  116.                                 g2d.setColor(Color.BLUE);
  117.                                 g2d.fillRect((128*x)+128, (128*y)+128, 128, 128);
  118.                                 g2d.setColor(Color.BLACK);
  119.                                 g2d.drawRect((128*x)+128, (128*y)+128, 128, 128);
  120.                                
  121.                                 Font font = new Font ("Dialog",Font.BOLD,20);
  122.                                 g2d.setFont(font);
  123.                                 g2d.drawString (""+matrix[x][y] , (128*x)+192, (128*y)+192);
  124.                                
  125.                                        
  126.                                 }
  127.                                
  128.                         }      
  129.                 }
  130. }
clone this paste RAW Paste Data