All pastes #519103 Raw Edit

toddsanoobie

public text v1 · immutable
#519103 ·published 2007-05-29 15:18 UTC
rendered paste body
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.applet.*;
import java.net.*;

public class gauntletMain extends Applet implements Runnable, KeyListener
{




    Thread thread;

    Player player1;
    Monster monster1;

    //Wall wall1;
    Wall[] wallArray = new Wall [1];
    mapTile[] [] map001 = new mapTile [102] [77];
    //position[] [] position = new position [102] [77];
    private Image dbImage;
    private Graphics dbg;
    private int tileSize = 10;
    String debug = "";

    public class Wall
    {
        private int x_pos;
        private int y_pos;

        private int wallLength;
        private int wallWidth;

        public Wall (int x_, int y_, int length, int width)
        {
            x_pos = x_;
            y_pos = y_;
            wallLength = length;
            wallWidth = width;
        }
        public int getX ()
        {
            return x_pos;
        }

        public void paint (Graphics g)
        {
            g.setColor (Color.black);
            //g.fillRect (x_pos, y_pos, wallLength, wallWidth);
        }
    }


    public class mapTile
    {
        private boolean passability = true;
        private String tileName;
        public void changePassability (boolean getNewPassability)
        {
            passability = getNewPassability;
        }
    }


    public void position ()
    {
        debug = "No Boxes in the way";

        if (map001 [player1.x_tile] [player1.y_tile + 1].passability == false)
        {
            player1.downTest = false;
            debug = "DownTest is  false";
        }
        else
        {
            player1.downTest = true;
        }
        if (player1.y_tile != 0)
        {
            if (map001 [player1.x_tile] [player1.y_tile - 1].passability == false)
            {
                player1.upTest = false;
                debug = "UpTest is  false";
            }
            else
            {
                player1.upTest = true;
            }
        }
        //if (player1.x_tile != 10){
        if (map001 [player1.x_tile + 1] [player1.y_tile].passability == false)
        {
            player1.rightTest = false;
            debug = "RightTest is  false";
        }
        else
        {
            player1.rightTest = true;
        }
        //}
        if (player1.x_tile != 0)
        {
            if (map001 [player1.x_tile - 1] [player1.y_tile].passability == false)
            {
                player1.leftTest = false;
                debug = "LeftTest is  false";
            }
            else
            {
                player1.leftTest = true;
            }
        }
    }


    public void init ()
    {
        for (int i = 0 ; i < map001.length ; i++)
        {
            for (int j = 0 ; j < map001 [0].length ; j++)
            {
                map001 [i] [j] = new mapTile ();
            }
        }

        setSize (1020, 770);
        player1 = new Player (15, 15, 1, 1);
        monster1 = new Monster (500, 300);
        wallArray [0] = new Wall (0, 200, 620, 20);

        //Top Wall==========================
        for (int i = 0 ; i < 102 ; i++)
        {
            map001 [i] [0].changePassability (false);
        }

        //Left Wall =======================
        for (int i = 0 ; i < 77 ; i++)
        {
            map001 [0] [i].changePassability (false);
        }
        //Bot Wall==========================
        for (int i = 0 ; i < 102 ; i++)
        {
            map001 [i] [76].changePassability (false);
        }

        //Right Wall =======================
        for (int i = 0 ; i < 77 ; i++)
        {
            map001 [101] [i].changePassability (false);
        }

        for (int i = 0 ; i < 20 ; i++)
        {
            map001 [i] [15].changePassability (false);
        }

        //System.out.println (x_tile);

        addKeyListener (this);

    }


    //Method to start Thread==================
    public void start ()
    {
        thread = new Thread (this);
        thread.start ();
    }


    //Method to stop Thread===================
    public void stop ()
    {
        thread.stop ();
    }


    public void run ()
    {
        Thread.currentThread ().setPriority (Thread.MIN_PRIORITY);

        while (true)
        {
            
            repaint ();
            for (int i = 0 ; i < wallArray.length ; i++)
            {
                player1.collision (wallArray [i].x_pos, wallArray [i].y_pos);
            }
            position ();
            player1.move ();
            monster1.move ();

            try
            {
                Thread.sleep (40);
            }
            catch (InterruptedException ex)
            {
                break;
            }

            Thread.currentThread ().setPriority (Thread.MAX_PRIORITY);
        }
    }


    public void paint (Graphics g)
    {
        player1.paint (g);
        monster1.paint(g);
        for (int j = 0 ; j < wallArray.length ; j++)
        {
            //g.fillRect (wallArray[j].x_pos, wallArray[j].y_pos, wallArray[j].wallLength, wallArray[j].wallWidth);
            wallArray [j].paint (g);
        }

        for (int i = 0 ; i < map001.length ; i++)
        {
            for (int j = 0 ; j < map001 [0].length ; j++)
            {
                g.drawRect (i * tileSize, j * tileSize, tileSize, tileSize);
                if (map001 [i] [j].passability == false)
                {
                    g.fillRect (i * tileSize, j * tileSize, tileSize, tileSize);
                }
            }
        }
        g.drawString (debug, 100, 40);
    }


    public void update (Graphics g)
    {
        if (dbImage == null)
        {
            dbImage = createImage (this.getSize ().width, this.getSize ().height);
            dbg = dbImage.getGraphics ();
        }

        dbg.setColor (getBackground ());
        dbg.fillRect (0, 0, this.getSize ().width, this.getSize ().height);

        dbg.setColor (getForeground ());
        paint (dbg);

        g.drawImage (dbImage, 0, 0, this);
    }


    public void keyPressed (KeyEvent e)
    {
        int key = e.getKeyCode ();
        if (key == KeyEvent.VK_UP)
        {
            player1.moveUpward = true;
        }

        if (key == KeyEvent.VK_DOWN)
        {
            player1.moveDownward = true;
        }

        if (key == KeyEvent.VK_RIGHT)
        {
            player1.moveRight = true;
        }

        if (key == KeyEvent.VK_LEFT)
        {
            player1.moveLeft = true;
        }
    }


    public void keyTyped (KeyEvent e)
    {

    }


    //Makes the paddle stop when key is released
    public void keyReleased (KeyEvent e)
    {
        int key = e.getKeyCode ();
        if (key == KeyEvent.VK_UP)
        {
            player1.moveUpward = false;
        }

        if (key == KeyEvent.VK_DOWN)
        {
            player1.moveDownward = false;
        }

        if (key == KeyEvent.VK_RIGHT)
        {
            player1.moveRight = false;
        }

        if (key == KeyEvent.VK_LEFT)
        {
            player1.moveLeft = false;
        }
    }


    public boolean keyDown (Event e, int key)
    {
        return true;
    }
}