Agen 11650012

Pages

Selasa, 04 Juni 2013

ANDROID

ANDROID HOLLYDAY



// Membuat class objeknya

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package tugas_mz_hud;

import java.applet.Applet;
import java.applet.AudioClip;
import java.awt.*;
import java.awt.image.ImageObserver;
import javax.swing.*;
import java.awt.geom.*;
import java.util.Locale;
import javax.swing.plaf.DimensionUIResource;
import sun.applet.AppletAudioClip;

public class jalan extends JApplet implements Runnable {

    public void init() {
        JPanel panel = new empatPanel();
        getContentPane().add(panel);

        JPanel panel2 = new empatPanel();
        getContentPane().add(panel2);
    }

    public void run() {
        throw new UnsupportedOperationException("Not supported yet.");
    }
}

class empatPanel extends JPanel {

    int mataharij;
    satu anim1 = new satu(this, 0);
    int x1 = 0;
    int x2 = 0;
    empatPanel.JalanBadan badan = new empatPanel.JalanBadan(this, 0);
    empatPanel.JalanKaki kaki = new empatPanel.JalanKaki(this, 0);

    public empatPanel() {
        setPreferredSize(new Dimension(800, 690));
        setBackground(Color.white);
        anim1.start();
        badan.start();
        kaki.start();

    }

    public void paintComponent(Graphics g) {
        super.paintComponent(g);
        Graphics2D g2 = (Graphics2D) g;

//Latar
        GradientPaint warnaGradien = new GradientPaint(400, 0 + mataharij, Color.yellow, 400, 250, Color.white, false);
        Rectangle2D.Double kotak = new Rectangle2D.Double(0, 0, 850, 700);
        g2.setPaint(warnaGradien);
        g2.fill(kotak);
        g2.setStroke(new BasicStroke(4.0f));
        g2.draw(kotak);


//matahari
        mataharij = anim1.getOrdinat();

        Ellipse2D.Double matahari = new Ellipse2D.Double(700 + mataharij, 10, 100, 100);
        GradientPaint warnamatahari = new GradientPaint(120, 60, Color.yellow, 50, 50, Color.orange, true);
        g2.setPaint(warnamatahari);
        g2.fill(matahari);
        g2.setStroke(new BasicStroke(1.0f));
        g2.setColor(Color.orange);
        g2.draw(matahari);

//tanah
        GradientPaint warnatanah = new GradientPaint(400, 0, Color.yellow, 400, 300, Color.black, true);
        Line2D.Double tanah = new Line2D.Double(0, 430, 790, 430);
        g2.setPaint(warnatanah);
        g2.fill(tanah);
        g2.setStroke(new BasicStroke(40.0f));
        g2.draw(tanah);


        // gambar awan
        g2.setStroke(new BasicStroke(5.0f));
        GeneralPath awan = new GeneralPath();
        awan.moveTo(100 - mataharij, 60);
        awan.quadTo(120 - mataharij, 40, 150 - mataharij, 60);
        awan.quadTo(180 - mataharij, 40, 200 - mataharij, 60);
        awan.quadTo(220 - mataharij, 45, 235 - mataharij, 70);
        awan.quadTo(260 - mataharij, 83, 235 - mataharij, 95);
        awan.quadTo(210 - mataharij, 120, 200 - mataharij, 98);
        awan.quadTo(170 - mataharij, 115, 160 - mataharij, 95);
        awan.quadTo(135 - mataharij, 105, 125 - mataharij, 95);
        awan.quadTo(100 - mataharij, 110, 90 - mataharij, 85);
        awan.quadTo(60 - mataharij, 65, 100 - mataharij, 60);

        //gambar awan2
        g2.setStroke(new BasicStroke(5.0f));
        GeneralPath awan2 = new GeneralPath();
        awan2.moveTo(50 + mataharij, 100);
        awan2.quadTo(70 + mataharij, 80, 100 + mataharij, 100);
        awan2.quadTo(130 + mataharij, 80, 150 + mataharij, 100);
        awan2.quadTo(170 + mataharij, 85, 185 + mataharij, 110);
        awan2.quadTo(210 + mataharij, 123, 185 + mataharij, 135);
        awan2.quadTo(160 + mataharij, 160, 150 + mataharij, 138);
        awan2.quadTo(120 + mataharij, 155, 110 + mataharij, 135);
        awan2.quadTo(85 + mataharij, 145, 75 + mataharij, 135);
        awan2.quadTo(50 + mataharij, 150, 40 + mataharij, 125);
        awan2.quadTo(10 + mataharij, 105, 50 + mataharij, 100);

        g2.setPaint(Color.WHITE);
        g2.fill(awan);
        g2.fill(awan2);
        g2.setStroke(new BasicStroke(1.0f));
        g2.setColor(Color.cyan);
        g2.draw(awan);
        g2.draw(awan2);

//pohon
        GeneralPath pohon = new GeneralPath();
        pohon.moveTo(647, 454);
        pohon.lineTo(704, 454);
        pohon.lineTo(699, 348);
        pohon.lineTo(696, 284);
        pohon.lineTo(691, 228);
        pohon.lineTo(738, 192);
        pohon.lineTo(759, 187);
        pohon.lineTo(745, 185);
        pohon.lineTo(767, 166);
        pohon.lineTo(783, 140);
        pohon.lineTo(759, 164);
        pohon.lineTo(751, 146);
        pohon.lineTo(753, 167);
        pohon.lineTo(697, 203);
        pohon.lineTo(701, 178);
        pohon.lineTo(710, 175);
        pohon.lineTo(702, 172);
        pohon.lineTo(738, 107);
        pohon.lineTo(703, 145);
        pohon.lineTo(693, 121);
        pohon.lineTo(696, 158);
        pohon.lineTo(676, 199);
        pohon.lineTo(664, 157);
        pohon.lineTo(678, 130);
        pohon.lineTo(663, 147);
        pohon.lineTo(645, 83);
        pohon.lineTo(646, 120);
        pohon.lineTo(618, 115);
        pohon.lineTo(648, 133);
        pohon.lineTo(658, 204);
        pohon.lineTo(589, 164);
        pohon.lineTo(578, 131);
        pohon.lineTo(579, 159);
        pohon.lineTo(550, 148);
        pohon.lineTo(587, 174);
        pohon.lineTo(578, 191);
        pohon.lineTo(592, 181);
        pohon.lineTo(659, 230);
        pohon.lineTo(662, 268);
        pohon.lineTo(660, 290);
        pohon.lineTo(631, 292);
        pohon.lineTo(630, 303);
        pohon.lineTo(660, 309);
        pohon.lineTo(647, 454);

        GradientPaint pohon1 = new GradientPaint(150, 50, Color.orange, 50, 50, Color.black, true);
        g2.setPaint(pohon1);
        g2.fill(pohon);
        g2.setStroke(new BasicStroke(1.0f));
        g2.setColor(Color.black);
        g2.draw(pohon);

        //daun
        Ellipse2D.Double daun = new Ellipse2D.Double(545, 125, 10, 25);
        Ellipse2D.Double daun1 = new Ellipse2D.Double(545, 150, 10, 25);
        Ellipse2D.Double daun2 = new Ellipse2D.Double(525, 145, 25, 10);
        Ellipse2D.Double daun3 = new Ellipse2D.Double(575, 110, 10, 25);
        Ellipse2D.Double daun4 = new Ellipse2D.Double(580, 130, 25, 10);
        Ellipse2D.Double daun5 = new Ellipse2D.Double(555, 130, 25, 10);
        Ellipse2D.Double daun6 = new Ellipse2D.Double(555, 185, 25, 10);
        Ellipse2D.Double daun7 = new Ellipse2D.Double(575, 190, 10, 25);
        //
        Ellipse2D.Double daun8 = new Ellipse2D.Double(613, 115, 10, 25);
        Ellipse2D.Double daun9 = new Ellipse2D.Double(595, 110, 25, 10);
        Ellipse2D.Double daun10 = new Ellipse2D.Double(613, 90, 10, 25);
        Ellipse2D.Double daun11 = new Ellipse2D.Double(640, 60, 10, 25);
        Ellipse2D.Double daun12 = new Ellipse2D.Double(645, 80, 25, 10);
        Ellipse2D.Double daun13 = new Ellipse2D.Double(620, 80, 25, 10);
        Ellipse2D.Double daun14 = new Ellipse2D.Double(677, 125, 25, 10);
        Ellipse2D.Double daun15 = new Ellipse2D.Double(672, 105, 10, 25);
        Ellipse2D.Double daun16 = new Ellipse2D.Double(652, 125, 25, 10);
        //
        Ellipse2D.Double daun17 = new Ellipse2D.Double(688, 95, 10, 25);
        Ellipse2D.Double daun18 = new Ellipse2D.Double(692, 115, 25, 10);
        Ellipse2D.Double daun50 = new Ellipse2D.Double(780, 115, 10, 25);
        Ellipse2D.Double daun51 = new Ellipse2D.Double(757, 135, 25, 10);
        Ellipse2D.Double daun52 = new Ellipse2D.Double(780, 135, 25, 10);
        Ellipse2D.Double daun53 = new Ellipse2D.Double(727, 142, 25, 10);
        Ellipse2D.Double daun54 = new Ellipse2D.Double(748, 122, 10, 25);
        Ellipse2D.Double daun55 = new Ellipse2D.Double(752, 188, 10, 25);
        Ellipse2D.Double daun56 = new Ellipse2D.Double(756, 180, 25, 10);
        Ellipse2D.Double daun57 = new Ellipse2D.Double(739, 100, 25, 10);
        Ellipse2D.Double daun58 = new Ellipse2D.Double(730, 82, 10, 25);
        Ellipse2D.Double daun59 = new Ellipse2D.Double(710, 170, 25, 10);
        Ellipse2D.Double daun60 = new Ellipse2D.Double(705, 175, 10, 25);
        Ellipse2D.Double daun61 = new Ellipse2D.Double(710, 100, 25, 10);

        g2.setColor(new Color(0, 204, 0));
        g2.fill(daun);
        g2.fill(daun1);
        g2.fill(daun2);
        g2.fill(daun3);
        g2.fill(daun4);
        g2.fill(daun5);
        g2.fill(daun6);
        g2.fill(daun7);
        //
        g2.fill(daun8);
        g2.fill(daun9);
        g2.fill(daun10);
        g2.fill(daun11);
        g2.fill(daun12);
        g2.fill(daun13);
        g2.fill(daun14);
        g2.fill(daun15);
        g2.fill(daun16);
        //
        g2.fill(daun17);
        g2.fill(daun18);
        g2.fill(daun50);
        g2.fill(daun51);
        g2.fill(daun52);
        g2.fill(daun53);
        g2.fill(daun54);
        g2.fill(daun55);
        g2.fill(daun56);
        g2.fill(daun57);
        g2.fill(daun58);
        g2.fill(daun59);
        g2.fill(daun60);
        g2.fill(daun61);

        //pagar
        Line2D.Double pagar = new Line2D.Double(0, 470, 800, 470);
        Line2D.Double pagar1 = new Line2D.Double(0, 400, 800, 400);
        Line2D.Double pagar2 = new Line2D.Double(0, 430, 800, 430);
        Line2D.Double pagar3 = new Line2D.Double(0, 475, 800, 475);

        g2.setColor(Color.DARK_GRAY);
        g2.setStroke(new BasicStroke(40.0f));
        g2.draw(pagar);
        g2.setStroke(new BasicStroke(7.0f));
        g2.draw(pagar1);
        g2.draw(pagar2);
        g2.setStroke(new BasicStroke(9.0f));
        g2.draw(pagar3);

        g2.drawLine(0, 385, 0, 475);
        g2.drawLine(50, 385, 50, 475);
        g2.drawLine(100, 385, 100, 475);
        g2.drawLine(150, 385, 150, 475);
        g2.drawLine(200, 385, 200, 475);
        g2.drawLine(250, 385, 250, 475);
        g2.drawLine(300, 385, 300, 475);
        g2.drawLine(350, 385, 350, 475);
        g2.drawLine(400, 385, 400, 475);
        g2.drawLine(450, 385, 450, 475);
        g2.drawLine(500, 385, 500, 475);
        g2.drawLine(550, 385, 550, 475);
        g2.drawLine(600, 385, 600, 475);
        g2.drawLine(650, 385, 650, 475);
        g2.drawLine(700, 385, 700, 475);
        g2.drawLine(750, 385, 750, 475);
        g2.drawLine(800, 385, 800, 475);

//trotoar
        Rectangle2D.Double persegipanjang = new Rectangle2D.Double(0, 475, 850, 100);
        g2.setColor(new Color(153, 153, 153));
        g2.fill(persegipanjang);
        g2.setColor(Color.black);
        g2.setStroke(new BasicStroke(2.0f));
        g2.draw(persegipanjang);
        g2.drawLine(825, 475, 800, 550);
        g2.drawLine(775, 475, 700, 550);
        g2.drawLine(675, 475, 600, 550);
        g2.drawLine(575, 475, 500, 550);
        g2.drawLine(475, 475, 400, 550);
        g2.drawLine(375, 475, 300, 550);
        g2.drawLine(275, 475, 200, 550);
        g2.drawLine(175, 475, 100, 550);
        g2.drawLine(75, 475, 0, 550);
        Rectangle2D.Double persegi = new Rectangle2D.Double(0, 550, 850, 25);
        g2.setColor(Color.GRAY);
        g2.fill(persegi);
        g2.setColor(Color.black);
        g2.setStroke(new BasicStroke(2.0f));
        g2.draw(persegi);
        g2.drawLine(100, 550, 100, 575);
        g2.drawLine(200, 550, 200, 575);
        g2.drawLine(300, 550, 300, 575);
        g2.drawLine(400, 550, 400, 575);
        g2.drawLine(500, 550, 500, 575);
        g2.drawLine(600, 550, 600, 575);
        g2.drawLine(700, 550, 700, 575);
        g2.drawLine(800, 550, 800, 575);
//jalan
        Rectangle2D.Double persegi2 = new Rectangle2D.Double(0, 575, 850, 125);
        g2.setColor(Color.black);
        g2.fill(persegi2);
        g2.setColor(Color.black);
        g2.setStroke(new BasicStroke(2.0f));
        g2.draw(persegi2);

        float[] dashPattern;
        float dashPhase = 2.0f;
        dashPattern = new float[2];
        dashPattern[0] = 100;
        dashPattern[1] = 25;
        g2.setColor(Color.white);

        BasicStroke bsDashed = new BasicStroke(7.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL, 2.0f, dashPattern, dashPhase);
        g2.setStroke(bsDashed);
        g2.drawLine(0, 625, 800, 675);



        //Jalan

        x1 = badan.getPosisi();
        x2 = kaki.getPosisi();

        g2.setColor(new Color(65, 177, 17));
        g2.setStroke(new BasicStroke(3.0f));
        GeneralPath gp = new GeneralPath();
        gp.moveTo(x1 + 42, 370);
        gp.lineTo(x1 + 158, 370);
        gp.quadTo(x1 + 150, 330, x1 + 100, 327);
        gp.quadTo(x1 + 50, 330, x1 + 42, 370);
        gp.moveTo(x1 + 80, 330);
        gp.lineTo(x1 + 65, 310);
        gp.moveTo(x1 + 120, 330);
        gp.lineTo(x1 + 135, 310);
        g2.fill(gp);
        g2.draw(gp);

        g2.setColor(Color.black);
        Shape putih = new Ellipse2D.Double(x1 + 60, 345, 13, 13);
        g2.fill(putih);
        Shape putih1 = new Ellipse2D.Double(x1 + 120, 345, 13, 13);
        g2.fill(putih1);

        Stroke an = new BasicStroke(20, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND);
        g2.setStroke(an);
        g2.setColor(new Color(65, 177, 17));
        GeneralPath gp2 = new GeneralPath();
        gp2.moveTo(x1 + 50, 390);
        gp2.lineTo(x1 + 50, 480);
        gp2.lineTo(x1 + 150, 480);
        gp2.lineTo(x1 + 150, 390);
        gp2.lineTo(x1 + 50, 390);
        gp2.moveTo(x1 + 25, 400);
        gp2.lineTo(x1 + -x2 + 20, 480);
        gp2.moveTo(x1 + 175, 400);
        gp2.lineTo(x1 + -x2 + 200, 350);
        g2.fill(gp2);
        g2.draw(gp2);

        //kaki
        Stroke kaki = new BasicStroke(25, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND);
        g2.setStroke(kaki);
        g2.drawLine(x1 + 70, 480, x1 + -x2 + 70, 530);
        g2.drawLine(x1 + 130, 480, x1 + -x2 + 139, 530);




    }

