Programmieren – die besten Beiträge

Programm beenden in Java?

Biite so machen das es nach ner Zeit beendet (Zeit egal)

int numBalls = 5 + (int)(Math.random() * ((15 - 5) + 1));
float spring = 0.05;
float gravity = 0.03;
float friction = -0.9;
int score = 0;
int timer = 2;
int Java = 1;
Ball[] balls = new Ball[numBalls];




void setup() {
  size(1920, 920);
  for (int i = 0; i < numBalls; i++ ) {
    balls[i] = new Ball(random(width), random(height), random(30, 70), i, balls);
  }
  noStroke();
  fill(255, 204);
  //  circleColor = color(255);
}


void draw() {
  background(255, 255, 255);
  for (Ball ball : balls) {
    ball.collide();
    ball.move();
    ball.display();
  }
}


void mousePressed() {
  for (Ball ball : balls) {
    if (ball == null) {
      break;
    }
    if (ball.wasHit ( mouseX, mouseY)) {
      ball.destroyBall();
    }
  }
}


class Ball {


  float x, y;
  float diameter;
  float vx = 0;
  float vy = 0;
  int id;
  float lifespan;
  float radius;
  color circleColor;
  float xin;
  float yin;
  float din;
  int idin;
  Ball[] others;


  Ball(float xin, float yin, float din, int idin, Ball[] oin) {
    x = xin;
    y = yin;
    diameter = din;
    id = idin;
    others = oin;
    lifespan = random(2000.0 - 750.0) + 750;
    radius = diameter/2;
    circleColor =  color(random(255), random(255), random(255));
  }


  void collide() {
    for (int i = id + 1; i < numBalls; i++) {
      float dx = others[i].x - x;
      float dy = others[i].y - y;
      float distance = sqrt(dx*dx + dy*dy);
      float minDist = others[i].diameter/2 + diameter/2;
      if (distance < minDist) {
        float angle = atan2(dy, dx);
        float targetX = x + cos(angle) * minDist;
        float targetY = y + sin(angle) * minDist;
        float ax = (targetX - others[i].x) * spring;
        float ay = (targetY - others[i].y) * spring;
        vx -= ax;
        vy -= ay;
        others[i].vx += ax;
        others[i].vy += ay;
      }
    }
  }


  void move() {
    vy += gravity;
    x += vx;
    y += vy;
    lifespan -= 2.0;
    if (x + diameter/2 > width) {
      x = width - diameter/2;
      vx *= friction;
    } else if (x - diameter/2 < 0) {
      x = diameter/2;
      vx *= friction;
    }
    if (y + diameter/2 > height) {
      y = height - diameter/2;
      vy *= friction;
    } else if (y - diameter/2 < 0) {
      y = diameter/2;
      vy *= friction;
    }
    /* boolean isDead() {
     return (lifespan < 0.0);
     }*/
  }


  void display() {
    stroke(255, lifespan);
    fill(circleColor, lifespan);
    ellipse(x, y, diameter, diameter);
    textAlign(CENTER, CENTER);
    fill(200);
    textSize(50);
    text("Score = " + (score), 110, 10);
  }
  boolean wasHit(float ShotX, float ShotY) {
    if ((y +diameter/2 >= ShotY && y - diameter/2 <= ShotY) &&
      (x +diameter/2 >= ShotX && x - diameter/2 <= ShotX)) {
      return true;
    }
    return false;
  }
  void destroyBall() {
    lifespan = random(500.0 - 250.0) + 250;
    score++;
    x = random(width);
    y = random(height);
  }
}
Computer, programmieren, Java, Processing, Spiele und Gaming

Java Processing Game over Screen erstellen?

Hey ich habe eine Version von Pong erstellt um mich ein wenig rumzuprobierem. Demnach ist es weder schön noch besonders ausgereift. Ich habe folgendes gecodet und Frage mich wie ich auf Knopfdruck ein neues Spiel starten kann. Ich hab schon was implementiert was aber nicht funktioniert hatt. Vielleicht ist der Ansatz ja auch richtig. Vielen Dank:

int screen = 0;
int end = 0;
float x = 0;
float y = 0;

int xball = 500;
int yball = 500;
int xdir = 1;
int ydir = 1;



void setup(){
  
 fullScreen();
 smooth();
  
}

void draw(){
 background(38,30,38);
 strokeWeight(5);
 stroke(39,255,36);
 fill(39, 181, 36);
 rect(25,(mouseY/25)*25,25,25);
 rect(25,((mouseY/25)*25)+25,25,25);
 rect(25,((mouseY/25)*25)-25,25,25);
 rect(25,((mouseY/25)*25)-50,25,25);
 rect(25,((mouseY/25)*25)+50,25,25);
  
  
 stroke(255,39,36);
 fill(181,39,36);
  
 
  
  
 fill(255,39,36);
 stroke(181,39,36);
 rect((xball/25)*25,(yball/25)*25,25,25);
 xball = xball+xdir*4;
 yball = yball+ydir*2;
  
  
  
  if (xball > width-25){
   xdir = xdir * -1;
  }  
 
 if (xball < 25){
  screen = 1;
 }
 
 if (xball < 75){
  if (xball > 25){
  if (yball > ((mouseY/25)*25)-50){
   if(yball < ((mouseY/25)*25)+50){
   xdir = xdir * -1;
  }}}}
  
  
 if (yball > height-25 || yball < 25){
   ydir = ydir * -1;
  }
   
 if (screen > 0){
  noStroke();
  fill(0);
  rect(0,0,width,height);
  stroke(255);
  fill(255);
  textSize(150);
  text("Game Over",width/4-100,height/2);
  fill(150);
  stroke(150);
  text("again?",width/4+100,height/2+260);
  end = 1;
 }
   
}



void mouseClicked (){
  
 background(38,30,38);
 if(mouseX > width/4+100){
  if(mouseX < width/4+600){
   if(mouseY > height/2+260){
    if(mouseY < height/+310){
     if(end > 0){
      screen = -1;
      end = 0;
      xball = 500;
      yball = 500;
      xdir = 1;
      ydir = 1;
      x = 0;
      y = 0;
      
 
 
 }}}}}
  
}
programmieren, Java, Processing

Meistgelesene Beiträge zum Thema Programmieren