step01-1畫棋盤
size(500,700);
for(int x=50; x<=450; x+=50){
line( x, 50, x, 500);
}
//10條
for(int y=50; y<=500; y+=50){
line( 50, y, 450, y);
}
step01-2畫棋子(要下棋,要互動)
//畫棋子(要下棋,要互動)
int [][]board={
{4,5,3,2,1,2,3,5,4},
{0,0,0,0,0,0,0,0,0},
{0,6,0,0,0,0,0,0,0},
{1,0,1,0,1,0,1,0,1},
};
void setup(){
size(500,550);
}
void draw(){
for(int x=50; x<=450; x+=50){
line( x, 50, x, 250);
line( x, 300, x, 500);
}
//10條
for(int y=50; y<=500; y+=50){
line( 50, y, 450, y);
}
for(int i=0; i<4; i++){
for(int j=0; j<9; j++){
text( board[i][j], 50+j*50, 50+i*50);
}
}
}
step01-3將棋子從數字轉化成中文
//畫棋子(要下棋,要互動)
int [][]board={
{4,5,3,2,1,2,3,5,4},
{0,0,0,0,0,0,0,0,0},
{0,6,0,0,0,0,0,0,0},
{1,0,1,0,1,0,1,0,1},
};
String [] name = {"將","士","象","車","馬","包","卒"};
void setup(){
size(500,550);
PFont font = createFont("標楷體",30);
textFont(font);
textAlign(CENTER, CENTER);
}
void draw(){
for(int x=50; x<=450; x+=50){
line( x, 50, x, 250);
line( x, 300, x, 500);
}
//10條
for(int y=50; y<=500; y+=50){
line( 50, y, 450, y);
}
for(int i=0; i<4; i++){
for(int j=0; j<9; j++){
int id = board[i][j];
if(id==0) continue;
text( name[id-1], 50+j*50, 50+i*50);
}
}
}
step01-4製作出對面的象棋
//畫棋子(要下棋,要互動)
int [][]board={
{4,5,3,2,1,2,3,5,4},
{0,0,0,0,0,0,0,0,0},
{0,6,0,0,0,0,0,6,0},
{7,0,7,0,7,0,7,0,7},
{0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0},
{-7,0,-7,0,-7,0,-7,0,-7},
{0,-6,0,0,0,0,0,-6,0},
{0,0,0,0,0,0,0,0,0},
{-4,-5,-3,-2,-1,-2,-3,-5,-4},
};
String [] name = {"將","士","象","車","馬","包","卒"};
String [] name2 = {"帥","仕","相","俥","傌","炮","兵"};
void setup(){
size(500,550);
PFont font = createFont("標楷體",30);
textFont(font);
textAlign(CENTER, CENTER);
}
void draw(){
for(int x=50; x<=450; x+=50){
line( x, 50, x, 250);
line( x, 300, x, 500);
}
//10條
for(int y=50; y<=500; y+=50){
line( 50, y, 450, y);
}
for(int i=0; i<10; i++){
for(int j=0; j<9; j++){
int id = board[i][j];
if(id==0) continue;
if(id>0){
fill(255);
ellipse( 50+j*50, 50+i*50, 40, 40);
fill(0);
text( name[id-1], 50+j*50, 50+i*50-3);
}else if(id<0){
fill(255);
ellipse( 50+j*50, 50+i*50, 40, 40);
fill(255,0,0);
text( name2[-id-1], 50+j*50, 50+i*50-3);
}
}
}
}
step01-5利用按下滑鼠的指令
//畫棋子(要下棋,要互動)
int [][]board={
{4,5,3,2,1,2,3,5,4},
{0,0,0,0,0,0,0,0,0},
{0,6,0,0,0,0,0,6,0},
{7,0,7,0,7,0,7,0,7},
{0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0},
{-7,0,-7,0,-7,0,-7,0,-7},
{0,-6,0,0,0,0,0,-6,0},
{0,0,0,0,0,0,0,0,0},
{-4,-5,-3,-2,-1,-2,-3,-5,-4},
};
String [] name = {"將","士","象","車","馬","包","卒"};
String [] name2 = {"帥","仕","相","俥","傌","炮","兵"};
void setup(){
size(500,550);
PFont font = createFont("標楷體",30);
textFont(font);
textAlign(CENTER, CENTER);
}
void draw(){
for(int x=50; x<=450; x+=50){
line( x, 50, x, 250);
line( x, 300, x, 500);
}
//10條
for(int y=50; y<=500; y+=50){
line( 50, y, 450, y);
}
for(int i=0; i<10; i++){
for(int j=0; j<9; j++){
int id = board[i][j];
if(id==0) continue;
if(id>0){
fill(255);
ellipse( 50+j*50, 50+i*50, 40, 40);
fill(0);
text( name[id-1], 50+j*50, 50+i*50-3);
}else if(id<0){
fill(255);
ellipse( 50+j*50, 50+i*50, 40, 40);
fill(255,0,0);
text( name2[-id-1], 50+j*50, 50+i*50-3);
}
}
}
}
void mousePressed(){
for(int i=0; i<10; i++){
for(int j=0; j<9; j++){
if(dist(mouseX,mouseY,50+j*50, 50+i*50)<20){
board[i][j]=1;
}
}
}
}
step01-5利用按下滑鼠的指令(移動)
//畫棋子(要下棋,要互動)
int [][]board={
{4,5,3,2,1,2,3,5,4},
{0,0,0,0,0,0,0,0,0},
{0,6,0,0,0,0,0,6,0},
{7,0,7,0,7,0,7,0,7},
{0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0},
{-7,0,-7,0,-7,0,-7,0,-7},
{0,-6,0,0,0,0,0,-6,0},
{0,0,0,0,0,0,0,0,0},
{-4,-5,-3,-2,-1,-2,-3,-5,-4},
};
String [] name = {"將","士","象","車","馬","包","卒"};
String [] name2 = {"帥","仕","相","俥","傌","炮","兵"};
void setup(){
size(500,550);
PFont font = createFont("標楷體",30);
textFont(font);
textAlign(CENTER, CENTER);
}
void draw(){
background(#F0B82C);
for(int x=50; x<=450; x+=50){
line( x, 50, x, 250);
line( x, 300, x, 500);
}
//10條
for(int y=50; y<=500; y+=50){
line( 50, y, 450, y);
}
for(int i=0; i<10; i++){
for(int j=0; j<9; j++){
int id = board[i][j];
if(id==0) continue;
if(id>0){
fill(255);
ellipse( 50+j*50, 50+i*50, 40, 40);
fill(0);
text( name[id-1], 50+j*50, 50+i*50-3);
}else if(id<0){
fill(255);
ellipse( 50+j*50, 50+i*50, 40, 40);
fill(255,0,0);
text( name2[-id-1], 50+j*50, 50+i*50-3);
}
}
}
if(handChess!=0) ellipse(mouseX,mouseY,40,40);
}
int handChess=0;
void mousePressed(){
for(int i=0; i<10; i++){
for(int j=0; j<9; j++){
if(dist(mouseX,mouseY,50+j*50, 50+i*50)<20){
handChess=board[i][j];
board[i][j] = 0;
}
}
}
}
void mouseReleased(){
int i = (mouseY+25-50)/50;
int j = (mouseX+25-50)/50;
board[i][j] = handChess;
handChess = 0;
}
沒有留言:
張貼留言