int acter = 2;
int times;
MyEclipse[] me = new MyEclipse[20];
MyEclipse[] win = new MyEclipse[100];
MyEclipse winner;
MyEclipse competer;
void setup()
{
times=0;
size(450,450);
background(255);
for(int i=0; i= 100){
println("おわった!!");
delay(1000);
fill(255,255,255);
for(int i = 0; i < acter; i++){
me[i].display();
}
fill(100,100,230);
for(int i = 0; i < times; i++){
win[i].display();
print("(" + win[i].getX() + "," + win[i].getY() + ")");
}
}else{
print(times);
int winnings=0;
background(255);
fill(255,255,255);
for(int i = 0; i < acter; i++){
me[i].display();
}
fill(100,100,230);
winner.display();
competer.display();
while(winnings < 700){
int len_w = 0;
int len_c = 0;
for(int i = 0; i < acter; i++){
len_w += (winner.getX() - me[i].getX())^2
+ (winner.getY() - me[i].getY())^2;
len_c += (competer.getX() - me[i].getX())^2
+ (competer.getY() - me[i].getY())^2;
len_w += sqrt(sq(winner.getX() - me[i].getX())
+ sq(winner.getY() - me[i].getY()));
len_c += sqrt(sq(competer.getX() - me[i].getX())
+ sq(competer.getY() - me[i].getY()));
}
if(len_w < len_c){
winnings++;
competer.setX(random(450.));
competer.setY(random(450.));
}else{
winnings = 0;
winner.setX(competer.getX());
winner.setY(competer.getY());
competer.setX(random(450.));
competer.setY(random(450.));
}
}
win[times] = new MyEclipse(winner.getX(), winner.getY());
print("(" + winner.getX() + "," + winner.getY() + ")");
/** debug **
delay(1000);
background(255);
win[times].display();
*/
times++;
}
}
class MyEclipse{
private int x;
private int y;
MyEclipse(int x, int y){
this.x = x;
this.y = y;
}
MyEclipse(float x, float y){
this.x = int(x);
this.y = int(y);
}
public void setX(int x){
this.x = x;
}
public void setY(int y){
this.y = y;
}
public void setX(float x){
this.x = int(x);
}
public void setY(float y){
this.y = int(y);
}
public int getX(){
return this.x;
}
public int getY(){
return this.y;
}
public void display(){
ellipse(x,y,10,10);
}
}
ほぼ半年ぶりくらいにプログラミングした。
授業の課題を解くために。
しかし、この雑な感じ。。
そして、なんかイマイチうまく動かないのはなぜ?
processingはちょっと特殊だから、動きが掴みきれない。
デバッグするか、プログラミングをやめて手で解くか。
悩みどころ。どうしよう。
追記:
sqrtし忘れているという凡ミスだった。
うごいたー!
そんなにむずいプログラムじゃないけど、
久々なのでやっぱ達成感。
暇があればまたちゃんと勉強しようかな。
0 件のコメント:
コメントを投稿