java语言的科学与艺术-编程练习4.14
1 /* 2 * File:CheckBoard.java 3 * -------------------- 4 * 画出国际象棋的棋盘,使用嵌套的for循环。 5 */ 6 7 import acm.graphics.*; 8 import acm.program.*; 9 import java.awt.*; 10 11 public class CheckBoard extends GraphicsProgram { 12 13 public void run(){ 14 double sqSize = (double)(getHeight() / N_ROWS); 15 for (int i = 0; i < N_ROWS; i++){ 16 for(int j = 0; j < N_COLUMNS; j++){ 17 double x = (getWidth() - N_ROWS * sqSize) / 2 + j * sqSize; 18 double y = i * sqSize; 19 GRect sq = new GRect(x,y,sqSize,sqSize); 20 sq.setFilled((i + j) % 2 != 0); 21 sq.setFillColor(Color.GRAY); 22 add(sq); 23 if (i < 3 && (i + j) % 2 != 0){ 24 GOval checkRed = new GOval(x + 4,y + 4,sqSize - 8, sqSize - 8); 25 checkRed.setFilled(true); 26 checkRed.setColor(Color.RED); 27 add (checkRed); 28 } 29 if (i > 4 && (i + j) % 2 != 0){ 30 GOval checkBlack = new GOval(x + 4,y + 4,sqSize - 8, sqSize - 8); 31 checkBlack.setFilled(true); 32 checkBlack.setColor(Color.BLACK); 33 add (checkBlack); 34 } 35 } 36 } 37 } 38 39 /* 40 * 定义常量 41 */ 42 private static final int N_ROWS = 8; 43 private static final int N_COLUMNS = 8; 44 }
posted on 2012-12-06 21:24 mybluecode 阅读(323) 评论(0) 编辑 收藏 举报