We are about to switch to a new forum software. Until then we have removed the registration on this forum.
I want to create a programme that shoots a ball into a target, which will then turn on an LED. I think it is something to do with the float dis as nothing is printed in the debug window. Thanks
//import serial library
import processing.serial.*;
//import arduino library
import cc.arduino.*;
float angle = -PI/4;
PVector location = new PVector(50, 300);
boolean shot = false;
Arduino arduino;
int downPin = 8;
int knobPin = 0;
int Red = 13;
boolean isDEAD;
PVector locationG;
PImage img;
CannonBall ball;
void setup() {
  size(640, 360);
locationG = new PVector(int (random(150,640)),int (random(10,350)));
println(location);
img = loadImage("Red.png");
 arduino = new Arduino(this, Arduino.list()[0], 57600);
 arduino.pinMode(downPin, Arduino.INPUT);
 arduino.pinMode(knobPin, Arduino.INPUT);
 arduino.pinMode(Red, Arduino.OUTPUT);
 img.resize(50,50);
 ball = new CannonBall(location.x, location.y);
}
void draw() {
  float dis = dist(location.x, location.y, locationG.x, locationG.y);
 int knobVal = arduino.analogRead(knobPin);
  background(255); 
  noStroke();
  fill(100,100,100, 80);
   if (mousePressed && shot== false){
    shot = true;
    PVector force = PVector.fromAngle(angle);
    force.mult(10);
    ball.applyForce(force);
  }
   if (shot) {
    PVector gravity = new PVector(0, 0.2);
    ball.applyForce(gravity);
    ball.update();
  }
  ball.display();
  if (ball.location.y > height) {
    ball = new CannonBall(location.x, location.y);  
    shot = false;
  }
  if (isDEAD == false){
  pushMatrix();
  translate(locationG.x, locationG.y);
 image(img,0, 10);
 img.resize(50,50);//draw the target
     if (dis <1)  {
       isDEAD=true;
     }
  popMatrix();
  } else if (isDEAD == true) {
    collide();
  }
  //calculate the angle of the cannon based on mouseY position
  angle= map(knobVal, 0, height, -PI/2, PI/2);
  pushMatrix();
  translate(location.x, location.y);
  rotate(angle);
  ellipse(0, -5, 50, 10);//draw the cannon
  popMatrix();
  }
  void collide(){
    float dis = dist(location.x, location.y, locationG.x, locationG.y);//calculate the distance between ball and target
    println(dis) ;
    if (dis <1)  {
      arduino.digitalWrite(Red, Arduino.HIGH);//light turns on
  } else {
    arduino.digitalWrite(Red, Arduino.LOW);
  }
}
This is the Cannon ball class:
class CannonBall { 
  PVector location;
  PVector velocity;
  PVector acceleration;
  // Size
  float r = 10;
  float topspeed = 10;
  CannonBall(float x, float y) {
    location = new PVector(x,y);
    velocity = new PVector();
    acceleration = new PVector();
  } 
  void update() { 
    velocity.add(acceleration);
    velocity.limit(topspeed);
    location.add(velocity);
    acceleration.mult(0);
  }
  void applyForce(PVector force) {
    acceleration.add(force);
  }
  void display() { 
    noStroke();
    pushMatrix();
    translate(location.x,location.y);
    ellipse(0,0,r*2,r*2);
    popMatrix();
  }
}
            
Answers
if (dis <1) {won't work
try
if (dis <45) {or so
we can't run your version because class CannonBall is missing and arduino.
make a separate version without arduino and with the class to post here
Best, Chrisir ;-)