tangram.java

来自「Java 入门书的源码」· Java 代码 · 共 45 行

JAVA
45
字号
//Copyright (c) 1998, Arthur Gittleman
//This example is provided WITHOUT ANY WARRANTY either expressed or implied.

/*  Draw the seven polygons of the
 *  tangram puzzle on the left, and filled
 * and colored, on the right.
 */

import java.awt.*;
import java.applet.Applet;

public class Tangram extends Applet {
  private int [][] x = {{0,100,200},{100,200,200},{0,100,0},{0,50,0},
                        {50,150,100},{0,50,100,50},{100,200,150,50}};
  private int [][] y = {{200,100,200},{100,0,200},{0,0,100},{100,150,200},
                        {50,50,100},{100,50,100,150},{0,0,50,50}};
  private Color [] colors = {Color.red,Color.blue,Color.yellow,Color.magenta,
                             Color.cyan,Color.pink,Color.orange};
  private Polygon [] polygons = new Polygon[7];
  private Polygon [] translates = new Polygon[7];

  public void init() {
    for (int i=0; i<x.length; i++) {
      polygons[i] = new Polygon(x[i],y[i],x[i].length);
      translates[i]= new Polygon(x[i],y[i],x[i].length);
      translates[i].translate(250,0);
    }
  }
  public void showPolygon
               (Polygon p, Color c, Graphics g, boolean fill) {
    Color oldColor = g.getColor();
    g.setColor(c);
    if (fill) 
      g.fillPolygon(p);
    else
      g.drawPolygon(p);
    g.setColor(oldColor); 
  }
  public void paint(Graphics g) { 
    for (int i=0; i<polygons.length; i++) {
      showPolygon(polygons[i],Color.black,g,false);
      showPolygon(translates[i],colors[i],g,true);
    }
  }
}      

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?