diff Ristipolku.java @ 7:70714c229e23

More work.
author Matti Hamalainen <ccr@tnsp.org>
date Fri, 28 Jan 2011 20:23:21 +0200
parents be0bf7544069
children d8e7fd8f3ccf
line wrap: on
line diff
--- a/Ristipolku.java	Fri Jan 28 18:42:16 2011 +0200
+++ b/Ristipolku.java	Fri Jan 28 20:23:21 2011 +0200
@@ -7,7 +7,9 @@
 import java.awt.*;
 import java.awt.geom.*;
 import java.awt.event.*;
-//import javax.swing.*;
+import java.awt.image.*;
+import java.awt.event.*;
+import javax.swing.*;
 import javax.imageio.*;
 import java.util.*;
 import java.io.*;
@@ -37,7 +39,9 @@
     public static final int boardMiddle = 4;
     Piece[][] board;
     Piece current;
-   
+    
+    int moveX, moveY, movePoint;
+    
     public GameBoard()
     {
         board = new Piece[boardSize][boardSize];
@@ -46,9 +50,10 @@
 
         moveX = boardMiddle;
         moveY = boardMiddle - 1;
+        movePoint = 0;
     }
 
-    public void paint(Graphics2D g, int sx, int sy, double scale)
+    public void paint(Graphics2D g, int sx, int sy, float scale)
     {
         for (int y = 0; y < boardSize; y++)
         for (int x = 0; x < boardSize; x++)
@@ -77,25 +82,46 @@
         else
             return null;
     }
-   
-    public Point resolvePath(int x, int y, int inpoint)
-    {
-    }
-   
+
     public void pieceRotate(boolean dir)
     {
         current.rotate(dir);
     }
 
+    public PathInfo resolvePath(int startX, int startY, int startPoint)
+    {
+        int x = startX, y = startY;
+        int point;
+
+        Piece curr = getPiece(startX, startY);
+        if (curr == null)
+            return null;
+            
+        while (curr != null)
+        {
+            
+        }
+        
+        return new PathInfo(startPoint, startX, startY, point, x, y);
+    }
+
     public void pieceFinishTurn()
     {
         if (current != null)
+        {
             current.setType(PieceType.LOCKED);
-      
-        if (isEmpty(cx, cy))
+            PathInfo i = resolvePath(moveX, moveY, movePoint);
+            
+            if (i != null)
+            {
+                
+            }
+        }
+
+        if (isEmpty(moveX, moveY))
         {
             current = new Piece(PieceType.ACTIVE);
-            lauta.setPiece(cx, cy, current);
+            lauta.setPiece(moveX, moveY, current);
         }
    }
 }
@@ -113,8 +139,9 @@
 
         try
         {
-            lautaBG = ImageIO.read(new File("tausta.png"));
+            lautaBG = ImageIO.read(new File("background.jpg"));
         }
+
         catch (IOException e)
         {
             JOptionPane.showMessageDialog(null,
@@ -134,7 +161,7 @@
         g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
                             RenderingHints.VALUE_ANTIALIAS_ON);
 
-        lauta.paint(g2, 15, 15, 60);
+        lauta.paint(g2, 100, 150, 60);
     }
 
     public void keyPressed(KeyEvent e)
@@ -147,19 +174,19 @@
    
     public void keyTyped(KeyEvent e)
     {
-        switch (event.getKeyCode())
+        switch (e.getKeyCode())
         {
-            case VK_LEFT:
-            case VK_UP:
+            case KeyEvent.VK_LEFT:
+            case KeyEvent.VK_UP:
                 lauta.pieceRotate(false);
                 break;
 
-            case VK_RIGHT:
-            case VK_DOWN:
+            case KeyEvent.VK_RIGHT:
+            case KeyEvent.VK_DOWN:
                 lauta.pieceRotate(true);
                 break;
 
-            case VK_ENTER:
+            case KeyEvent.VK_ENTER:
                 lauta.pieceFinishTurn();
                 break;
         }