1.
吃掉小老鼠
會有壞老鼠出來
2.
被壞老鼠碰到~就死掉
3.
小老鼠碰到牆壁會反彈
float [] msX=new float[5], msY=new float[5];
float []msVX=new float[5], msVY=new float[5];
int []scolor=new int[5];
int top=0, catX=mouseX, catY=mouseY, S=100;
PImage ms, cat, badms;
void setup() {
size(600, 600);
ms=loadImage("http://scitech.people.com.cn/mediafile/200807/07/F200807070850442343926401.jpg");
cat=loadImage("http://max218.com/wp-content/uploads/2013/02/%E8%B2%93.jpg");
badms=loadImage("http://www.icoou.com/uploadfile_20091016/2010/12/28/20101228125512809.jpg");
for (int i=0;i<5;i++) {
newms(i);
scolor[i]=0;
}
}
int bad=0;
void draw() {
if (bad==1) {
background(255, 0, 0);
for (int i=0;i<5;i++) {
msVX[i]=0;
msVY[i]=0;
}
}
else background(0);
image(cat, mouseX-50, mouseY-50, 100, 100);
for (int i=0;i<5;i++) {
if (scolor[i]==0) // the ms image
image(ms, msX[i], msY[i], 50, 50);
else if (scolor[i]==1) // the ms image to the bad ms image
image(badms, msX[i], msY[i], 100, 100);
msX[i]+=msVX[i];
msY[i]+=msVY[i];
if (msX[i]<0 || msX[i]>600 ||msY[i]<0 || msY[i]>600) //change the direction
{
if (msX[i]<0)
{
msVX[i]=-msVX[i];
}
if (msY[i]<0)
{
msVY[i]=-msVY[i];
}
if (msX[i]>600)
{
msVX[i]=-msVX[i];
}
if (msY[i]>600)
{
msVY[i]=-msVY[i];
}
//newms(i); //call new one
}
if (dist(msX[i], msY[i], catX-30, catY-30)<S) //cat eat the ms and ms become badms
{
if (scolor[i]==1)
{
bad=1;
}
else
scolor[i]=1;
newms(i);
msVX[i]=-msVX[i];
msVY[i]=-msVY[i];
}
//bad=1;
}
}
void newms(int i) {
float angle=random(2*PI);
msVX[i]=cos(angle);
msVY[i]=sin(angle);
int dir=int(random(4));
if (dir==0) {
msX[i]=random(600);
msY[i]=0;
}
else if (dir==1) {
msX[i]=random(600);
msY[i]=600;
}
else if (dir==2) {
msY[i]=random(600);
msX[i]=0;
}
else if (dir==3) {
msY[i]=random(600);
msX[i]=600;
}
}
void mouseMoved() {
catX=mouseX;
catY=mouseY;
}
沒有留言:
張貼留言