所以說我的圖呢到底跑哪去了 : (
象棋來嘍
step1-1
畫棋盤
//等差級數: 50,100,150,200.....
size(500,700);
for(int x=50; x<=450; x+=50){
line(x, 50, x, 500);
}
for(int y=50; y<=500; y+=50 ){
line(50, y, 450, y);
}
step1-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},
}; //1:將 2:士 3:象 4:車 5:馬 6:包 7:卒
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);
}
}
}
step1-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},
}; //1:將 2:士 3:象 4:車 5:馬 6:包 7:卒
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];//1開始
if (id==0) continue;//陣列請回去(繼續)
text(name[id-1], 50+j*50, 50+i*50);
}
}
}
steo1-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},
}; //1:將 2:士 3:象 4:車 5:馬 6:包 7:卒
String[] name = {"將", "士", "象", "車", "馬", "包", "卒"};
String[] name2 = {"帥", "仕", "相", "俥", "傌", "炮", "兵"};
void setup() {
size(500, 550);
PFont font = createFont("標楷體", 30);
textFont(font);
textAlign(CENTER, CENTER);
}
void draw() {
background(#EAB502);
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];//1開始
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) {
}
}
}
}
step1-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},
}; //1:將 2:士 3:象 4:車 5:馬 6:包 7:卒
String[] name = {"將", "士", "象", "車", "馬", "包", "卒"};
String[] name2 = {"帥", "仕", "相", "俥", "傌", "炮", "兵"};
void setup() {
size(500, 550);
PFont font = createFont("標楷體", 30);
textFont(font);
textAlign(CENTER, CENTER);
}
void draw() {
background(#EAB502);
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];//1開始
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;
}
暗棋
step2-1
這邊是暗棋喔
//暗棋
int [][]board={
{1,2,2,3,3,4,4,5},
{5,6,6,7,7,7,7,7},
{-1,-2,-2,-3,-3,-4,-4,-5},
{-5,-6,-6,-7,-7,-7,-7,-7}
}; //暗棋的格子少 4x8=32個
void setup() {
size(500, 400);
PFont font = createFont("標楷體", 30);
textFont(font);
textAlign(CENTER, CENTER);
}
void draw() {
background(#EAB502);
for (int x=50; x<=450; x+=50) {
line(x, 50, x, 250);
}
//10條
for (int y=50; y<=250; y+=50 ) {
line(50, y, 450, y);
}
for (int i=0; i<4; i++) {
for (int j=0; j<8; j++) {
int id = board[i][j];//1開始
drawChess(50+25+j*50, 50+25+i*50, id);
}
}
}
String[] name = {"將", "士", "象", "車", "馬", "包", "卒"};
String[] name2 = {"帥", "仕", "相", "俥", "傌", "炮", "兵"};
void drawChess(int x,int y,int id){
fill(255);
ellipse( x, y, 40, 40);
if(id>0){
fill(0);
text(name2[id-1], x, y-3);
}else{
fill(255,0,0);
text(name2[-id-1], x, y-3);
}
}
step2-2
這邊怪怪的???
//暗棋
int [][]board={
{1,2,2,3,3,4,4,5},
{5,6,6,7,7,7,7,7},
{-1,-2,-2,-3,-3,-4,-4,-5},
{-5,-6,-6,-7,-7,-7,-7,-7}
}; //暗棋的格子少 4x8=32個
void setup() {
size(500, 400);
PFont font = createFont("標楷體", 30);
textFont(font);
textAlign(CENTER, CENTER);
}
void draw() {
background(#EAB502);
for (int x=50; x<=450; x+=50) {
line(x, 50, x, 250);
}
//10條
for (int y=50; y<=250; y+=50 ) {
line(50, y, 450, y);
}
for (int i=0; i<4; i++) {
for (int j=0; j<8; j++) {
int id = board[i][j];//1開始
drawChess(50+25+j*50, 50+25+i*50, id);
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;
}
沒有留言:
張貼留言