📄 dotfive.java
字号:
package FireFlower;
import java.awt.Color;
import java.util.Random;
//此式样是分成四条直线,然后转
public class DotFive extends Dot{
public DotFive (Color col,int endX,int endY){
super( col,endX, endY);
pace=20;
}
public double qiu(int data1,int data2){
int xx=Math.abs(data1-endPoint.x);
int yy=Math.abs(data2-endPoint.y);
return Math.sqrt(xx*xx+yy*yy);
}
public LittleDot[] blast() {
for(int i=0;i<ld.length;i++){
int lineLong=(int)qiu(ld[i].x,ld[i].y)/3;
int level=0;
if(ld[i].x<=endPoint.x){
if(ld[i].y<=endPoint.y){
level=1;
}
else level=2;
}
else {
if(ld[i].y<=endPoint.y){
level=3;
}
else level=4;
}
switch(level){
case 1:{
ld[i].x+=lineLong/4;
ld[i].y-=lineLong/2;
}break;
case 4:{
ld[i].x-=lineLong/4;
ld[i].y+=lineLong/2;
}break;
case 3:{
ld[i].x+=lineLong/2;
ld[i].y+=lineLong/4;
}break;
case 2:{
ld[i].x-=lineLong/2;
ld[i].y-=lineLong/4;
}break;
}
}
return ld;
}
public LittleDot[] initBlast() {
// 初始化爆炸的情况,初始化爆炸得粒子
Random rand=new Random();
int[] lineOne=new int[]{endPoint.x-50,endPoint.y};
int[] lineTwo=new int[]{endPoint.x+50,endPoint.y};
int[] lineThree=new int[]{endPoint.x,endPoint.y-50};
int[] lineFour=new int[]{endPoint.x, endPoint.y+50};
//35是50/2得开根求得得
int[] lineFive=new int[]{endPoint.x-35,endPoint.y-35};
int[] lineSix=new int[]{endPoint.x+35,endPoint.y+35};
int[] lineSeven=new int[]{endPoint.x-35,endPoint.y+35};
int[] lineEight=new int[]{endPoint.x+35,endPoint.y-35};
//每条线是200/8=25
int t=25;
Color[] col=new Color[8];
for(int i=0;i<col.length;i++){
col[i]=new Color(rand.nextInt(256),rand.nextInt(256),
rand.nextInt(256));
}
for(int i=0;i<ld.length;i++){
if(i<25){
ld[i]=new LittleDot(lineOne[0]+2*i,lineOne[1],
col[0]);
}
else if(i<50){
ld[i]=new LittleDot(lineTwo[0]-2*(i-25),lineTwo[1],
col[1]);
}
else if(i<75){
ld[i]=new LittleDot(lineThree[0],lineThree[1]+2*(i-50),
col[2]);
}
else if(i<100){
ld[i]=new LittleDot(lineFour[0],lineFour[1]-2*(i-75),
col[3]);
}
else if(i<125){
ld[i]=new LittleDot(lineFive[0]+(int)(1.4*(i-100)),lineFive[1]+(int)(1.4*(i-100)),
col[4]);
}
else if(i<150){
ld[i]=new LittleDot(lineSix[0]-(int)(1.4*(i-125)),lineSix[1]-(int)(1.4*(i-125)),
col[5]);
}
else if(i<175){
ld[i]=new LittleDot(lineSeven[0]+(int)(1.4*(i-150)),lineSeven[1]-(int)(1.4*(i-150)),
col[6]);
}
else if(i<200){
ld[i]=new LittleDot(lineEight[0]-(int)(1.4*(i-175)),lineEight[1]+(int)(1.4*(i-175)),
col[7]);
}
}
return ld;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -