画家算法的简单的例子

public class Paintmenger extends JPanel {

    PaintDraw ps = new PaintDraw();
    int[] ti1 = new int[4];
    int[] ai1 = new int[4];
    int[] ti2 = new int[4];
    int[] ai2 = new int[4];
    int[] ti3 = new int[4];
    int[] ai3 = new int[4];
//    int[] ti4 = new int[4];
//    int[] ai4 = new int[4];
//    int[] ti5 = new int[4];
//    int[] ai5 = new int[4];
//    int[] ti6 = new int[4];
//    int[] ai6 = new int[4];
//    int[] ti7 = new int[4];
//    int[] ai7 = new int[4];
//    int[] ti8 = new int[4];
//    int[] ai8 = new int[4];
//    int[] ti9 = new int[4];
//    int[] ai9 = new int[4];
//    int[] ti10 = new int[4];
//    int[] ai10 = new int[4];

    int x1=220,y1=320;
    int x2=320,y2=320;
    int x3=420,y3=320;
    int x4=170,y4=370;
    int x5=370,y5=370;
    int x6=120,y6=420;
    int x7=220,y7=420;
    int x8=320,y8=420;
    int x9=220,y9=220;
    int x10=420,y10=220;
    int x11=120,y11=320;
    int x12=320,y12=320;
    int x13=220,y13=120;
    int x14=320,y14=120;
    int x15=420,y15=120;
    int x16=170,y16=170;
    int x17=370,y17=170;
    int x18=120,y18=220;
    int x19=220,y19=220;
    int x20=320,y20=220;
//    int[][] ti=new int[7][7];
    public static void main(String[] args) {
        Paintmenger pm = new Paintmenger();
        pm.StringSquare();
    }
    public void StringSquare(){
           JFrame jf = new JFrame();
           jf.setSize(800, 800);
           jf.setDefaultCloseOperation(3);
           jf.setTitle("海绵体");
           jf.setLocationRelativeTo(null);

           this.setPreferredSize(new Dimension(700, 700));
           this.setBackground(Color.WHITE);
           jf.add(this);
           jf.setVisible(true);
           Graphics gr = this.getGraphics();
           ps.Paint(gr);
    }
    public void paint(Graphics g)
    {
        super.paint(g);
        for(int j=0;j<1;j++){
        g.setColor(Color.LIGHT_GRAY);
        int[] ti1 = {x1,x1-100,x1-100,x1};
        int[] ai1 = {y1,y1,y1+100,y1+100};
        g.fillPolygon(ti1, ai1, 4);
        g.setColor(Color.GRAY);
        int[] ti2 = {x1,x1+50,x1-50,x1-100};
        int[] ai2 = {y1,y1-50,y1-50,y1};
        g.fillPolygon(ti2, ai2, 4);
        g.setColor(Color.DARK_GRAY);
        int[] ti3 = {x1,x1+50,x1+50,x1};
        int[] ai3 = {y1,y1-50,y1+50,y1+100};
        g.fillPolygon(ti3, ai3, 4);
        }
        for(int j=0;j<1;j++){
            g.setColor(Color.LIGHT_GRAY);
            int[] ti1 = {x2,x2-100,x2-100,x2};
            int[] ai1 = {y2,y2,y2+100,y2+100};
            g.fillPolygon(ti1, ai1, 4);
            g.setColor(Color.GRAY);
            int[] ti2 = {x2,x2+50,x2-50,x2-100};
            int[] ai2 = {y2,y2-50,y2-50,y2};
            g.fillPolygon(ti2, ai2, 4);
            g.setColor(Color.DARK_GRAY);
            int[] ti3 = {x2,x2+50,x2+50,x2};
            int[] ai3 = {y2,y2-50,y2+50,y2+100};
            g.fillPolygon(ti3, ai3, 4);
            }
        for(int j=0;j<1;j++){
            g.setColor(Color.LIGHT_GRAY);
            int[] ti1 = {x3,x3-100,x3-100,x3};
            int[] ai1 = {y3,y3,y3+100,y3+100};
            g.fillPolygon(ti1, ai1, 4);
            g.setColor(Color.GRAY);
            int[] ti2 = {x3,x3+50,x3-50,x3-100};
            int[] ai2 = {y3,y3-50,y3-50,y3};
            g.fillPolygon(ti2, ai2, 4);
            g.setColor(Color.DARK_GRAY);
            int[] ti3 = {x3,x3+50,x3+50,x3};
            int[] ai3 = {y3,y3-50,y3+50,y3+100};
            g.fillPolygon(ti3, ai3, 4);
            }
        for(int j=0;j<1;j++){
            g.setColor(Color.LIGHT_GRAY);
            int[] ti1 = {x4,x4-100,x4-100,x4};
            int[] ai1 = {y4,y4,y4+100,y4+100};
            g.fillPolygon(ti1, ai1, 4);
            g.setColor(Color.GRAY);
            int[] ti2 = {x4,x4+50,x4-50,x4-100};
            int[] ai2 = {y4,y4-50,y4-50,y4};
            g.fillPolygon(ti2, ai2, 4);
            g.setColor(Color.DARK_GRAY);
            int[] ti3 = {x4,x4+50,x4+50,x4};
            int[] ai3 = {y4,y4-50,y4+50,y4+100};
            g.fillPolygon(ti3, ai3, 4);
            }
        for(int j=0;j<1;j++){
            g.setColor(Color.LIGHT_GRAY);
            int[] ti1 = {x5,x5-100,x5-100,x5};
            int[] ai1 = {y5,y5,y5+100,y5+100};
            g.fillPolygon(ti1, ai1, 4);
            g.setColor(Color.GRAY);
            int[] ti2 = {x5,x5+50,x5-50,x5-100};
            int[] ai2 = {y5,y5-50,y5-50,y5};
            g.fillPolygon(ti2, ai2, 4);
            g.setColor(Color.DARK_GRAY);
            int[] ti3 = {x5,x5+50,x5+50,x5};
            int[] ai3 = {y5,y5-50,y5+50,y5+100};
            g.fillPolygon(ti3, ai3, 4);
            }
        for(int j=0;j<1;j++){
            g.setColor(Color.LIGHT_GRAY);
            int[] ti1 = {x6,x6-100,x6-100,x6};
            int[] ai1 = {y6,y6,y6+100,y6+100};
            g.fillPolygon(ti1, ai1, 4);
            g.setColor(Color.GRAY);
            int[] ti2 = {x6,x6+50,x6-50,x6-100};
            int[] ai2 = {y6,y6-50,y6-50,y6};
            g.fillPolygon(ti2, ai2, 4);
            g.setColor(Color.DARK_GRAY);
            int[] ti3 = {x6,x6+50,x6+50,x6};
            int[] ai3 = {y6,y6-50,y6+50,y6+100};
            g.fillPolygon(ti3, ai3, 4);
            }
        for(int j=0;j<1;j++){
            g.setColor(Color.LIGHT_GRAY);
            int[] ti1 = {x7,x7-100,x7-100,x7};
            int[] ai1 = {y7,y7,y7+100,y7+100};
            g.fillPolygon(ti1, ai1, 4);
            g.setColor(Color.GRAY);
            int[] ti2 = {x7,x7+50,x7-50,x7-100};
            int[] ai2 = {y7,y7-50,y7-50,y7};
            g.fillPolygon(ti2, ai2, 4);
            g.setColor(Color.DARK_GRAY);
            int[] ti3 = {x7,x7+50,x7+50,x7};
            int[] ai3 = {y7,y7-50,y7+50,y7+100};
            g.fillPolygon(ti3, ai3, 4);
            }
        for(int j=0;j<1;j++){
            g.setColor(Color.LIGHT_GRAY);
            int[] ti1 = {x8,x8-100,x8-100,x8};
            int[] ai1 = {y8,y8,y8+100,y8+100};
            g.fillPolygon(ti1, ai1, 4);
            g.setColor(Color.GRAY);
            int[] ti2 = {x8,x8+50,x8-50,x8-100};
            int[] ai2 = {y8,y8-50,y8-50,y8};
            g.fillPolygon(ti2, ai2, 4);
            g.setColor(Color.DARK_GRAY);
            int[] ti3 = {x8,x8+50,x8+50,x8};
            int[] ai3 = {y8,y8-50,y8+50,y8+100};
            g.fillPolygon(ti3, ai3, 4);
            }
        for(int j=0;j<1;j++){
            g.setColor(Color.LIGHT_GRAY);
            int[] ti1 = {x9,x9-100,x9-100,x9};
            int[] ai1 = {y9,y9,y9+100,y9+100};
            g.fillPolygon(ti1, ai1, 4);
            g.setColor(Color.GRAY);
            int[] ti2 = {x9,x9+50,x9-50,x9-100};
            int[] ai2 = {y9,y9-50,y9-50,y9};
            g.fillPolygon(ti2, ai2, 4);
            g.setColor(Color.DARK_GRAY);
            int[] ti3 = {x9,x9+50,x9+50,x9};
            int[] ai3 = {y9,y9-50,y9+50,y9+100};
            g.fillPolygon(ti3, ai3, 4);
            }
        for(int j=0;j<1;j++){
            g.setColor(Color.LIGHT_GRAY);
            int[] ti1 = {x10,x10-100,x10-100,x10};
            int[] ai1 = {y10,y10,y10+100,y10+100};
            g.fillPolygon(ti1, ai1, 4);
            g.setColor(Color.GRAY);
            int[] ti2 = {x10,x10+50,x10-50,x10-100};
            int[] ai2 = {y10,y10-50,y10-50,y10};
            g.fillPolygon(ti2, ai2, 4);
            g.setColor(Color.DARK_GRAY);
            int[] ti3 = {x10,x10+50,x10+50,x10};
            int[] ai3 = {y10,y10-50,y10+50,y10+100};
            g.fillPolygon(ti3, ai3, 4);
            }
        for(int j=0;j<1;j++){
            g.setColor(Color.LIGHT_GRAY);
            int[] ti1 = {x11,x11-100,x11-100,x11};
            int[] ai1 = {y11,y11,y11+100,y11+100};
            g.fillPolygon(ti1, ai1, 4);
            g.setColor(Color.GRAY);
            int[] ti2 = {x11,x11+50,x11-50,x11-100};
            int[] ai2 = {y11,y11-50,y11-50,y11};
            g.fillPolygon(ti2, ai2, 4);
            g.setColor(Color.DARK_GRAY);
            int[] ti3 = {x11,x11+50,x11+50,x11};
            int[] ai3 = {y11,y11-50,y11+50,y11+100};
            g.fillPolygon(ti3, ai3, 4);
            }
        for(int j=0;j<1;j++){
            g.setColor(Color.LIGHT_GRAY);
            int[] ti1 = {x12,x12-100,x12-100,x12};
            int[] ai1 = {y12,y12,y12+100,y12+100};
            g.fillPolygon(ti1, ai1, 4);
            g.setColor(Color.GRAY);
            int[] ti2 = {x12,x12+50,x12-50,x12-100};
            int[] ai2 = {y12,y12-50,y12-50,y12};
            g.fillPolygon(ti2, ai2, 4);
            g.setColor(Color.DARK_GRAY);
            int[] ti3 = {x12,x12+50,x12+50,x12};
            int[] ai3 = {y12,y12-50,y12+50,y12+100};
            g.fillPolygon(ti3, ai3, 4);
            }
        for(int j=0;j<1;j++){
            g.setColor(Color.LIGHT_GRAY);
            int[] ti1 = {x13,x13-100,x13-100,x13};
            int[] ai1 = {y13,y13,y13+100,y13+100};
            g.fillPolygon(ti1, ai1, 4);
            g.setColor(Color.GRAY);
            int[] ti2 = {x13,x13+50,x13-50,x13-100};
            int[] ai2 = {y13,y13-50,y13-50,y13};
            g.fillPolygon(ti2, ai2, 4);
            g.setColor(Color.DARK_GRAY);
            int[] ti3 = {x13,x13+50,x13+50,x13};
            int[] ai3 = {y13,y13-50,y13+50,y13+100};
            g.fillPolygon(ti3, ai3, 4);
            }
        for(int j=0;j<1;j++){
            g.setColor(Color.LIGHT_GRAY);
            int[] ti1 = {x14,x14-100,x14-100,x14};
            int[] ai1 = {y14,y14,y14+100,y14+100};
            g.fillPolygon(ti1, ai1, 4);
            g.setColor(Color.GRAY);
            int[] ti2 = {x14,x14+50,x14-50,x14-100};
            int[] ai2 = {y14,y14-50,y14-50,y14};
            g.fillPolygon(ti2, ai2, 4);
            g.setColor(Color.DARK_GRAY);
            int[] ti3 = {x14,x14+50,x14+50,x14};
            int[] ai3 = {y14,y14-50,y14+50,y14+100};
            g.fillPolygon(ti3, ai3, 4);
            }
        for(int j=0;j<1;j++){
            g.setColor(Color.LIGHT_GRAY);
            int[] ti1 = {x15,x15-100,x15-100,x15};
            int[] ai1 = {y15,y15,y15+100,y15+100};
            g.fillPolygon(ti1, ai1, 4);
            g.setColor(Color.GRAY);
            int[] ti2 = {x15,x15+50,x15-50,x15-100};
            int[] ai2 = {y15,y15-50,y15-50,y15};
            g.fillPolygon(ti2, ai2, 4);
            g.setColor(Color.DARK_GRAY);
            int[] ti3 = {x15,x15+50,x15+50,x15};
            int[] ai3 = {y15,y15-50,y15+50,y15+100};
            g.fillPolygon(ti3, ai3, 4);
            }
        for(int j=0;j<1;j++){
            g.setColor(Color.LIGHT_GRAY);
            int[] ti1 = {x16,x16-100,x16-100,x16};
            int[] ai1 = {y16,y16,y16+100,y16+100};
            g.fillPolygon(ti1, ai1, 4);
            g.setColor(Color.GRAY);
            int[] ti2 = {x16,x16+50,x16-50,x16-100};
            int[] ai2 = {y16,y16-50,y16-50,y16};
            g.fillPolygon(ti2, ai2, 4);
            g.setColor(Color.DARK_GRAY);
            int[] ti3 = {x16,x16+50,x16+50,x16};
            int[] ai3 = {y16,y16-50,y16+50,y16+100};
            g.fillPolygon(ti3, ai3, 4);
            }
        for(int j=0;j<1;j++){
            g.setColor(Color.LIGHT_GRAY);
            int[] ti1 = {x17,x17-100,x17-100,x17};
            int[] ai1 = {y17,y17,y17+100,y17+100};
            g.fillPolygon(ti1, ai1, 4);
            g.setColor(Color.GRAY);
            int[] ti2 = {x17,x17+50,x17-50,x17-100};
            int[] ai2 = {y17,y17-50,y17-50,y17};
            g.fillPolygon(ti2, ai2, 4);
            g.setColor(Color.DARK_GRAY);
            int[] ti3 = {x17,x17+50,x17+50,x17};
            int[] ai3 = {y17,y17-50,y17+50,y17+100};
            g.fillPolygon(ti3, ai3, 4);
            }
        for(int j=0;j<1;j++){
            g.setColor(Color.LIGHT_GRAY);
            int[] ti1 = {x18,x18-100,x18-100,x18};
            int[] ai1 = {y18,y18,y18+100,y18+100};
            g.fillPolygon(ti1, ai1, 4);
            g.setColor(Color.GRAY);
            int[] ti2 = {x18,x18+50,x18-50,x18-100};
            int[] ai2 = {y18,y18-50,y18-50,y18};
            g.fillPolygon(ti2, ai2, 4);
            g.setColor(Color.DARK_GRAY);
            int[] ti3 = {x18,x18+50,x18+50,x18};
            int[] ai3 = {y18,y18-50,y18+50,y18+100};
            g.fillPolygon(ti3, ai3, 4);
            }
        for(int j=0;j<1;j++){
            g.setColor(Color.LIGHT_GRAY);
            int[] ti1 = {x19,x19-100,x19-100,x19};
            int[] ai1 = {y19,y19,y19+100,y19+100};
            g.fillPolygon(ti1, ai1, 4);
            g.setColor(Color.GRAY);
            int[] ti2 = {x19,x19+50,x19-50,x19-100};
            int[] ai2 = {y19,y19-50,y19-50,y19};
            g.fillPolygon(ti2, ai2, 4);
            g.setColor(Color.DARK_GRAY);
            int[] ti3 = {x19,x19+50,x19+50,x19};
            int[] ai3 = {y19,y19-50,y19+50,y19+100};
            g.fillPolygon(ti3, ai3, 4);
            }
        for(int j=0;j<1;j++){
            g.setColor(Color.LIGHT_GRAY);
            int[] ti1 = {x20,x20-100,x20-100,x20};
            int[] ai1 = {y20,y20,y20+100,y20+100};
            g.fillPolygon(ti1, ai1, 4);
            g.setColor(Color.GRAY);
            int[] ti2 = {x20,x20+50,x20-50,x20-100};
            int[] ai2 = {y20,y20-50,y20-50,y20};
            g.fillPolygon(ti2, ai2, 4);
            g.setColor(Color.DARK_GRAY);
            int[] ti3 = {x20,x20+50,x20+50,x20};
            int[] ai3 = {y20,y20-50,y20+50,y20+100};
            g.fillPolygon(ti3, ai3, 4);
            }
//        for(int k=0;k<2;k++){
//            g.setColor(Color.LIGHT_GRAY);
//            int[] ti1 = {x1,x1-100,x1-100,x1};
//            int[] ai1 = {y1,y1,y1+100,y1+100};
//            g.fillPolygon(ti1, ai1, 4);
//            g.setColor(Color.GRAY);
//            int[] ti2 = {x1,x1+50,x1-50,x1-100};
//            int[] ai2 = {y1,y1-50,y1-50,y1};
//            g.fillPolygon(ti2, ai2, 4);
//            g.setColor(Color.DARK_GRAY);
//            int[] ti3 = {x1,x1+50,x1+50,x1};
//            int[] ai3 = {y1,y1-50,y1+50,y1+100};
//            g.fillPolygon(ti3, ai3, 4);
//        }
//        for(int h=0;h<1;h++)
//        {
//            g.setColor(Color.LIGHT_GRAY);
//            int[] ti1 = {x1,x1-100,x1-100,x1};
//            int[] ai1 = {y1,y1,y1+100,y1+100};
//            g.fillPolygon(ti1, ai1, 4);
//            g.setColor(Color.GRAY);
//            int[] ti2 = {x1,x1+50,x1-50,x1-100};
//            int[] ai2 = {y1,y1-50,y1-50,y1};
//            g.fillPolygon(ti2, ai2, 4);
//            g.setColor(Color.DARK_GRAY);
//            int[] ti3 = {x1,x1+50,x1+50,x1};
//            int[] ai3 = {y1,y1-50,y1+50,y1+100};
//            g.fillPolygon(ti3, ai3, 4);
//        }
//        for(int j=0;j<3;j++){
//            g.setColor(Color.LIGHT_GRAY);
//            int[] ti1 = {x1,x1-100,x1-100,x1};
//            int[] ai1 = {y1,y1,y1+100,y1+100};
//            g.fillPolygon(ti1, ai1, 4);
//            g.setColor(Color.GRAY);
//            int[] ti2 = {x1,x1+50,x1-50,x1-100};
//            int[] ai2 = {y1,y1-50,y1-50,y1};
//            g.fillPolygon(ti2, ai2, 4);
//            g.setColor(Color.DARK_GRAY);
//            int[] ti3 = {x1,x1+50,x1+50,x1};
//            int[] ai3 = {y1,y1-50,y1+50,y1+100};
//            g.fillPolygon(ti3, ai3, 4);
//           }
//        for(int j=0;j<3;j++){
//            g.setColor(Color.LIGHT_GRAY);
//            int[] ti1 = {x1,x1-100,x1-100,x1};
//            int[] ai1 = {y1,y1,y1+100,y1+100};
//            g.fillPolygon(ti1, ai1, 4);
//            g.setColor(Color.GRAY);
//            int[] ti2 = {x1,x1+50,x1-50,x1-100};
//            int[] ai2 = {y1,y1-50,y1-50,y1};
//            g.fillPolygon(ti2, ai2, 4);
//            g.setColor(Color.DARK_GRAY);
//            int[] ti3 = {x1,x1+50,x1+50,x1};
//            int[] ai3 = {y1,y1-50,y1+50,y1+100};
//            g.fillPolygon(ti3, ai3, 4);
//            }
//    }
    }
}

