无法运行该程序

时间:2015-09-20 19:50:11

标签: processing

我正在使用Processing库在Eclipse Mars中制作游戏。我在其他地方制作了游戏并且运行良好。将文件从我的闪存驱动器复制并粘贴到Eclipse中的文件夹后,没有任何错误。当我试图运行时,它说"选择无法启动,并且最近没有发布。"最近没有发布,因为我刚刚获得了Eclipse。我的代码如下:

Main Class:

    //package dogeball;

import processing.core.PApplet;
import processing.core.PImage;
import java.awt.Color;
import processing.core.PFont;

public class Dogeball extends PApplet {
    Ball ball;
    Furniture butterChair;
    Furniture[] bricks;
    PFont dogefont;
    float py;
    float score;
    boolean game;
    int checker; 
    boolean mode;

    PImage img = loadImage("doge.jpg");
    PImage img2 = loadImage("doge2.png");
    public void setup() {
        checker = 0;
        size(300,250);
        game = false;
        mode = true;
        ball = new  Ball(this, 100, 225, 0, 0, 10, Color.DARK_GRAY );
        butterChair = new Furniture(this, 130, 238, 40, 10, Color.YELLOW);
        py = butterChair.w /2;
        bricks = new Furniture[56];
        dogefont = loadFont("ComicSansMS-48.vlw");
        for(int rowNum = 0; rowNum<8; rowNum+= 1) {

            for(int colNum = 0; colNum<7; colNum += 1){

                bricks[7*rowNum + colNum] = new Furniture(this, 10+40*colNum, 10+15*rowNum, 40, 15, Color.red);
                score = 0;
            }
            }


    }
    public void draw() {



        if(game == false) {
        background(img);
        fill(0,255,255);
        textSize(30);
        textFont(dogefont);
        text("DogeBall",33, 170);
        fill(255,255,0);
        textSize(20);
        text("Press Space", 120,190);
        fill(255,0,0);
        text("Such BrickBreaker", 20, 20);
        fill(0,0,255);
        text("Much Atari", 190, 80);
        fill(0,255,0);
        text("How Breakout", 150, 230);
        }
        if(keyPressed == true) {
            if (key == ' ') {
                game = true;
            }
        }

        if(game == true) {
            if(keyPressed == true) {
                if (key == 'm') {
                    mode = !mode;
                }
            }
            //checker = 0;
            background(img);
            ball.appear();
            ball.hover();
            butterChair.appear();
            if(mode == true) {
            butterChair.x = mouseX-butterChair.w/2;
            }
            if(mode == false) {
            if(keyPressed == true) {
                if (key == CODED) {
                    if (keyCode == LEFT){
                        butterChair.x -= 3;
                    }
                }
            }
            if(keyPressed == true) {
                if (key == CODED) {
                    if (keyCode == RIGHT){
                        butterChair.x += 3;
                    }
                }
            }
            }
            if(butterChair.x <= 0) {
                butterChair.x = 0;
            }
            if(butterChair.x >= width - butterChair.w) {
            butterChair.x = width - butterChair.w;  
            }
            textFont(dogefont);
            fill(255,0,255);
            text("Much Doge", 12, 160);

            fill(255,0,0);
            textSize(20);
            text("M to toggle mouse mode.", 20,200);

            fill(0);
            textSize(10);
            text("You might have to press twice", 10,220);

            fill(0,0,255);
            textSize(20);
            text("Press S to Start", 150, 230);

            if (keyPressed == true) {
                if (key == 's' || key == 'S'){
                    ball.vy = 2;
                    ball.vx = 1;
                }
            }

            /*if(mousePressed == true) {
                ball.vx = 0;
                ball.vy = 0;
            }*/

            for(int i = 0; i<56; i+= 1) {
                bricks[i].appear();
            }


        }

        detectCollision();

        if(ball.y >= height) {
            checker = 0;
            if(checker ==0){
            background(img);
            ball.vx = 0;
            ball.vy = 0;
            textSize(30);
            fill(255,0,0);
            game = false;
            text("Such Sorry", 130, 160);

            fill(0,255,255);
            text("Much Game Over", 20, 215);

            fill(255,255,0);
            text("So Losing", 10, 30);

            textSize(20);
            text("Press P to Play Again", 20, 245);
            }
            if(keyPressed == true) {
                if(key == 'p') {
                    game = true;
                    ball.x = 100;
                    ball.y = 225;
                    checker = 1;

                    for(int rowNum = 0; rowNum<8; rowNum+= 1) {

                        for(int colNum = 0; colNum<7; colNum += 1){

                            bricks[7*rowNum + colNum] = new Furniture(this, 10+40*colNum, 10+15*rowNum, 40, 15, Color.red);
                            score = 0;
                        }
                    }

                }
            }
        }   





    }



