Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //import list;
- import java.util.ArrayList;
- import java.awt.Color;
- import javax.swing.JFrame;
- import javax.swing.JPanel;
- import java.awt.image.BufferedImage;
- import javax.imageio.ImageIO;
- import java.io.IOException;
- import java.io.File;
- import java.awt.event.*;
- import java.awt.Toolkit;
- /*
- * Class by YorMeij && Tresy4game && Roselio
- * Get your fucking hands off our code!
- */
- public class Game implements Runnable, KeyListener, MouseListener
- {
- private ArrayList<Image> images;
- private ArrayList<Player> players;
- private ArrayList<Enemy> enemys;
- private ArrayList<Line> lines;
- private JFrame frame;
- private JPanel content;
- private boolean running;
- private boolean crash;
- private Thread thread;
- private int turnable;
- private int grid;
- public Game(){ //The constructor of the game, this launches the game
- images = new ArrayList<Image>(); //making the ArrayLists
- players = new ArrayList<Player>();
- enemys = new ArrayList<Enemy>();
- lines = new ArrayList<Line>();
- makeFrame(); //Make the frame
- addImage(0,0,/*xBSize*/800,/*yBSize*/600,"achtergrond.jpg"); //load the Background
- content.repaint(); //make it happen on the screen,
- }
- public void makeStartScreen(){
- }
- public void makeLevel1(){
- this.grid = 20;
- this.running = true; //make the movement posible/start game
- this.crash = false; //start game cause there is no crash
- this.turnable = 0;
- addPlayer(200,100,2*grid,grid,0,0,"BikeBlueRight.png", 0); //load Player 1, the bike's lenght:width has to be 2:1 cause otherwise th movement is fucked up
- addPlayer(200,200,2*grid,grid,0,0,"BikeYellowRight.png", 1); //load Player 2, the bike's lenght:width has to be 2:1 cause otherwise th movement is fucked up
- Player Player1 = this.players.get(0);//get player 1
- Player Player2 = this.players.get(1);//get player 2
- addLine(Player1.getLineX(),Player1.getLineY(),Player1.getLineX(),Player1.getLineY(),Color.BLUE); //make player 1's line
- addLine(Player2.getLineX(),Player2.getLineY(),Player2.getLineX(),Player2.getLineY(),Color.YELLOW);//make player 2's line
- content.repaint(); //make it happen on the screen,
- thread = new Thread(this); //Start the thread
- thread.start();
- }
- public void run(){ // Main game methode
- Image Background = this.images.get(0);//get background because we can
- Player Player1 = this.players.get(0);//get player 1
- Player Player2 = this.players.get(1);//get player 2
- Player1.setHorSp(1);//give start speed to player 1
- Player2.setHorSp(1);//give start speed to player 2
- while(this.running == true && this.crash == false){ // main game loop, loops when game is started and there is no crash
- // Player 1
- if(this.turnable == 0 && Player1.getDir() > 0){
- Player1.setPrevLine(Player1.getCurrentLine());//safe previous line for testing
- if(Player1.getDir() == 1){ //check which key and horizontal speed so it can't move in opposite direction
- if(Player1.getHorSp() == -1){
- Player1.setLineX(Player1.getX()+grid/2); //set end of line
- Player1.setLineY(Player1.getY()+grid/2);
- addLine(Player1.getLineX(),Player1.getLineY(),Player1.getLineX(),Player1.getLineY(),Color.BLUE);//make next line
- Player1.setCurrentLine(Player1.getLineNr()+Player2.getLineNr());//use next line
- Player1.setX(Player1.getX());
- Player1.setY(Player1.getY()-Player1.getWidth()+Player1.getHeight());
- }
- if(Player1.getHorSp() == 1){
- Player1.setLineX(Player1.getX()+Player1.getWidth()-grid/2); //set end of line
- Player1.setLineY(Player1.getY()+grid/2);
- addLine(Player1.getLineX(),Player1.getLineY(),Player1.getLineX(),Player1.getLineY(),Color.BLUE);//make next line
- Player1.setCurrentLine(Player1.getLineNr()+Player2.getLineNr());//use next line
- Player1.setX(Player1.getX()-Player1.getHeight()+Player1.getWidth());
- Player1.setY(Player1.getY()+Player1.getHeight()-Player1.getWidth());
- }
- Player1.setLineNr(Player1.getLineNr()+1); //tell player that it had turned
- Player1.setImage("BikeBlueUp.png"); //change image in the right direction
- Player1.setWidth(grid); //correct images size
- Player1.setHeight(2*grid);
- Player1.setLineX(Player1.getX()+grid/2);//set point line is atteched to bibe
- Player1.setLineY(Player1.getY()+grid/2);
- Player1.setHorSp(0); //give speed in the right direction
- Player1.setVerSp(-1);
- }
- if(Player1.getDir() == 2){ //check which key and if is in grid
- if(Player1.getVerSp() == -1){
- Player1.setLineX(Player1.getX()+grid/2); //set end of line
- Player1.setLineY(Player1.getY()+grid/2);
- addLine(Player1.getLineX(),Player1.getLineY(),Player1.getLineX(),Player1.getLineY(),Color.BLUE);//make next line
- Player1.setCurrentLine(Player1.getLineNr()+Player2.getLineNr());//use next line
- Player1.setX(Player1.getX());
- Player1.setY(Player1.getY());
- }
- if(Player1.getVerSp() == 1){
- Player1.setLineX(Player1.getX()+grid/2); //set end of line
- Player1.setLineY(Player1.getY()+Player1.getHeight()-grid/2);
- addLine(Player1.getLineX(),Player1.getLineY(),Player1.getLineX(),Player1.getLineY(),Color.BLUE);//make next line
- Player1.setCurrentLine(Player1.getLineNr()+Player2.getLineNr());//use next line
- Player1.setX(Player1.getX());
- Player1.setY(Player1.getY()+Player1.getHeight()-Player1.getWidth());
- }
- Player1.setLineNr(Player1.getLineNr()+1); //tell player that it had turned
- Player1.setImage("BikeBlueRight.png"); //change image in the right direction
- Player1.setWidth(2*grid); //correct images size
- Player1.setHeight(grid);
- Player1.setLineX(Player1.getX()+Player1.getWidth()-grid/2);//set point line is atteched to bibe
- Player1.setLineY(Player1.getY()+grid/2);
- Player1.setHorSp(1); //give speed in the right direction
- Player1.setVerSp(0);
- }
- if(Player1.getDir() == 3){ //check which key and horizontal speed so it can't move in opposite direction
- if(Player1.getHorSp() == -1){
- Player1.setLineX(Player1.getX()+grid/2); //set end of line
- Player1.setLineY(Player1.getY()+grid/2);
- addLine(Player1.getLineX(),Player1.getLineY(),Player1.getLineX(),Player1.getLineY(),Color.BLUE);//make next line
- Player1.setCurrentLine(Player1.getLineNr()+Player2.getLineNr());//use next line
- Player1.setX(Player1.getX());
- Player1.setY(Player1.getY());
- }
- if(Player1.getHorSp() == 1){
- Player1.setLineX(Player1.getX()+Player1.getWidth()-grid/2); //set end of line
- Player1.setLineY(Player1.getY()+grid/2);
- addLine(Player1.getLineX(),Player1.getLineY(),Player1.getLineX(),Player1.getLineY(),Color.BLUE);//make next line
- Player1.setCurrentLine(Player1.getLineNr()+Player2.getLineNr());//use next line
- Player1.setX(Player1.getX()-Player1.getHeight()+Player1.getWidth());
- Player1.setY(Player1.getY());
- }
- Player1.setLineNr(Player1.getLineNr()+1); //tell player that it had turned
- Player1.setImage("BikeBlueDown.png"); //change image in the right direction
- Player1.setWidth(grid); //correct images size
- Player1.setHeight(2*grid);
- Player1.setLineX(Player1.getX()+grid/2);//set point line is atteched to bibe
- Player1.setLineY(Player1.getY()+Player1.getHeight()-grid/2);
- Player1.setHorSp(0); //give speed in the right direction
- Player1.setVerSp(1);
- }
- if(Player1.getDir() == 4){ //check which key and horizontal speed so it can't move in opposite direction
- if(Player1.getVerSp() == -1){
- Player1.setLineX(Player1.getX()+grid/2); //set end of line
- Player1.setLineY(Player1.getY()+grid/2);
- addLine(Player1.getLineX(),Player1.getLineY(),Player1.getLineX(),Player1.getLineY(),Color.BLUE);//make next line
- Player1.setCurrentLine(Player1.getLineNr()+Player2.getLineNr());//use next line
- Player1.setX(Player1.getX()-Player1.getHeight()+Player1.getWidth());
- Player1.setY(Player1.getY());
- }
- if(Player1.getVerSp() == 1){
- Player1.setLineX(Player1.getX()+grid/2); //set end of line
- Player1.setLineY(Player1.getY()+Player1.getHeight()-grid/2);
- addLine(Player1.getLineX(),Player1.getLineY(),Player1.getLineX(),Player1.getLineY(),Color.BLUE);//make next line
- Player1.setCurrentLine(Player1.getLineNr()+Player2.getLineNr());//use next line
- Player1.setX(Player1.getX()-Player1.getHeight()+Player1.getWidth());
- Player1.setY(Player1.getY()+Player1.getHeight()-Player1.getWidth());
- }
- Player1.setLineNr(Player1.getLineNr()+1); //tell player that it had turned
- Player1.setImage("BikeBlueLeft.png"); //change image in the right direction
- Player1.setWidth(2*grid); //correct images size
- Player1.setHeight(grid);
- Player1.setLineX(Player1.getX()+grid/2);//set point line is atteched to bibe
- Player1.setLineY(Player1.getY()+grid/2);
- Player1.setHorSp(-1); //give speed in the right direction
- Player1.setVerSp(0);
- }
- }
- // Changing the X and Y
- // Also known as moving...
- Player1.setX(Player1.getX() + Player1.getHorSp());
- Player1.setLineX(Player1.getLineX() + Player1.getHorSp());
- Player1.setY(Player1.getY() + Player1.getVerSp());
- Player1.setLineY(Player1.getLineY() + Player1.getVerSp());
- //room wrapping
- if(Player1.getX() < -1*Player1.getWidth()){
- Player1.setX(800);
- Player1.setLineX(Player1.getX()+grid/2);
- Player1.setLineY(Player1.getY()+grid/2);
- addLine(Player1.getLineX(),Player1.getLineY(),Player1.getLineX(),Player1.getLineY(),Color.BLUE);
- Player1.setCurrentLine(Player1.getLineNr()+Player2.getLineNr());
- Player1.setLineNr(Player1.getLineNr()+1); //tell player that it had turned
- }
- if(Player1.getX() > 800){
- Player1.setX(-1*Player1.getWidth());
- Player1.setLineX(Player1.getX()+Player1.getWidth()-grid/2);
- Player1.setLineY(Player1.getY()+grid/2);
- addLine(Player1.getLineX(),Player1.getLineY(),Player1.getLineX(),Player1.getLineY(),Color.BLUE);
- Player1.setCurrentLine(Player1.getLineNr()+Player2.getLineNr());
- Player1.setLineNr(Player1.getLineNr()+1); //tell player that it had turned
- }
- if(Player1.getY() < -1*Player1.getHeight()){
- Player1.setY(600);
- Player1.setLineX(Player1.getX()+grid/2);
- Player1.setLineY(Player1.getY()+grid/2);
- addLine(Player1.getLineX(),Player1.getLineY(),Player1.getLineX(),Player1.getLineY(),Color.BLUE);
- Player1.setCurrentLine(Player1.getLineNr()+Player2.getLineNr());
- Player1.setLineNr(Player1.getLineNr()+1); //tell player that it had turned
- }
- if(Player1.getY() > 600){
- Player1.setY(-1*Player1.getHeight());
- Player1.setLineX(Player1.getX()+grid/2);
- Player1.setLineY(Player1.getY()+Player1.getHeight()-grid/2);
- addLine(Player1.getLineX(),Player1.getLineY(),Player1.getLineX(),Player1.getLineY(),Color.BLUE);
- Player1.setCurrentLine(Player1.getLineNr()+Player2.getLineNr());
- Player1.setLineNr(Player1.getLineNr()+1); //tell player that it had turned
- }
- //draw line behind player
- Line CurrentLineP1 = this.lines.get(Player1.getCurrentLine());
- CurrentLineP1.setX2(Player1.getLineX());
- CurrentLineP1.setY2(Player1.getLineY());
- // Player 2
- if(this.turnable == 0 && Player2.getDir() > 0){
- Player2.setPrevLine(Player2.getCurrentLine());//safe previous line for testing
- if(Player2.getDir() == 1){ //check which key and horizontal speed so it can't move in opposite direction
- if(Player2.getHorSp() == -1){
- Player2.setLineX(Player2.getX()+grid/2); //set end of line
- Player2.setLineY(Player2.getY()+grid/2);
- addLine(Player2.getLineX(),Player2.getLineY(),Player2.getLineX(),Player2.getLineY(),Color.YELLOW);//make next line
- Player2.setCurrentLine(Player1.getLineNr()+Player2.getLineNr());//use next line
- Player2.setX(Player2.getX());
- Player2.setY(Player2.getY()-Player2.getWidth()+Player2.getHeight());
- }
- if(Player2.getHorSp() == 1){
- Player2.setLineX(Player2.getX()+Player2.getWidth()-grid/2); //set end of line
- Player2.setLineY(Player2.getY()+grid/2);
- addLine(Player2.getLineX(),Player2.getLineY(),Player2.getLineX(),Player2.getLineY(),Color.YELLOW);//make next line
- Player2.setCurrentLine(Player1.getLineNr()+Player2.getLineNr());//use next line
- Player2.setX(Player2.getX()-Player2.getHeight()+Player2.getWidth());
- Player2.setY(Player2.getY()+Player2.getHeight()-Player2.getWidth());
- }
- Player2.setLineNr(Player2.getLineNr()+1); //tell player that it had turned
- Player2.setImage("BikeYellowUp.png"); //change image in the right direction
- Player2.setWidth(grid); //correct images size
- Player2.setHeight(2*grid);
- Player2.setLineX(Player2.getX()+grid/2);//set point line is atteched to bibe
- Player2.setLineY(Player2.getY()+grid/2);
- Player2.setHorSp(0); //give speed in the right direction
- Player2.setVerSp(-1);
- }
- if(Player2.getDir() == 2){ //check which key and if is in grid
- if(Player2.getVerSp() == -1){
- Player2.setLineX(Player2.getX()+grid/2); //set end of line
- Player2.setLineY(Player2.getY()+grid/2);
- addLine(Player2.getLineX(),Player2.getLineY(),Player2.getLineX(),Player2.getLineY(),Color.YELLOW);//make next line
- Player2.setCurrentLine(Player1.getLineNr()+Player2.getLineNr());//use next line
- Player2.setX(Player2.getX());
- Player2.setY(Player2.getY());
- }
- if(Player2.getVerSp() == 1){
- Player2.setLineX(Player2.getX()+grid/2); //set end of line
- Player2.setLineY(Player2.getY()+Player2.getHeight()-grid/2);
- addLine(Player2.getLineX(),Player2.getLineY(),Player2.getLineX(),Player2.getLineY(),Color.YELLOW);//make next line
- Player2.setCurrentLine(Player1.getLineNr()+Player2.getLineNr());//use next line
- Player2.setX(Player2.getX());
- Player2.setY(Player2.getY()+Player2.getHeight()-Player2.getWidth());
- }
- Player2.setLineNr(Player2.getLineNr()+1); //tell player that it had turned
- Player2.setImage("BikeYellowRight.png"); //change image in the right direction
- Player2.setWidth(2*grid); //correct images size
- Player2.setHeight(grid);
- Player2.setLineX(Player2.getX()+Player2.getWidth()-grid/2);//set point line is atteched to bibe
- Player2.setLineY(Player2.getY()+grid/2);
- Player2.setHorSp(1); //give speed in the right direction
- Player2.setVerSp(0);
- }
- if(Player2.getDir() == 3){ //check which key and horizontal speed so it can't move in opposite direction
- if(Player2.getHorSp() == -1){
- Player2.setLineX(Player2.getX()+grid/2); //set end of line
- Player2.setLineY(Player2.getY()+grid/2);
- addLine(Player2.getLineX(),Player2.getLineY(),Player2.getLineX(),Player2.getLineY(),Color.YELLOW);//make next line
- Player2.setCurrentLine(Player1.getLineNr()+Player2.getLineNr());//use next line
- Player2.setX(Player2.getX());
- Player2.setY(Player2.getY());
- }
- if(Player2.getHorSp() == 1){
- Player2.setLineX(Player2.getX()+Player2.getWidth()-grid/2); //set end of line
- Player2.setLineY(Player2.getY()+grid/2);
- addLine(Player2.getLineX(),Player2.getLineY(),Player2.getLineX(),Player2.getLineY(),Color.YELLOW);//make next line
- Player2.setCurrentLine(Player1.getLineNr()+Player2.getLineNr());//use next line
- Player2.setX(Player2.getX()-Player2.getHeight()+Player2.getWidth());
- Player2.setY(Player2.getY());
- }
- Player2.setLineNr(Player2.getLineNr()+1); //tell player that it had turned
- Player2.setImage("BikeYellowDown.png"); //change image in the right direction
- Player2.setWidth(grid); //correct images size
- Player2.setHeight(2*grid);
- Player2.setLineX(Player2.getX()+grid/2);//set point line is atteched to bibe
- Player2.setLineY(Player2.getY()+Player2.getHeight()-grid/2);
- Player2.setHorSp(0); //give speed in the right direction
- Player2.setVerSp(1);
- }
- if(Player2.getDir() == 4){ //check which key and horizontal speed so it can't move in opposite direction
- if(Player2.getVerSp() == -1){
- Player2.setLineX(Player2.getX()+grid/2); //set end of line
- Player2.setLineY(Player2.getY()+grid/2);
- addLine(Player2.getLineX(),Player2.getLineY(),Player2.getLineX(),Player2.getLineY(),Color.YELLOW);//make next line
- Player2.setCurrentLine(Player1.getLineNr()+Player2.getLineNr());//use next line
- Player2.setX(Player2.getX()-Player2.getHeight()+Player2.getWidth());
- Player2.setY(Player2.getY());
- }
- if(Player2.getVerSp() == 1){
- Player2.setLineX(Player2.getX()+grid/2); //set end of line
- Player2.setLineY(Player2.getY()+Player2.getHeight()-grid/2);
- addLine(Player2.getLineX(),Player2.getLineY(),Player2.getLineX(),Player2.getLineY(),Color.YELLOW);//make next line
- Player2.setCurrentLine(Player1.getLineNr()+Player2.getLineNr());//use next line
- Player2.setX(Player2.getX()-Player2.getHeight()+Player2.getWidth());
- Player2.setY(Player2.getY()+Player2.getHeight()-Player2.getWidth());
- }
- Player2.setLineNr(Player2.getLineNr()+1); //tell player that it had turned
- Player2.setImage("BikeYellowLeft.png"); //change image in the right direction
- Player2.setWidth(2*grid); //correct images size
- Player2.setHeight(grid);
- Player2.setLineX(Player2.getX()+grid/2);//set point line is atteched to bibe
- Player2.setLineY(Player2.getY()+grid/2);
- Player2.setHorSp(-1); //give speed in the right direction
- Player2.setVerSp(0);
- }
- }
- // Changing the X and Y
- // Also known as moving...
- Player2.setX(Player2.getX() + Player2.getHorSp());
- Player2.setLineX(Player2.getLineX() + Player2.getHorSp());
- Player2.setY(Player2.getY() + Player2.getVerSp());
- Player2.setLineY(Player2.getLineY() + Player2.getVerSp());
- //room wrapping
- if(Player2.getX() < -1*Player2.getWidth()){
- Player2.setX(800);
- Player2.setLineX(Player2.getX()+grid/2);
- Player2.setLineY(Player2.getY()+grid/2);
- addLine(Player2.getLineX(),Player2.getLineY(),Player2.getLineX(),Player2.getLineY(),Color.YELLOW);
- Player2.setCurrentLine(Player1.getLineNr()+Player2.getLineNr());
- Player2.setLineNr(Player2.getLineNr()+1); //tell player that it had turned
- }
- if(Player2.getX() > 800){
- Player2.setX(-1*Player2.getWidth());
- Player2.setLineX(Player2.getX()+Player2.getWidth()-grid/2);
- Player2.setLineY(Player2.getY()+grid/2);
- addLine(Player2.getLineX(),Player2.getLineY(),Player2.getLineX(),Player2.getLineY(),Color.YELLOW);
- Player2.setCurrentLine(Player1.getLineNr()+Player2.getLineNr());
- Player2.setLineNr(Player2.getLineNr()+1); //tell player that it had turned
- }
- if(Player2.getY() < -1*Player2.getHeight()){
- Player2.setY(600);
- Player2.setLineX(Player2.getX()+grid/2);
- Player2.setLineY(Player2.getY()+grid/2);
- addLine(Player2.getLineX(),Player2.getLineY(),Player2.getLineX(),Player2.getLineY(),Color.YELLOW);
- Player2.setCurrentLine(Player1.getLineNr()+Player2.getLineNr());
- Player2.setLineNr(Player2.getLineNr()+1); //tell player that it had turned
- }
- if(Player2.getY() > 600){
- Player2.setY(-1*Player2.getHeight());
- Player2.setLineX(Player2.getX()+grid/2);
- Player2.setLineY(Player2.getY()+Player2.getHeight()-grid/2);
- addLine(Player2.getLineX(),Player2.getLineY(),Player2.getLineX(),Player2.getLineY(),Color.YELLOW);
- Player2.setCurrentLine(Player1.getLineNr()+Player2.getLineNr());
- Player2.setLineNr(Player2.getLineNr()+1); //tell player that it had turned
- }
- //draw line behind player
- Line CurrentLineP2 = this.lines.get(Player2.getCurrentLine());
- CurrentLineP2.setX2(Player2.getLineX());
- CurrentLineP2.setY2(Player2.getLineY());
- // implents grid
- this.turnable++;
- this.turnable = this.turnable % 20;
- content.repaint(); //make it happen on the screen,
- // launch the collision methode
- Collision();
- try{thread.sleep(5);} catch(InterruptedException e) {} //implements small delay !KEEP IT SMALL DAMNIT!
- }
- if(this.crash == true){
- //lines.clear();
- }
- }
- public void Collision(){
- Player Player1 = this.players.get(0);//get player 1
- Player Player2 = this.players.get(1);//get player 2
- // Check that players don't collapse
- // If so, it's a tie.
- if(Player1.getX() >= Player2.getX() && Player1.getX() <= Player2.getX() + Player2.getWidth() && Player1.getY() >= Player2.getY() && Player1.getY() <= Player2.getY() + Player2.getHeight()){
- System.out.println("Players collapse");
- Player1.setHorSp(0);//stop players cause the game is over
- Player1.setVerSp(0);
- Player2.setHorSp(0);
- Player2.setVerSp(0);
- System.out.println("It's a tie");
- addImage(0,0,800,600,"Tie.png");//load tie screen
- this.crash=true;
- }
- if(Player1.getX() >= Player2.getX() && Player1.getX() <= Player2.getX() + Player2.getWidth() && Player1.getY()+Player1.getHeight() >= Player2.getY() && Player1.getY()+Player1.getHeight() <= Player2.getY() + Player2.getHeight()){
- System.out.println("Players collapse");
- Player1.setHorSp(0);
- Player1.setVerSp(0);
- Player2.setHorSp(0);
- Player2.setVerSp(0);
- System.out.println("It's a tie");
- addImage(0,0,800,600,"Tie.png");//load tie screen
- this.crash=true;
- }
- if(Player2.getX() >= Player1.getX() && Player2.getX() <= Player1.getX() + Player1.getWidth() && Player2.getY() >= Player1.getY() && Player2.getY() <= Player1.getY() + Player1.getHeight()){
- System.out.println("Players collapse");
- Player1.setHorSp(0);
- Player1.setVerSp(0);
- Player2.setHorSp(0);
- Player2.setVerSp(0);
- System.out.println("It's a tie");
- addImage(0,0,800,600,"Tie.png");//load tie screen
- this.crash=true;
- }
- if(Player2.getX() >= Player1.getX() && Player2.getX() <= Player1.getX() + Player1.getWidth() && Player2.getY()+Player2.getHeight() >= Player1.getY() && Player2.getY()+Player2.getHeight() <= Player1.getY() + Player1.getHeight()){
- System.out.println("Players collapse");
- Player1.setHorSp(0);
- Player1.setVerSp(0);
- Player2.setHorSp(0);
- Player2.setVerSp(0);
- System.out.println("It's a tie");
- addImage(0,0,800,600,"Tie.png");//load tie screen
- this.crash=true;
- }
- for(int i=0; i<lines.size(); i++){
- Line l = this.lines.get(i); //
- // player 1
- if(i != Player1.getCurrentLine()){ // these two if's save a lot of speed
- if(i != Player1.getPrevLine()){
- // player 1
- // check upper left corner
- if(l.getX1() <= Player1.getX() && l.getX2() >= Player1.getX() && l.getY1() <= Player1.getY() && l.getY2() >= Player1.getY()){
- System.out.println("Player crashes with line");
- System.out.println("Player 2 wins");
- // addImage(0,0,800,600,"Tie.png");//load tie screen
- this.crash=true;
- }
- // check bottom right
- if(l.getX1() <= Player1.getX() + Player1.getWidth() && l.getX2() >= Player1.getX() + Player1.getWidth() && l.getY1() <= Player1.getY() + Player1.getHeight() && l.getY2() >= Player1.getY() + Player1.getHeight()){
- System.out.println("Player crashes with line");
- System.out.println("Player 2 wins");
- // addImage(0,0,800,600,"Tie.png");//load tie screen
- this.crash=true;
- }
- // check center
- if(l.getX1() <= Player1.getX() + (0.5*Player1.getWidth()) && l.getX2() >= Player1.getX() + (0.5*Player1.getWidth()) && l.getY1() <= Player1.getY() + (0.5*Player1.getHeight()) && l.getY2() >= Player1.getY() + (0.5*Player1.getHeight())){
- System.out.println("Player crashes with line");
- System.out.println("Player 2 wins");
- // addImage(0,0,800,600,"Tie.png");//load tie screen
- this.crash=true;
- }
- }
- }
- // player 2
- if(i != Player2.getCurrentLine()){ // these two if's save a lot of speed
- if(i != Player2.getPrevLine()){
- // player 2
- // check upper left corner
- if(l.getX1() <= Player2.getX() && l.getX2() >= Player2.getX() && l.getY1() <= Player2.getY() && l.getY2() >= Player2.getY()){
- System.out.println("Player crashes with line");
- System.out.println("Player 1 wins");
- // addImage(0,0,800,600,"Tie.png");//load tie screen
- this.crash=true;
- }
- // check bottom right
- if(l.getX1() <= Player2.getX() + Player2.getWidth() && l.getX2() >= Player2.getX() + Player2.getWidth() && l.getY1() <= Player2.getY() + Player2.getHeight() && l.getY2() >= Player2.getY() + Player2.getHeight()){
- System.out.println("Player crashes with line");
- System.out.println("Player 1 wins");
- // addImage(0,0,800,600,"Tie.png");//load tie screen
- this.crash=true;
- }
- // check center
- if(l.getX1() <= Player2.getX() + (0.5*Player2.getWidth()) && l.getX2() >= Player2.getX() + (0.5*Player2.getWidth()) && l.getY1() <= Player2.getY() + (0.5*Player2.getHeight()) && l.getY2() >= Player2.getY() + (0.5*Player2.getHeight())){
- System.out.println("Player crashes with line");
- System.out.println("Player 1 wins");
- // addImage(0,0,800,600,"Tie.png");/ m/load tie screen
- this.crash=true;
- }
- }
- }
- }
- }
- public void makeFrame(){ // Create JFrame with Render
- this.content = new Render(images, players, enemys, lines); //Calling the class Render
- this.frame = new JFrame("TRON DEMO"); // Make the frame, with the name 'TRON DEMO'
- Toolkit tk = Toolkit.getDefaultToolkit();
- int xSize = ((int) tk.getScreenSize().getWidth());
- int ySize = ((int) tk.getScreenSize().getHeight());
- frame.setSize(/*xSize*/800,/*ySize*/600); //make the frame fullscreen with the toolkit
- this.frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- this.frame.setVisible(true); //make the frame visible
- this.frame.setResizable(false); // Make sure that the screen can't be resized
- this.frame.addMouseListener(this); //add the mouselistener
- this.frame.add(this.content); //make sure there is something to see on the screen
- this.frame.addKeyListener(this); //add the keylistener
- content.repaint(); //make it happen on the screen,
- }
- private void addImage(int x,int y,int w,int h,String naam){ // main methode for adding images
- BufferedImage image = null;
- try{image = ImageIO.read(new File(naam));} catch(IOException e){}
- this.images.add(new Image(x,y,w,h, image));
- }
- private void addPlayer(int x,int y,int w,int h,int hs, int vs, String naam, int cl){ // main methode for adding Players (image)
- BufferedImage image = null;
- try{image = ImageIO.read(new File(naam));} catch(IOException e){}
- this.players.add(new Player(x,y,w,h,hs,vs, image, cl));
- }
- private void addEnemy(int x,int y,int w,int h,String naam){ // main methode for adding Enemy's (image)
- BufferedImage image = null;
- try{image = ImageIO.read(new File(naam));} catch(IOException e){}
- this.enemys.add(new Enemy(x,y,w,h, image));
- }
- public void addLine(int x1, int y1, int x2, int y2, Color lineColor){
- this.lines.add(new Line(x1, y1, x2, y2, lineColor));
- }
- public void setCrash(boolean x){
- this.crash = x;
- }
- public int getGrid(){
- return this.grid;
- }
- //methodes needed for keyboard and mouse-events
- public void keyPressed(KeyEvent key){ // Events which should happend when a key is pressed
- if(this.running == true){
- Player Player1 = this.players.get(0);//get player 1
- Player Player2 = this.players.get(1);//get player 2
- //Player 1
- if(key.getKeyCode() == KeyEvent.VK_UP && Player1.getDir() == 0 && Player1.getVerSp() == 0){
- Player1.setDir(1);
- }
- if(key.getKeyCode() == KeyEvent.VK_RIGHT && Player1.getDir() == 0 && Player1.getHorSp() == 0){
- Player1.setDir(2);
- }
- if(key.getKeyCode() == KeyEvent.VK_DOWN && Player1.getDir() == 0 && Player1.getVerSp() == 0){
- Player1.setDir(3);
- }
- if(key.getKeyCode() == KeyEvent.VK_LEFT && Player1.getDir() == 0 && Player1.getHorSp() == 0){
- Player1.setDir(4);
- }
- //Player 2
- if(key.getKeyCode() == KeyEvent.VK_W && Player2.getDir() == 0 && Player2.getVerSp() == 0){
- Player2.setDir(1);
- }
- if(key.getKeyCode() == KeyEvent.VK_D && Player2.getDir() == 0 && Player2.getHorSp() == 0){
- Player2.setDir(2);
- }
- if(key.getKeyCode() == KeyEvent.VK_S && Player2.getDir() == 0 && Player2.getVerSp() == 0){
- Player2.setDir(3);
- }
- if(key.getKeyCode() == KeyEvent.VK_A && Player2.getDir() == 0 && Player2.getHorSp() == 0){
- Player2.setDir(4);
- }
- }
- }
- public void keyReleased(KeyEvent key){
- if(key.getKeyCode() == 32 && this.running == false){
- makeLevel1();
- }
- if(this.running == true){
- Player Player1 = this.players.get(0);//get player 1
- Player Player2 = this.players.get(1);//get player 2
- //Player 1
- if(key.getKeyCode() == KeyEvent.VK_UP){
- Player1.setDir(0);
- }
- if(key.getKeyCode() == KeyEvent.VK_RIGHT){
- Player1.setDir(0);
- }
- if(key.getKeyCode() == KeyEvent.VK_DOWN){
- Player1.setDir(0);
- }
- if(key.getKeyCode() == KeyEvent.VK_LEFT){
- Player1.setDir(0);
- }
- //Player 2
- if(key.getKeyCode() == KeyEvent.VK_W){
- Player2.setDir(0);
- }
- if(key.getKeyCode() == KeyEvent.VK_D){
- Player2.setDir(0);
- }
- if(key.getKeyCode() == KeyEvent.VK_S){
- Player2.setDir(0);
- }
- if(key.getKeyCode() == KeyEvent.VK_A){
- Player2.setDir(0);
- }
- }
- }
- /* draw grid
- * BUG: memory overload
- * there is a new version of this grid. But the code was beautiful so therefore is this still in the code.
- * public void makeGrid(){
- for(int gw = 0; gw < 800; gw = gw+20){
- for(int gh = 0; gh < 600; gh = gh+20){
- addWall(gw,gh,20,20,"BikeBlueTest.jpg",false);
- }
- }
- }
- private void addWall(int x,int y,int w,int h,String naam, boolean dangerous){
- BufferedImage image = null;
- try{image = ImageIO.read(new File(naam));} catch(IOException e){}
- this.images.add(new Image(x,y,w,h, image));
- }*/
- //unused keyboard and mouse methodes
- public void keyTyped(KeyEvent key){
- //System.out.println("toets:" + key.getKeyChar());
- }
- public void mouseExited(MouseEvent event) {
- //System.out.println("mouseExited");
- }
- public void mouseEntered(MouseEvent event) {
- //System.out.println("mouseEntered");
- }
- public void mouseReleased(MouseEvent event) {
- //System.out.println("mouseReleased");
- }
- public void mousePressed(MouseEvent event) {
- //System.out.println("mousePressed");
- }
- public void mouseClicked(MouseEvent event) {
- //System.out.println("mouseClicked");
- }
- }
- import java.util.ArrayList;
- import java.awt.*;
- import java.awt.geom.Ellipse2D;
- import javax.swing.*;
- import javax.imageio.ImageIO;
- import java.io.IOException;
- import java.io.File;
- import java.awt.image.BufferedImage;
- public class Render extends JPanel{
- private ArrayList<Image> images;
- private ArrayList<Player> players;
- private ArrayList<Enemy> enemys;
- private ArrayList<Line> lines;
- public Render(ArrayList<Image> images, ArrayList<Player> players, ArrayList<Enemy> enemys, ArrayList<Line> lines)
- {
- super();
- this.images = images;
- this.players = players;
- this.enemys = enemys;
- this.lines = lines;
- }
- public void paintComponent(Graphics g){ // paint all the things
- super.paintComponent(g);
- Graphics2D randomName = (Graphics2D) g;
- for (Image i : images){
- randomName.drawImage(i.getImage(), i.getX(), i.getY(), i.getWidth(), i.getHeight(), null);
- }
- for (Line i : lines){
- randomName.setColor(i.getLineColor());
- randomName.setStroke(new BasicStroke(1));
- randomName.drawLine(i.getX1(), i.getY1(), i.getX2(), i.getY2());
- }
- for (Player i : players){
- randomName.drawImage(i.getImage(), i.getX(), i.getY(), i.getWidth(), i.getHeight(), null);
- }
- for (Enemy i : enemys){
- randomName.drawImage(i.getImage(), i.getX(), i.getY(), i.getWidth(), i.getHeight(), null);
- }
- }
- }
- import javax.swing.*;
- import java.awt.*;
- import java.awt.image.BufferedImage;
- //needed for setting image
- import java.io.File;
- import javax.imageio.ImageIO;
- import java.io.IOException;
- public class Image //Image = Background
- {
- private BufferedImage image;
- private int x;
- private int y;
- private int width;
- private int height;
- public Image(int x, int y, int w, int h, BufferedImage img) //constructor of the backgrounds
- {
- this.x = x;
- this.y = y;
- this.width = w;
- this.height = h;
- this.image = img;
- }
- //in case the Background needs to be moved, not used at the moment
- public void setX(int newX)
- {
- this.x = newX;
- }
- public int getX()
- {
- return this.x;
- }
- public void setY(int newY)
- {
- this.y = newY;
- }
- public int getY()
- {
- return this.y;
- }
- public void setWidth(int newWidth){
- this.width = newWidth;
- }
- public int getWidth(){
- return this.width;
- }
- public void setHeight(int newHeight){
- this.height = newHeight;
- }
- public int getHeight(){
- return this.height;
- }
- public void setImage(String naam){
- BufferedImage newImage = null;
- try{newImage = ImageIO.read(new File(naam));} catch(IOException e){}
- this.image = newImage;
- }
- public BufferedImage getImage(){
- return this.image;
- }
- }
- import javax.swing.*;
- import java.awt.*;
- import java.awt.image.BufferedImage;
- //needed for setting image
- import java.io.File;
- import javax.imageio.ImageIO;
- import java.io.IOException;
- public class Player // the player, the one you control
- {
- private BufferedImage image;
- private int x;
- private int y;
- private int width;
- private int height;
- private int horSp;
- private int verSp;
- private int currentLine;
- private int lineNr;
- private int prevline;
- private int direction;
- private int lineX;
- private int lineY;
- public Player(int x, int y, int w, int h, int horSp, int verSp, BufferedImage img, int currentLine) //constructor for the player
- {
- this.x = x;
- this.y = y;
- this.width = w;
- this.height = h;
- this.horSp = horSp;
- this.verSp = verSp;
- this.image = img;
- this.currentLine = currentLine;
- this.lineNr = 1;
- this.direction = 0;
- this.lineX = x + width - width/4;
- this.lineY = y + width/4;
- }
- //methodes
- public void setX(int newX)
- {
- this.x = newX;
- }
- public int getX()
- {
- return this.x;
- }
- public void setY(int newY)
- {
- this.y = newY;
- }
- public int getY()
- {
- return this.y;
- }
- public void setWidth(int newWidth){
- this.width = newWidth;
- }
- public int getWidth(){
- return this.width;
- }
- public void setHeight(int newHeight){
- this.height = newHeight;
- }
- public int getHeight(){
- return this.height;
- }
- public void setHorSp(int newHorSp)
- {
- this.horSp = newHorSp;
- }
- public int getHorSp()
- {
- return this.horSp;
- }
- public void setVerSp(int newVerSp)
- {
- this.verSp = newVerSp;
- }
- public int getVerSp()
- {
- return this.verSp;
- }
- public void setImage(String naam){
- BufferedImage newImage = null;
- try{newImage = ImageIO.read(new File(naam));} catch(IOException e){}
- this.image = newImage;
- }
- public BufferedImage getImage(){
- return this.image;
- }
- public int getCurrentLine(){
- return this.currentLine;
- }
- public void setCurrentLine(int newCurrentLine){
- this.currentLine = newCurrentLine;
- }
- public void setLineNr(int newLineNr)
- {
- this.lineNr = newLineNr;
- }
- public int getLineNr()
- {
- return this.lineNr;
- }
- public void setPrevLine(int i){
- this.prevline = i;
- }
- public int getPrevLine(){
- return this.prevline;
- }
- public void setDir(int dir){
- this.direction = dir;
- }
- public int getDir(){
- return this.direction;
- }
- public void setLineX(int newLineX){
- this.lineX = newLineX;
- }
- public int getLineX(){
- return this.lineX;
- }
- public void setLineY(int newLineY){
- this.lineY = newLineY;
- }
- public int getLineY(){
- return this.lineY;
- }
- }
- import javax.swing.*;
- import java.awt.*;
- import java.awt.image.BufferedImage;
- //needed for setting image
- import java.io.File;
- import javax.imageio.ImageIO;
- import java.io.IOException;
- public class Enemy //the enemy,
- {
- private BufferedImage image;
- private int x;
- private int y;
- private int width;
- private int height;
- public Enemy(int x, int y, int w, int h, BufferedImage img) //the constructor of the enemy
- {
- this.x = x;
- this.y = y;
- this.width = w;
- this.height = h;
- this.image = img;
- }
- //moving the enemy
- public void setX(int newX)
- {
- this.x = newX;
- }
- public int getX()
- {
- return this.x;
- }
- public void setY(int newY)
- {
- this.y = newY;
- }
- public int getY()
- {
- return this.y;
- }
- public void setWidth(int newWidth){
- this.width = newWidth;
- }
- public int getWidth(){
- return this.width;
- }
- public void setHeight(int newHeight){
- this.height = newHeight;
- }
- public int getHeight(){
- return this.height;
- }
- public void setImage(String naam){
- BufferedImage newImage = null;
- try{newImage = ImageIO.read(new File(naam));} catch(IOException e){}
- this.image = newImage;
- }
- public BufferedImage getImage(){
- return this.image;
- }
- }
- import java.awt.Color;
- public class Line{
- private int x1;
- private int y1;
- private int x2;
- private int y2;
- private Color lineColor;
- public Line(int x1, int y1, int x2, int y2, Color lineColor){
- this.x1 = x1;
- this.y1 = y1;
- this.x2 = x2;
- this.y2 = y2;
- this.lineColor = lineColor;
- }
- public int getX1(){
- return this.x1;
- }
- public void setX1(int newX1){
- this.x1 = newX1;
- }
- public int getX2(){
- return this.x2;
- }
- public void setX2(int newX2){
- this.x2 = newX2;
- }
- public int getY1(){
- return this.y1;
- }
- public void setY1(int newY1){
- this.y1 = newY1;
- }
- public int getY2(){
- return this.y2;
- }
- public void setY2(int newY2){
- this.y2 = newY2;
- }
- public Color getLineColor(){
- return this.lineColor;
- }
- public void setLineColor(Color newLineColor){
- this.lineColor = newLineColor;
- }
- }
- // goodluck
Advertisement
Add Comment
Please, Sign In to add comment