栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java实现爬虫(小乌龟怎么爬行的)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java实现爬虫(小乌龟怎么爬行的)

import java.awt.*;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

class TortoiseCrawl extends frame {
    final int width=500;
    final int height=500;

    Tortoise t=new Tortoise(0,0,10);

    public void launchframe(){
        setTitle("乌龟爬行");

        setVisible(true);//显示窗口

        setSize(width,height);//窗口大小

        setLocation(100,100);//窗口位置

        addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {//关闭窗口
                System.exit(0);
            }
        });

        new PointThread().start();
        this.addKeyListener(new KeyMonitor());//启动键盘监听
    }

    @Override
    public void paint(Graphics g) {
        Color c=g.getColor();//记录画笔原始颜色
        g.setColor(Color.gray);
        g.fillRect(0,0,width,height);//绘制灰色矩形窗口
        t.drawMyself(g);
    }
    class PointThread extends Thread{
        @Override
        public void run() {
            while (true){
                repaint();
                try {
                    Thread.sleep(100);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }
    }
    class KeyMonitor extends KeyAdapter{
        @Override
        public void keyPressed(KeyEvent e) {
            t.addDirection(e);
        }

        @Override
        public void keyReleased(KeyEvent e) {
            t.minusDirection(e);
        }
    }



    public static void main(String[] args) {
        TortoiseCrawl tort=new TortoiseCrawl();
        tort.launchframe();
    }
}

乌龟类

import java.awt.*;
import java.awt.event.KeyEvent;

class Tortoise{
    int x,y;//定义乌龟原始坐标(其他部位)
    int speed;//定义乌龟移动速度
    boolean left,right,up,down;
    int count=0;
    int x1=120,y1=100;//左上脚
    int x2=290,y2=100;//右上脚
    int x3=120,y3=310;//左下角
    int x4=290,y4=310;//右下角
    int f=0;//移动变量

    public Tortoise(int x, int y, int speed) {
        this.x = x;
        this.y = y;
        this.speed = speed;
    }

    public void addDirection(KeyEvent e){//监听键盘1
        switch(e.getKeyCode()){
            case KeyEvent.VK_LEFT:
                left=true;
                System.out.println(left);
                move();
                break;
            case KeyEvent.VK_RIGHT:
                right=true;
                move();
                break;
            case KeyEvent.VK_UP:
                up=true;
                move();
                break;
            case KeyEvent.VK_DOWN:
                down=true;
                move();
                break;
        }
    }

    public void minusDirection(KeyEvent e){//监听键盘2
        switch(e.getKeyCode()){
            case KeyEvent.VK_LEFT:
                left=false;
                System.out.println(left);
                break;
            case KeyEvent.VK_RIGHT:
                right=false;
                break;
            case KeyEvent.VK_UP:
                up=false;
                break;
            case KeyEvent.VK_DOWN:
                down=false;
                break;
        }
    }
    public void move() {//移动方法
        count++;
        if (left) {
            if(x1>x3) {
                f = 1;
            }else {
                f = 0;
            }
            x-=speed;
            if(f == 1) {
                x1-=(2*speed);
                x4-=(2*speed);
            }
            if(f == 0) {
                x2-=(2*speed);
                x3-=(2*speed);
            }
        }
        if (right) {
            if(x1 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/773184.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号