    class JalanKaki extends Thread implements Runnable {

        JPanel panel;
        int posisi;

        public int getPosisi() {
            return posisi;
        }
        public final int garis = 0;
        int a;

        public JalanKaki(JPanel panel, int posisi) {
            this.panel = panel;
            this.a = posisi;
        }

        @Override
        public void run() {
            while (true) {
                try {
                    Thread.sleep(40);
                } catch (Exception e) {
                } finally {
                    if (a == garis) {
                        posisi++;
                        if (posisi == 25) {
                            posisi = 0;
                        }
                        panel.repaint();

                    }
                }
            }
        }
    }
    /*
     * To change this template, choose Tools | Templates and open the template
     * in the editor.
     */

    final class JalanBadan extends Thread implements Runnable {

        JPanel panel;
        int posisi;

        public int getPosisi() {
            return posisi;

        }
        public final int kanan = 0;
        int a;

        public JalanBadan(JPanel panel, int a) {
            this.panel = panel;
            this.a = a;
        }

        @Override
        public void run() {

            while (true) {
                try {
                    Thread.sleep(40);

                } catch (Exception e) {
                } finally {
                    if (a == kanan) {

                        posisi++;

                        if (posisi == 700) {
                            posisi = 5;
                        }


                    }

                }
                panel.repaint();
            }
        }
    }

