首先我需要一個二維陣列來繪製上方的敵人,然後一個一維陣列來畫子彈。先寫!
float x ,y;
float []bx = new float[1000];
float []by = new float[1000];
float []bvx = new float[1000];
float []bvy = new float[1000];
int []bullet = new int[1000];//子彈數量,最多1000個
int [][]enemy = new int[11][11];//敵人數量,最多11行
color[]c = {#FC8585 ,#FAFA86 ,#86FA9C ,#8696FA};//四種球色
int N = 0;//計算第幾顆子彈
int ballsize = 50;
void setup(){
size(550 ,600);
for(int i = 0 ;i < 10 ;i++){
for(int j = 0 ;j < 6 ;j++){
enemy[i][j] = int(random(4));//給予所有位址隨機整數以作為上色標準
}
}
for(int k = 0 ;k < 1000 ;k++){
bullet[k] = int(random(4));
bvx[k] = 0;
bvy[k] = 0;
shoot[k] = false;
}
}
void draw(){
background(#242DFF);
fill(#FFB624);rect(100 ,100 ,350 ,350);
for(int i = 0 ;i < 10 ;i++){
for(int j = 0 ;j < 6 ;j++){
if(enemy[i][j] == 0) {fill(#FC8585);ellipse((i+1)*50 ,(j+1)*50 ,50 ,50);}
if(enemy[i][j] == 1) {fill(#FAFA86);ellipse((i+1)*50 ,(j+1)*50 ,50 ,50);}
if(enemy[i][j] == 2) {fill(#86FA9C);ellipse((i+1)*50 ,(j+1)*50 ,50 ,50);}
if(enemy[i][j] == 3) {fill(#8696FA);ellipse((i+1)*50 ,(j+1)*50 ,50 ,50);}
//x = (i+1)*50;y = (j+1)*50;
//println(x ,y);
}
}
for(int i = 0 ;i < 10 ;i++){
for(int j = 0 ;j < 6 ;j++){
x = (i+1)*50;y = (j+1)*50;
}
}
for(int k = 0 ;k < 1000 ;k++){
if(appear[k]==true){
if(bullet[k] == 0) {fill(#FC8585);}
if(bullet[k] == 1) {fill(#FAFA86);}
if(bullet[k] == 2) {fill(#86FA9C);}
if(bullet[k] == 3) {fill(#8696FA);}
ellipse(bx[k],by[k] ,ballsize ,ballsize);
OK,這樣就能繪製我要的東西了,採用網路上的做法,把球用隨機變數上編號,然後指定什麼編號上什麼色,然後用迴圈把陣列畫出來,這樣就有基本的東西了!
沒有留言:
張貼留言