java语言的科学与艺术-编程练习4.14

本文介绍了如何使用Java语言通过嵌套循环和图形库来绘制国际象棋棋盘,包括棋盘格的颜色变化以及棋子的特定位置标记。
 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 }

 

转载于:https://www.cnblogs.com/mybluecode/archive/2012/12/06/2806183.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值