import chess.*;//GEN-BEGIN:header
import java.awt.*;
import java.awt.event.KeyEvent;

/**
 * ProjectMaze.java
 *
 * Created on Jun 19, 2007, 9:41:22 PM by Yangbo Ye
 */
public class ProjectMaze {
    public void run() {//GEN-END:header
        
        // Here you go!
        boolean gameNotDone= true;
        int x;
        int y;
        double second;
        int level= 1;
        
        Screen myScreen;
        Sprite car;
        Sprite sam;
        
        // initialization
        Chess.report("On your marks...");
        Chess.report("Get set...");
        Chess.report("Go!");
        myScreen= Chess.newScreen(800,500);
        x=30;
        y=55;
        double start=Chess.getCurrentTimeSeconds();
        car= myScreen.newSprite("/sprites/Car.JPG",x,y);
        myScreen.drawImage("/sprites/Maze.png",0,0);
        
        second= Chess.getCurrentTimeSeconds() - start;
        
        // game loop
        while ( gameNotDone ) {
            int key= myScreen.getKeyCode();  // a=left, s=right, w=up, z=down
            if ( key==KeyEvent.VK_LEFT ) {
                
                if ( ! myScreen.getPixelColor( x - 10, y ).equals( Color.BLACK ) ) {
                    x= x-10;
                }
            } else if ( key == KeyEvent.VK_RIGHT ) {
                if ( ! myScreen.getPixelColor( x + 10, y ).equals( Color.BLACK ) ) {
                    x= x+10;
                }
            } else if ( key== KeyEvent.VK_UP ) {
                if ( ! myScreen.getPixelColor( x, y - 10 ).equals( Color.BLACK ) ) {
                    
                    y= y-10;
                }
            }else if (key==KeyEvent.VK_DOWN) {
                if ( ! myScreen.getPixelColor( x, y + 10 ).equals( Color.BLACK ) ) {
                    
                    y= y+10;
                }
            }
            if ( myScreen.getPixelColor( x, y).equals(Color.BLUE) ){
                level= level + 1;
                Chess.report("Good job!");
                Chess.report("It took you: " + (int)second + " seconds");
                myScreen.clear();
                car.hide();
                x=35;
                y=55;
                if ( level==2 ) {
                    Chess.report("Level 2");
                    myScreen.drawImage("sprites/Maze 2.png",0,0);
                    car= myScreen.newSprite("/sprites/Car.JPG",x,y);
                    x=35;
                    y=55;
                }
                
                if ( level==3 ) {
                    Chess.report("Level 3");
                    myScreen.drawImage("sprites/Maze 3.png",0,0);
                    car= myScreen.newSprite("/sprites/Car 2.JPG",x,y);
                    x=35;
                    y=55;
                }
                
                
            }
            
            
            
            car.setPosition(x,y);
            Chess.waitForNextFrame(30);
            
            second= Chess.getCurrentTimeSeconds() - start ;
            myScreen.report( "time= "+ (int)second+ " seconds");
        }
        
        
    } //run//GEN-BEGIN:footer
    
    public static void main( String[] args ) {
       new ProjectMaze().run();
    } //main
} //class//GEN-END:footer
