我想写一个坦克游戏,想让电脑坦克自行随机移动
于是写了如下代码:
Random r=new Random();
int x=r.nextInt(7001);
if(x<2000)
{
AutoDir="D";
for(k=1000;k>0;k--);
Ey+=5;
}
if(x>=2000&&x<4000)
{
AutoDir="R";
for(k=1000;k>0;k--);
Ex+=5;
}
if(x>=4000&&x<6000)
{
AutoDir="L";
for(k=1000;k>0;k--);
Ex-=5;
}
if(x>=6000&&x<7001)
{
AutoDir="U";
for(k=1000;k>0;k--);
Ey-=5;
}
Tank tank1=new Tank(Ex,Ey);
很自然,这个物体移动得乱七八糟,主要是变化太快了,我想这样,当它向一个方向移动时,固定移动一段时间(可以是随机时间,但不要太短,否则看得太乱)可以借助哪类的函数?最好用代码给小弟示范一二,或者有更好的思路给小弟点拔一下,感激不尽
于是写了如下代码:
Random r=new Random();
int x=r.nextInt(7001);
if(x<2000)
{
AutoDir="D";
for(k=1000;k>0;k--);
Ey+=5;
}
if(x>=2000&&x<4000)
{
AutoDir="R";
for(k=1000;k>0;k--);
Ex+=5;
}
if(x>=4000&&x<6000)
{
AutoDir="L";
for(k=1000;k>0;k--);
Ex-=5;
}
if(x>=6000&&x<7001)
{
AutoDir="U";
for(k=1000;k>0;k--);
Ey-=5;
}
Tank tank1=new Tank(Ex,Ey);
很自然,这个物体移动得乱七八糟,主要是变化太快了,我想这样,当它向一个方向移动时,固定移动一段时间(可以是随机时间,但不要太短,否则看得太乱)可以借助哪类的函数?最好用代码给小弟示范一二,或者有更好的思路给小弟点拔一下,感激不尽
int num=(int)(Math.random()*7);
switch(num)
{
case 0:
UP=true;
DOWN=false;
LEFT=false;
RIGHT=false;
this.setArc(90);
break;
case 1:
UP=false;
DOWN=true;
LEFT=false;
RIGHT=false;
this.setArc(270);
break;
case 2:
UP=false;
DOWN=false;
LEFT=true;
RIGHT=false;
this.setArc(180);
break;
case 3:
UP=false;
DOWN=false;
LEFT=false;
RIGHT=true;
this.setArc(0);
break;
case 4:
UP=true;
DOWN=false;
LEFT=true;
RIGHT=false;
this.setArc(135);
break;
case 5:
UP=true;
DOWN=false;
LEFT=false;
RIGHT=true;
this.setArc(45);
break;
case 6:
UP=false;
DOWN=true;
LEFT=true;
RIGHT=false;
this.setArc(225);
break;
case 7:
UP=false;
DOWN=true;
LEFT=false;
RIGHT=true;
this.setArc(315);
break;
}
这是八个方向 开启的线程只要写8个while(方向)就行了