Advertisement
Guest User

Latin square

a guest
Sep 19th, 2012
401
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.02 KB | None | 0 0
  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. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement