Mercurial > hg > ristipolku
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; }