Question regarding resetting animation for tank game

Hi! I can fire my gun and hit the other tank, but when i shoot once, i cannot reset the code so i can shoot again… I need to stop the program and hit play again. Help? Thanks!

import controlP5.*; //library voor de power-slider
ControlP5 slider;
ControlP5 button;
int schermMode = 0; //begint bij beginscherm
PImage beginscherm;
PImage achtergrond;
PImage tank1;
PImage tank2;
int punten = 0;
float schiethoek = 0; //schiethoek : -100
float schiethoekrekenen;
PVector plaats; //xt --> uitendelijke pos
PVector snelheid; //vt --> kracht weggeschoten kogel(te maken met schiethoek)
PVector versnelling; //at --> voor ons de enige tegenwerkende kracht
float snelheidbegin = 80; //afschietsnelheid
float vsnelheid;
float hsnelheid;
float vrekensnelheid;
float hrekensnelheid;
PImage bg;
boolean geklikt = false;
int power = 70;
PFont font;
boolean uitgevoerd = false;
boolean algeraakt = false;
void setup() {
	size(1000, 600);
	smooth();
	button = new ControlP5(this);
	font = createFont("Orbitron", 13);
	plaats = new PVector(85, 545); //xt
	snelheid = new PVector(hrekensnelheid, vrekensnelheid); //vt
	versnelling = new PVector(0, 0.098); //at
	frameRate(50);
	achtergrond = loadImage("achtergrondaf.jpg");
	beginscherm = loadImage("beginscherm.jpg");
	tank1 = loadImage("tank.png"); //tankzelf
	tank1.resize(151, 51);
	tank2 = loadImage("tankrood.png");
	tank2.resize(151, 51);
}
void draw() {
	if (schermMode == 0) {
		beginScherm();
	} else if (schermMode == 1) {
		gameScherm();
	} else if (schermMode == 2) {
		gameoverScherm();
	}
}
void beginScherm() {
	background(beginscherm);
	if (uitgevoerd == false) {
		Button();
		uitgevoerd = true;
	}
}
void controlEvent(ControlEvent theEvent) {
	switch (theEvent.getController().getId()) {
		case (1):
			println("geklikt op play");
			schermMode = schermMode + 1;
			break;
		case (2):
			println("geklikt op exit");
			exit();
			break;
	}
}
void Button() {
	button.addButton("P l a y").setValue(0).setPosition(761, 90).setSize(130, 39).setColorBackground(color(200, 20, 50, 1)).setColorForeground(color(182, 128, 30, 150)).setFont(font).setId(1);;
	button.addButton("E X I T").setValue(0).setPosition(761, 197).setSize(130, 39).setColorBackground(color(200, 20, 50, 1)).setColorForeground(color(182, 128, 30, 150)).setFont(font).setId(2);;
}
void hideButton() {
	button.hide();
}
void gameScherm() {
	slider = new ControlP5(this); //toevoegen van een variabele met een functie uit cP5
	slider.addSlider("power").setPosition(220, 52).setRange(30, 150); //slider waarden
	slider.setColorForeground(0xffaa0000); //slider varenderende kleur
	slider.setColorBackground(0xff660000); //slider achtergrond kleur
	slider.setColorActive(0xffff0000); //slider hover kleur
	hideButton(); //knop play weg in gamescherm
	background(achtergrond);
	noStroke();
	text("punten : " + punten, 90, 62); // punten
	snelheidbegin = power;
	image(tank2, 830, 540);
	fill(56, 73, 116);
	noStroke(); //geen rand
	image(tank1, 20, 525);
	pushMatrix();
	translate(88, 540);
	rotate(-schiethoek);
	rect(0, 0, 55, 4); //geweer
	popMatrix();
	fill(215, 27, 27);
	noStroke(); //geen rand
	if (keyPressed == true) { //moet voor niet-continu beweging
		if (keyCode == LEFT) {
			schiethoek = schiethoek + 0.01; //in radians ≈ 0.57º
			if (schiethoek > 1.5) { //stopt zodat hij niet te ver doordraait
				schiethoek = 1.5;
			}
		}
	}
	if (keyPressed == true) {
		if (keyCode == RIGHT) {
			schiethoek = schiethoek - 0.01; //in radians ≈ 0.57º
			if (schiethoek < 0) { //stopt zodat hij niet te ver doordraait
				schiethoek = 0;
			}
		}
	}
	if ((keyPressed == true) && key == TAB) {
		geklikt = true;
		schiethoekrekenen = schiethoek * 180 / PI; //van Radians naar graden 
		vsnelheid = snelheidbegin * sin(abs(schiethoek)); //schuine vector ontbinden in horizontale en verticale component
		hsnelheid = snelheidbegin * cos(abs(schiethoek)); //abs, voor geen negatieve waardes 
		vrekensnelheid = vsnelheid / 10; //correctie voor verhouding met andere waarden
		hrekensnelheid = hsnelheid / 10;
		snelheid.set(hrekensnelheid, vrekensnelheid);
	}
	if (geklikt) {
		plaats.x = plaats.x + snelheid.x; //vector toevoegen aan plaats
		plaats.y = plaats.y - snelheid.y;
		snelheid.y -= 0.25; //zwaartekracht aan snelheid
		snelheid.add(versnelling);
		ellipse(plaats.x, plaats.y, 9, 9); //bewegende kogel
	}
	if (plaats.x > width || plaats.y > height) {
		noLoop();
		redraw();
	}
	if (dist(plaats.x, plaats.y, 830, 540) <= 60) {
		if (algeraakt == false) {
			println("geraakt!");
			punten++;
			algeraakt = true;
		}
	}
}
void gameoverScherm() {
	background(235, 64, 52);
}
//https://www.youtube.com/watch?v=PXheUQ7Ih_U
1 Like

Where is your shoot event? What input / command?