"Position Cannot be resolved or is not a field" Shooting Game
in
Programming Questions
•
2 years ago
I'm trying to create a Shooting Game, where Smiley's will pop up and you have to shoot them, by clicking on them. So far i have quite alot of code, but the problem lies in the lines that says:
float dx = mouseX - smileys[i].position.x;
float dy = mouseY - smileys[i].position.y;
float distance = sqrt( dx*dx + dy*dy );
For some reason that i don't know, (i'm very new to processing, so it might be very simple), the program says that Position cannot be resolved or is not a field. What that code is, is basically a hit detection code, any help would help.
My code:
float r;
float rx;
float ry;
float x;
float y;
float dx;
float dy;
PImage Ch;
PImage Bh;
float Bx;
float By;
PImage Enemy;
int Score;
boolean bDisplay;
boolean bDisplay2;
boolean bDisplay3;
boolean bDisplay4;
boolean bDisplay5;
boolean bDisplay6;
boolean bDisplay7;
boolean bDisplay8;
boolean bDisplay9;
boolean bDisplay10;
color c =(255);
color col;
int enemyRadie = 50;
int i;
float smiley;
void setup()
{
size (800,600);
Ch = loadImage ("crosshairs.png");
Bh = loadImage ("BulletHole.png");
Enemy = loadImage ("Awesome Smiley.png");
Score = 0;
}
void draw()
{
background(c);
float r = random(0, 250);
float rx = random (0, 800);
float ry = random (0, 600);
{
if (!bDisplay && r >= 0 && r <= 1) bDisplay = true;
}
{
if (bDisplay) image(Enemy, 100,100);
}
{
if (!bDisplay2 && r >= 1 && r <=2) bDisplay2 = true;
}
{
if (bDisplay2) image(Enemy, 200,250);
}
{
if (!bDisplay3 && r >= 2 && r <= 3) bDisplay3 = true;
}
{
if (bDisplay3) image(Enemy, 350,212);
}
{
if (!bDisplay4 && r >= 3 && r <= 4) bDisplay4 = true;
}
{
if (bDisplay4) image(Enemy, 410,250);
}
{
if (!bDisplay5 && r >= 4 && r <= 5) bDisplay5 = true;
}
{
if (bDisplay5) image(Enemy, 600,420);
}
{
if (!bDisplay6 && r >= 5 && r <= 6) bDisplay6 = true;
}
{
if (bDisplay6) image(Enemy, 315,550);
}
{
if (!bDisplay7 && r >= 7 && r <= 8) bDisplay7 = true;
}
{
if (bDisplay7) image(Enemy, 281,332);
}
{
if (!bDisplay8 && r >= 8 && r <= 9) bDisplay8 = true;
}
{
if (bDisplay8) image(Enemy, 10,330);
}
{
if (!bDisplay9 && r >= 9 && r <= 10) bDisplay9 = true;
}
{
if (bDisplay9) image(Enemy, 600,600);
}
{
if (!bDisplay10 && r >= 10 && r <= 11) bDisplay10 = true;
}
{
if (bDisplay10) image(Enemy, 150,25);
}
boolean[] smileys = new boolean[10];
for (int i = 0; i <10; i++){
smileys [0] = bDisplay;
smileys [1] = bDisplay2;
smileys [2] = bDisplay3;
smileys [3] = bDisplay4;
smileys [4] = bDisplay5;
smileys [5] = bDisplay6;
smileys [6] = bDisplay7;
smileys [7] = bDisplay8;
smileys [8] = bDisplay9;
smileys [9] = bDisplay10;
float dx = mouseX - smileys[i].position.x;
float dy = mouseY - smileys[i].position.y;
float distance = sqrt( dx*dx + dy*dy );
}
}
void mousePressed()
{
}
{
if (distance < 50)
Score = Score + 50;
println("Check");
bDisplay = false;
bDisplay2 = false;
bDisplay3 = false;
bDisplay4 = false;
bDisplay5 = false;
bDisplay6 = false;
bDisplay7 = false;
bDisplay8 = false;
bDisplay9 = false;
bDisplay10 = false;
}
This is the smiley i use.
float dx = mouseX - smileys[i].position.x;
float dy = mouseY - smileys[i].position.y;
float distance = sqrt( dx*dx + dy*dy );
For some reason that i don't know, (i'm very new to processing, so it might be very simple), the program says that Position cannot be resolved or is not a field. What that code is, is basically a hit detection code, any help would help.
My code:
float r;
float rx;
float ry;
float x;
float y;
float dx;
float dy;
PImage Ch;
PImage Bh;
float Bx;
float By;
PImage Enemy;
int Score;
boolean bDisplay;
boolean bDisplay2;
boolean bDisplay3;
boolean bDisplay4;
boolean bDisplay5;
boolean bDisplay6;
boolean bDisplay7;
boolean bDisplay8;
boolean bDisplay9;
boolean bDisplay10;
color c =(255);
color col;
int enemyRadie = 50;
int i;
float smiley;
void setup()
{
size (800,600);
Ch = loadImage ("crosshairs.png");
Bh = loadImage ("BulletHole.png");
Enemy = loadImage ("Awesome Smiley.png");
Score = 0;
}
void draw()
{
background(c);
float r = random(0, 250);
float rx = random (0, 800);
float ry = random (0, 600);
{
if (!bDisplay && r >= 0 && r <= 1) bDisplay = true;
}
{
if (bDisplay) image(Enemy, 100,100);
}
{
if (!bDisplay2 && r >= 1 && r <=2) bDisplay2 = true;
}
{
if (bDisplay2) image(Enemy, 200,250);
}
{
if (!bDisplay3 && r >= 2 && r <= 3) bDisplay3 = true;
}
{
if (bDisplay3) image(Enemy, 350,212);
}
{
if (!bDisplay4 && r >= 3 && r <= 4) bDisplay4 = true;
}
{
if (bDisplay4) image(Enemy, 410,250);
}
{
if (!bDisplay5 && r >= 4 && r <= 5) bDisplay5 = true;
}
{
if (bDisplay5) image(Enemy, 600,420);
}
{
if (!bDisplay6 && r >= 5 && r <= 6) bDisplay6 = true;
}
{
if (bDisplay6) image(Enemy, 315,550);
}
{
if (!bDisplay7 && r >= 7 && r <= 8) bDisplay7 = true;
}
{
if (bDisplay7) image(Enemy, 281,332);
}
{
if (!bDisplay8 && r >= 8 && r <= 9) bDisplay8 = true;
}
{
if (bDisplay8) image(Enemy, 10,330);
}
{
if (!bDisplay9 && r >= 9 && r <= 10) bDisplay9 = true;
}
{
if (bDisplay9) image(Enemy, 600,600);
}
{
if (!bDisplay10 && r >= 10 && r <= 11) bDisplay10 = true;
}
{
if (bDisplay10) image(Enemy, 150,25);
}
boolean[] smileys = new boolean[10];
for (int i = 0; i <10; i++){
smileys [0] = bDisplay;
smileys [1] = bDisplay2;
smileys [2] = bDisplay3;
smileys [3] = bDisplay4;
smileys [4] = bDisplay5;
smileys [5] = bDisplay6;
smileys [6] = bDisplay7;
smileys [7] = bDisplay8;
smileys [8] = bDisplay9;
smileys [9] = bDisplay10;
float dx = mouseX - smileys[i].position.x;
float dy = mouseY - smileys[i].position.y;
float distance = sqrt( dx*dx + dy*dy );
}
}
void mousePressed()
{
}
{
if (distance < 50)
Score = Score + 50;
println("Check");
bDisplay = false;
bDisplay2 = false;
bDisplay3 = false;
bDisplay4 = false;
bDisplay5 = false;
bDisplay6 = false;
bDisplay7 = false;
bDisplay8 = false;
bDisplay9 = false;
bDisplay10 = false;
}
This is the smiley i use.
1