    public static void main(String s[]) {
        JFrame bingkai = new JFrame();
        bingkai.setTitle("Android Holiday");
        bingkai.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        JApplet applet = new jalan();
        applet.init();
        bingkai.getContentPane().add(applet);
        bingkai.pack();
        bingkai.setVisible(true);
        bingkai.setResizable(false);
        applet.init();
        bingkai.setLocation(280, 5);



    }
}


// Membuat class threadnya 
import javax.swing.*;
import java.applet.*;
import java.awt.*;

public class satu extends Thread implements Runnable {

    JPanel panel1;
    int ordinat, oordinat, pp;
    int a, b, z;

    public int getOrdinat() {
        return ordinat;
    }

    public int getOordinat() {
        return oordinat;
    }
    public final int KANAN = 0, KIRI = 1;
    int kode;

    public satu(JPanel panel1, int kode) {
        this.panel1 = panel1;
        this.kode = kode;

    }

    public void run() {
        while (true) {
            try {
                Thread.sleep(10);

            } catch (Exception e) {
            } finally {
            }
            if (kode == KANAN) {
                ordinat--;
                if (ordinat < -750) {
                    ordinat = +200;
                }
            }

            panel1.repaint();
        }
    }

Tidak ada komentar:

Posting Komentar

Diberdayakan oleh Blogger.
 

Peliharaanku

Peliharaanku

Peliharaanku