放入圖片
PImage img = loadImage("arufa.jpg");
size(600, 400);size(600, 400);//圖檔大小為600x400,所以開相同大小
image(img, 0, 0);
在圖片上放可移動方塊
PImage img;
void setup(){
size(600, 400);
img = loadImage("arufa.jpg");
}
void draw(){
image(img, 0 ,0);
noStroke();
fill(200, 200, 255, 128);
rect(mouseX, mouseY, 70, 50);
}

產生一個類似防護罩的東西,可移動
PImage img;
void setup(){
size(600, 400);
img = loadImage("arufa.jpg");
}
void draw(){
image(img, 0 ,0);
noCursor();
noStroke();
fill(200, 200, 255, 128);
rect(mouseX, mouseY-80, 70, 50);
rect(mouseX-30, mouseY-40, 70, 50);
rect(mouseX+30, mouseY-40, 70, 50);
rect(mouseX+60, mouseY, 70, 50);
rect(mouseX, mouseY, 70, 50);
rect(mouseX-60, mouseY, 70, 50);
rect(mouseX-30, mouseY+40, 70, 50);
rect(mouseX+90, mouseY+40, 70, 50);
rect(mouseX+30, mouseY+40, 70, 50);
rect(mouseX-90, mouseY+40, 70, 50);
rect(mouseX+60, mouseY+80, 70, 50);
rect(mouseX, mouseY+80, 70, 50);
rect(mouseX-30, mouseY+40, 70, 50);
rect(mouseX-60, mouseY+80, 70, 50);
rect(mouseX-30, mouseY+120, 70, 50);
rect(mouseX+30, mouseY+120, 70, 50);
rect(mouseX, mouseY+160, 70, 50);
}
和上一個一樣,只是改成迴圈
PImage img;
void setup() {
size(600, 400);
img = loadImage("arufa.jpg");
}
void draw() {
image(img, 0, 0);
noCursor();
noStroke();
fill(200, 200, 255, 128);
for (int i=0; i<=4; i++){
for (int j=0; j<i; j++) {
float y = i * 40, x = -i/2*60+j*60+((i%2==0)?30:0);
rect(mouseX+x, mouseY-80+y, 70, 50);
}
}
for(int i=3; i>=1; i--){
for (int j=0; j<i; j++) {
float y= (4-i) * 40 + 160,x=-i/2*60+j*60+((i%2==0)?30:0);
rect(mouseX+x, mouseY-80+y, 70, 50);
}
}
}
用迴圈畫出棋盤
size(450,450);
background(220, 179, 92);
strokeWeight(2);
noFill();
for(int i=0; i<8; i++){
for(int j=0; j<8;j++){
rect(25 + j*50, 25 + i*50, 50, 50);
}
}
比上個程式多個可移動的棋子
void setup(){
size(450, 450);
}
void draw(){
background(220, 179, 92);
strokeWeight(2);
for(int i=0; i<90; i++){
line(25, 25 + i*50, 425, 25 + i*50);
line(25 + i*50, 25, 25 + i*50, 425);
}
ellipse(mouseX, mouseY, 45, 45);
}
變成可下棋
int [] [] board = new int[9][9];
void setup(){
size(450, 450);
}
void draw(){
background(220, 179, 92);
strokeWeight(2);
for(int i=0; i<9; i++){
line(25, 25 + i*50, 425, 25 + i*50);
line(25 + i*50, 25, 25+i*50, 425);
}
for(int i=0; i<9; i++){
for(int j=0; j<9; j++){
if(board[i][j]== 1) ellipse(25 + j*50, 25 + i*50, 45, 45);
}
}
ellipse(mouseX, mouseY, 45, 45);
}
void mousePressed(){
int i = mouseY/50, j = mouseX/50;
board[i][j] = 1;
}
可以完整下棋了
int goColor = -1;//-1:黑 +1:白
int [] [] board = new int[9][9];
void setup(){
size(450, 450);
}
void draw(){
background(220, 179, 92);
strokeWeight(2);
for(int i=0; i<9; i++){
line(25, 25 + i*50, 425, 25 + i*50);
line(25 + i*50, 25, 25+i*50, 425);
}
for(int i=0; i<9; i++){
for(int j=0; j<9; j++){
if(board[i][j]== 0) continue;
if(board[i][j]== 1) fill(255);
if(board[i][j]==-1) fill(0);
ellipse(25 + j*50, 25 + i*50, 45, 45);
}
}
if(goColor==-1)fill(0);
else fill(255);
ellipse(mouseX, mouseY, 45, 45);
}
void mousePressed(){
int i = mouseY/50, j = mouseX/50;
board[i][j] = goColor;
goColor*=-1;
}
簡化版的護盾,陣列加迴圈int []boardX={0, -30, +30, +60, 0, -60, - 90, -30, +30, +90, + 60, 0, -60, -30, +30, 0};
int []boardY={-80, -40, -40, 0, 0, 0, +40, +40, +40, +40, 80 , 80, 80, 120, 120, 160};
PImage img;
void setup() {
size(600, 400);
img = loadImage("arufa.jpg");
}
void draw() {
image(img, 0, 0);
noCursor();
noStroke();
fill(200, 200, 255, 128);
for (int i=0; i<16; i++){
rect(mouseX+boardX[i], mouseY+boardY[i], 70, 50);
}
}
沒有留言:
張貼留言