2020/3/26_week04
Part1:練習實習課程式x3

函數判斷質數:

擲骰統計:

Part2:上課內容
有1000個隨機顏色的circle往下掉

可以放大的氣球往上飛

程式碼:
int []x = new int[1000];
int []y = new int[1000];
int []r = new int[1000];
color[]c = new color[1000];
int n=0;
void setup(){
size(400,400);
}
void draw(){
background(255);
for(int i=0;i<n;i++){
fill(c[i]);
circle(x[i],y[i],r[i]);
y[i]--;
}
if(mousePressed) r[n-1]++;
}
void mousePressed(){
x[n]=mouseX;
y[n]=mouseY;
r[n]=10;
c[n]=color(random(255),random(255),random(255));
n++;
}
---------------------------------------------------------------------------
可以放大的氣球往上飛(另一種打法)

程式碼:
class Bubble{
int x;
int y;
int r;
color c;
}
Bubble [] b = new Bubble[1000];
int n = 0;
void setup(){
size(400,400);
}
void draw(){
background(255);
for(int i=0;i<n;i++){
fill(b[i].c);
circle(b[i].x, b[i].y, b[i].r);
b[i].y--;
}
if(mousePressed) b[n-1].r++;
}
void mousePressed(){
b[n] = new Bubble();
b[n].x = mouseX;
b[n].y = mouseY;
b[n].r = 10;
b[n].c = color(random(255),random(255),random(255));
n++;
}
-----------------------------------------------------------------------------------
上一個的簡化版(分出Bubble)


程式碼:
Bubble [] b = new Bubble[1000];
int n = 0;
void setup(){
size(400,400);
}
void draw(){
background(255);
for(int i=0;i<n;i++){
b[i].drawAndUpdate();
}
if(mousePressed) b[n-1].r++;
}
void mousePressed(){
b[n] = new Bubble(mouseX,mouseY,10);
n++;
}
程式碼:
class Bubble{
int x;
int y;
int r;
color c;
Bubble(int _x, int _y, int _r){
x=_x;
y=_y;
r=_r;
c=color(random(255),random(255),random(255));
}
void drawAndUpdate(){
fill(c);
circle(x,y,r);
y--;
}
}
--------------------------------------------------------------------------------
了解陣列:

程式碼:
size(300,300);
int[][] table={ {0,1,0,1,1},
{1,0,1,1,0},
{1,1,0,0,0},
{0,0,1,1,0}};
for(int i=0;i<4;i++){
for(int j=0;j<5;j++){
if(table[i][j]==1) fill(255,0,0);
else fill(128);
rect(j*50,i*50,50,50);
}
}
--------------------------------------------------------------------
了解陣列2:

程式碼:
int [][]table = new int [6][6];
void setup(){
size(300,300);
}
void draw(){
background(128);
for(int i=0;i<6;i++){
for(int j=0;j<6;j++){
if(table[i][j]==1) fill(255,0,0);
else fill(128);
rect(j*50,i*50,50,50);
}
}
}
void mousePressed(){
int x = (mouseX)/50;
int y = (mouseY)/50;
table[y][x]=1;
}
沒有留言:
張貼留言