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 件のコメント:
コメントを投稿