时间: 2024-12-21 11:30:00

画家算法的简单的例子的相关文章

用最简单的例子理解对象为Null模式(Null Object Pattern)

所谓的"对象为Null模式",就是要求开发者考虑对象为Null的情况,并设计出在这种情况下的应对方法. 拿"用最简单的例子理解策略模式(Strategy Pattern) "中的例子来说,在我们的客户端程序中只考虑了用户输入1,2,3的情况,如果用户输入其它数字,比如4,就没有一个对应的IBall接口实现类实例产生,于是会报如下的错: 为了应对这种情况,我们专门设计一个类,当用户输入1,2,3以上的数字,就产生该类的实例.该类同样实现IBall接口. public

Java 多线程编程两个简单的例子

/** * @author gao */ package gao.org; public class RunnableDemo implements Runnable{ @Override public void run() { // TODO Auto-generated method stub for(int i=0;i<10;i++){ System.out.println("新线程输出:"+i); } } public static void main(String []

C#调用存储过程简单完整例子

CREATE PROC P_TEST@Name VARCHAR(20),@Rowcount INT OUTPUTASBEGIN SELECT * FROM T_Customer WHERE [email protected] SET  @[email protected]@ROWCOUNTENDGO------------------------------------------------------------------------------------------存储过程调用如下:-

javaweb简单登陆例子

JSP+Servlet+JavaBean简单程序例子——用户名密码登陆,摘自<Tomcat&JavaWeb 技术手册>,亲测可用. IDE环境:MyEclipse10 1.建立Web Project,命名为Login_test.创建userLogn表: create table userLogin( user_name varchar(10) not null, user_pwd varchar(10) not null, constraint user_pk primary key

命名管道-简单的例子

#include "stdafx.h" #include<iostream> #include<windows.h> #include<ctime> using namespace std; DWORD WINAPI thread1(LPVOID param) { char buf[256]; DWORD rlen=0; HANDLE hPipe = CreateNamedPipe(TEXT("\\\\.\\Pipe\\mypipe&quo

Android中关于JNI 的学习(零)简单的例子,简单地入门

Android中JNI的作用,就是让Java能够去调用由C/C++实现的代码,为了实现这个功能,需要用到Anrdoid提供的NDK工具包,在这里不讲如何配置了,好麻烦,配置了好久... 本质上,Java去调用C/C++的代码其实就是去调用C/C++提供的方法,所以,第一步,我们要创建一个类,并且定义一个Native方法,如下: JniTest类: public class JniTest { public native String getTestString(); } 可以看到,在这个方法的前

php实现socket简单的例子

一.Socket简介 1.socket只不过是一种数据结构 2.使用这个socket数据结构去开始一个客户端和服务器之间的会话 3.服务器是一直在监听准备产生一个新的会话.当一个客户端连接服务端,它就打开服务器正在进行监听的一个端口进行会话 4.服务器端接受客户端的链接请求,那么就进行一次循环.现在这个客户端就能够发送信息到服务器,服务器也能发送信息给客户端.[重点]   虽然如此,游戏服务端依旧不用php,而是用lua或c++,因为php有瓶颈,且很快到达瓶颈. 二.Socket变量 产生一个

Android Handler的一个简单使用例子

在前面 开启一个线程Thread并用进度条显示进度 这篇文章里,我们用线程实现了这么一个简单的功能,就是点击按钮,加载进度条.但是有没有发现,点击一次之后,再次点击就会没效.我们可是需要每次点击都要显示下一张图片的.永盈会娱乐城 这里就需要引入 Android 的消息机制了,简单来说,就是 Handler.Looper 还有 Message Queue的使用.这里我们用一个简单的例子来说明 Handler 的使用,就是每次点击按钮,给消息队列发送一个数字 5.还是在 PaintingActivi

Android中关于JNI 的学习(四)简单的例子,温故而知新

在第零篇文章简单地介绍了JNI编程的模式之后,后面两三篇文章,我们又针对JNI中的一些概念做了一些简单的介绍,也不知道我到底说的清楚没有,但相信很多童鞋跟我一样,在刚开始学习一个东西的时候,入门最好的方式就是一个现成的例子来参考,慢慢研究,再学习概念,再回过来研究代码,加深印象,从而开始慢慢掌握. 今天我们就再来做一个小Demo,这个例子会比前面稍微复杂一点,但是如果阅读过前面几篇文章的话,理解起来也还是很简单的.很多东西就是这样,未知的时候很可怕,理解了就很简单了. 1)我们首先定义一个Jav