    void detectCollision() {


        if(keyPressed == true) {
            if(key == '-')
                     {
                for(int cCode = 0; cCode < 56; cCode += 1) {
                    Furniture b = bricks[cCode];
                    b.x = width * 2;
                    b.y = height * 2;
                    score = 56;
                }
            }}



        if(ball.x >= butterChair.x &&
                ball.x <= butterChair.x + butterChair.w &&
                ball.y + ball.s /2 > butterChair.y) {
            ball.vy *= -1;
        }

        for(int i = 0; i<bricks.length; i+= 1) {
            Furniture b = bricks[i];
            if(ball.x >= b.x && ball.x <= b.x+b.w && ball.y-ball.s/2 <= b.y) {
                b.y = height * 2;
                b.x = width * 2;
                ball.vy *= -1;
                score += 1;
            }
            if(score == 56){
                background(img);
                ball.vx = 0;
                ball.vy = 0;
                fill(255,0,0);
                textSize(20);
                text("Such Winning!", 20, 20);
                textSize(40);
                fill(0,255,0);
                text("Much Congrats!",12 ,160);
                textSize(20);

                fill(255,0,255);
                text("Press P to Play Again", 20, 245);

                if(keyPressed == true) {
                    if(key == 'p') {
                        game = true;
                        ball.x = 100;
                        ball.y = 225;
                        checker = 1;

                        for(int rowNum = 0; rowNum<8; rowNum+= 1) {

                            for(int colNum = 0; colNum<7; colNum += 1){

                                bricks[7*rowNum + colNum] = new Furniture(this, 10+40*colNum, 10+15*rowNum, 40, 15, Color.red);
                                score = 0;
                        }
                    }
                }
            }
        }
        }
    }
    static public void main(String args[]) {
        PApplet.main("Dogeball");
    }

}

Ball Class:

    //package dogeball;

import java.awt.Color;

import processing.core.PApplet;

public class Ball extends PApplet {
    float x;
    float y;
    float vx;
    float vy;
    float s;
    Color c;
    PApplet p;

Ball(PApplet pApp, float xLocation, float yLocation, float xSpeed, float ySpeed, float size, Color shade){
    x = xLocation;
    y = yLocation;
    vx = xSpeed;
    vy = ySpeed;
    s = size;
    c = shade;
    p = pApp;
    }

    void hover() {
        x += vx;
        y += vy;

        if(x< 0 || x> p.width) {
            vx *= -1;
        }

        if(y< 0) {
            vy *= -1;
        }
    }
    void appear() {
        p.fill(c.getRGB() );
        p.ellipse(x,y,s,s);
    }


}

Paddle Class:

    //package dogeball;

import java.awt.Color;
import processing.core.PApplet;

public class Furniture extends PApplet {
float x;
float y;
float w;
float h;
Color c;
PApplet p;

Furniture(PApplet PApp, float locationX, float locationY, float fWidth, float fHeight, Color shade) {
    x = locationX;
    y = locationY;
    w = fWidth;
    h = fHeight;
    c = shade;
    p = PApp;
}

void appear() {
    p.fill(c.getRGB());
    p.rect(x,y,w,h);
    }

}

0 个答案:

没有答案