⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 innabox.java

📁 ErGo是一个很早的Java通用围棋服务器(IGS/NNGS)客户端程序。有全部源码和文档
💻 JAVA
字号:
package ergo.ui;

// $Id: InnaBox.java,v 1.3 1999/08/15 01:40:28 sigue Exp $

/*
 *  Copyright (C) 1999  Carl L. Gay and Antranig M. Basman.
 *  See the file copyright.txt, distributed with this software,
 *  for further information.
 */



/* Test harness for ood and stones */

/*
class stest extends Panel {
  Image wstone;
  Image bstone;
  Image wsstone;
  Image bwstone;
  Image abwstone;
  Image blankb;
  Image lineb;
  Image polyb;
  Image bstoneb;
  Image wstoneb;
  Image oodb;
  Color oback = new Color(229, 188, 102);
  Color back = new Color(213, 182, 85);
  int osize;
  stest() {
    int size = 55;
    osize=size;
    Circle circle = new Circle();
    Line line = new Line();
    PolygonBr poly = new PolygonBr();
    Color insidecolor = Color.white;
    Color rimcolor = Color.black;
    int stoneDiameter = size-1 ;
    RawImage wsbit = new RawImage(size, size);
    circle.fillcirc(wsbit, insidecolor.getRGB(), stoneDiameter);
    circle.emptycirc(wsbit, rimcolor.getRGB(), stoneDiameter);
    RawImage blank = new RawImage(size, size).blank(back.getRGB());
    RawImage wssbit = ImArith.ap(blank, wsbit);
    wstone = createImage(wsbit.mis());
    wsstone = createImage(wssbit.mis());
    long now = System.currentTimeMillis();
    size *= 3;
    stoneDiameter = size - 2;
    RawImage bwsbit = new RawImage(size, size);
    circle.fillcirc(bwsbit, ImArith.tp(rimcolor, 128), stoneDiameter);
    circle.fillcirc(bwsbit, ImArith.tp(insidecolor, 128), stoneDiameter-6);
    RawImage wstone = ImArith.antin(bwsbit,3);
//    RawImage bblank = new RawImage(size, size).blank(back.getRGB());
    RawImage sblank = wstone.bclone().blank(back.getRGB());
//    RawImage bsplat = ImArith.ap(bblank, bwsbit);
//    RawImage abwsbit = ImArith.antin(bsplat, 3);
    RawImage abwsbit = ImArith.ap(sblank, wstone);
    System.out.println("Big time: "+(System.currentTimeMillis()-now));
//    System.out.println(" "+bblank.data[0] + " "+ abwsbit.data[0] + " "+(bblank.data[0]>>24));
    RawImage linetest = new RawImage(100,100);
    RawImage polytest = new RawImage(21,21);
//    line.line(linetest, 0xffffffff, 50,50,100,50);
//    line.line(linetest, 0xffffff00, 50,50,50,100);
//    line.line(linetest, 0xffff00ff, 50,50,0,50);
//    line.line(linetest, 0xffff0000, 50,50,50,0);
//    line.line(linetest, 0xff00ffff, 50,50,100,60);
//    line.line(linetest, 0xff00ff00, 50,50,60,100);
    line.line(linetest, 0xff0000ff, 50,50,25,100);
    line.line(linetest, 0xffffffff, 25,100,50,50);
    poly.init(4);
    poly.add(5,5).add(15,5).add(15,15).add(5,15);
    poly.fill(polytest, 0xffffffff);
    poly.init(4);
    poly.add(7,7).add(13,7).add(13,13).add(7,13);
    poly.fill(polytest, 0);
    System.out.println(polytest);
    bwstone = createImage(bwsbit.mis());
    abwstone = createImage(abwsbit.mis());
    blankb = createImage(blank.mis());
    lineb = createImage(linetest.mis());
    polyb = createImage(polytest.mis());
    setLayout(null);
    add(basebfield);
    add(shadebfield);
    add(specbfield);
    add(basewfield);
    add(shadewfield);
    add(specwfield);
    add(redrawbut);
    generate();
    }
  boolean there = false;
  private void showFields() {
    there = true;
    int width = basebfield.getPreferredSize().width;
    int height = basebfield.getPreferredSize().height;
    int bx = 10; int by = 330; int dx = width *6/5; int dy = height*6/5;
    basebfield.setBounds(bx,by, width, height);
    basebfield.show();
    shadebfield.setBounds(bx + dx,by, width, height);
    shadebfield.show();
    specbfield.setBounds(bx + dx*2,by, width, height);
    specbfield.show();
    basewfield.setBounds(bx,by+dy, width, height);
    basewfield.show(); 
    shadewfield.setBounds(bx + dx,by+dy, width, height);
    shadewfield.show(); 
    specwfield.setBounds(bx + dx*2,by+dy, width, height);
    specwfield.show();
    redrawbut.setBounds(bx + dx*3, by + dy/2, redrawbut.getPreferredSize().width,
			redrawbut.getPreferredSize().height);
    System.out.println("There");
//    validate();
    }


    public boolean action(Event e, Object o) {
    generate();
    return true;
    }
  private void generate() {
    int baseb = Integer.parseInt(basebfield.getText());
    int shadeb = Integer.parseInt(shadebfield.getText());
    int specb = Integer.parseInt(specbfield.getText());
    int basew = Integer.parseInt(basewfield.getText());
    int shadew = Integer.parseInt(shadewfield.getText());
    int specw = Integer.parseInt(specwfield.getText());
    RayInnaBox.params(baseb, shadeb, specb, basew, shadew, specw);
    bstoneb = createImage(RayInnaBox.blackStone(25,0, back.getRGB(), 255).mis());
    wstoneb = createImage(RayInnaBox.blackStone(25,1, back.getRGB(), 255).mis());
    oodb = createImage(OodInnaBox.Ood(512, 4).mis());
    System.out.println("Generated");
    repaint();
    }
  static int baseb = 50, shadeb = 70, specb = 50;
  static int basew = 180, shadew = 10, specw = 65;
  private Button redrawbut = new Button("Draw");
  private TextField basebfield = new TextField("30", 3);
  private TextField shadebfield = new TextField("40", 2);
  private TextField specbfield = new TextField("120", 2);
  private TextField basewfield = new TextField("220", 3);
  private TextField shadewfield = new TextField("10", 2);
  private TextField specwfield = new TextField("25", 2);

  public Dimension getMinimumSize() {return new Dimension(800,700);}
  public Dimension getPreferredSize() {return new Dimension(800,700);}
  public void update(Graphics g) {
    if (!there) { showFields();}
    g.setColor(back);
    Rectangle r = g.getClipBounds();
    g.fillRect(r.x, r.y, r.width, r.height);
    g.drawImage(wstone, 10, 10, this);
    g.drawImage(wsstone, 10+osize, 10, this);

    g.drawImage(bwstone, 10, 150, this);
    g.drawImage(blankb, 150, 10, this);
    g.drawImage(abwstone, 10, 10+osize, this);
    g.drawImage(abwstone, 10+osize, 10+osize, this);
    g.drawImage(lineb, 150, 10, this);
    g.drawImage(polyb, 150, 150, this);
    g.drawImage(bstoneb, 170, 80, this);
    g.drawImage(wstoneb, 390, 80, this);
    g.drawImage(oodb, 300, 300, this);
    }
  public void paint(Graphics g) {
    update(g);
    }
  public static void main(String[] argv) {
    Frame f = new Frame();
    stest s = new stest();
    f.setLayout(new BorderLayout());
    f.add("Center", s);
    f.invalidate();
    //    s.setSize(200,200);
    f.pack();
    f.show();
    }
  }
*/

⌨️ 快捷键说明

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