zoukankan      html  css  js  c++  java
  • java版飞机大战代码

    @

    前言

    很久之前整理的小东西,这个是从我个人博客网站拷过来的地址
    下面是源码

    Plane

    package com.trhsy.cn.plane;
    
    import javax.imageio.ImageIO;
    import java.awt.*;
    import java.awt.event.KeyEvent;
    import java.io.IOException;
    
    /**
     * @ClassName Plane
     * @Description todo
     * @Author Administrator
     * @Date 2020/3/24 002415:03
     **/
    public class Plane {
        /**
         * @Author fan
         * @Description //TODO 定义一个飞机
         * @Date 15:07 2020/3/24 0024
         * @Param
         * @return
         **/
        Image planeImage = null;
        public int x = 300;
        public int y = 700;
        public int lifeCount = 5;
    
        /**
         * @return
         * @Author fan
         * @Description //TODO 给飞机附图片
         * @Date 15:19 2020/3/24 0024
         * @Param []
         **/
        public Plane() {
            try {
                planeImage = ImageIO.read(Plane.class.getClassLoader().getResourceAsStream("images/plane.png"));
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    
        public void draw(Graphics g) {
            // 画飞机图片
            g.drawImage(planeImage, x, y, null);
            // 飞机移动
            this.move();
            // 血条
            if (lifeCount > 0) {
                g.setColor(Color.WHITE);
                g.fillRect(20, 80, 100, 10);
                g.setColor(Color.red);
                g.fillRect(20, 80, (100 / 5) * lifeCount, 10);
                g.setColor(Color.blue);
                g.setFont(new Font("幼圆", Font.BOLD, 30));
                g.drawString("Score:" + Play.count, 20, 60);
            }
        }
    
        public void move() {
            if (isUP && !isDown && !isLeft && !isRight) {
                //上
                y = y - 5;
            } else if (!isUP && isDown && !isLeft && !isRight) {
                //下
                y = y + 5;
            } else if (!isUP && !isDown && isLeft && !isRight) {
                //左
                x = x - 5;
            } else if (!isUP && !isDown && !isLeft && isRight) {
                //右
                x = x + 5;
            } else if (isUP && !isDown && isLeft && !isRight) {
                //左上
                x = x - 5;
                y = y - 5;
            } else if (!isUP && isDown && isLeft && !isRight) {
                //左下
                x = x - 5;
                y = y + 5;
            } else if (isUP && !isDown && !isLeft && isRight) {
                //右上
                x = x + 5;
                y = y - 5;
            } else if (!isUP && isDown && !isLeft && isRight) {
                //右下
                x = x + 5;
                y = y + 5;
            }
        }
    
        boolean isUP = false;
        boolean isDown = false;
        boolean isLeft = false;
        boolean isRight = false;
    
        /**
         * @return void
         * @Author fan
         * @Description //TODO 按下
         * @Date 15:21 2020/3/24 0024
         * @Param [e]
         **/
        public void keyPressed(KeyEvent e) {
            int keyCode = e.getKeyCode();
            if (keyCode == KeyEvent.VK_RIGHT || keyCode == KeyEvent.VK_D) {
                isRight = true;
            } else if (keyCode == KeyEvent.VK_LEFT || keyCode == KeyEvent.VK_A) {
                isLeft = true;
            } else if (keyCode == KeyEvent.VK_UP || keyCode == KeyEvent.VK_W) {
                isUP = true;
            } else if (keyCode == KeyEvent.VK_DOWN || keyCode == KeyEvent.VK_S) {
                isDown = true;
            }
        }
    
        /**
         * @return void
         * @Author fan
         * @Description //TODO 松开
         * @Date 15:24 2020/3/24 0024
         * @Param [e]
         **/
        public void keyReleased(KeyEvent e) {
            int keyCode = e.getKeyCode();
            if (keyCode == KeyEvent.VK_RIGHT || keyCode == KeyEvent.VK_D) {
                isRight = false;
            } else if (keyCode == KeyEvent.VK_LEFT || keyCode == KeyEvent.VK_A) {
                isLeft = false;
            } else if (keyCode == KeyEvent.VK_UP || keyCode == KeyEvent.VK_W) {
                isUP = false;
            } else if (keyCode == KeyEvent.VK_DOWN || keyCode == KeyEvent.VK_S) {
                isDown = false;
            }
        }
    
        public Rectangle getRectangle() {
            return new Rectangle(x, y, planeImage.getWidth(null), planeImage.getHeight(null));
        }
    
    }
    
    

    PlaneStatus类

    package com.trhsy.cn.util;
    
    /**
     * @ClassName PlaneStatus
     * @Description todo 0 游戏开始前 1 第一关 -1 游戏结束
     * @Author Administrator
     * @Date 2020/3/24 002415:28
     **/
    public class PlaneStatus {
        public static int roleNum = 1;
        public static int playStatus = 0;
    }
    
    

    Power类

    package com.trhsy.cn.power;
    
    import javax.imageio.ImageIO;
    import java.awt.*;
    import java.io.IOException;
    
    /**
     * @ClassName Power
     * @Description todo 血瓶类
     * @Author Administrator
     * @Date 2020/3/24 002415:29
     **/
    public class Power {
        Image PowerImage = null;
        //初始位置
        int x = 20;
        int y = 0;
    
        public Power() {
            this.x = (int) (Math.random() * 540) + 20;
            try {
                PowerImage = ImageIO.read(Gift.class.getClassLoader()
                        .getResourceAsStream("images/power.png"));
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    
        public void draw(Graphics g) {
            // 画血瓶图片
            g.drawImage(PowerImage, x, y, null);
            // 血瓶移动
            y++;
        }
    
        public Rectangle getRectangle() {
            return new Rectangle(x, y, PowerImage.getWidth(null), PowerImage.getHeight(null));
        }
    
    }
    
    

    Gift

    package com.trhsy.cn.power;
    
    import java.awt.Graphics;
    import java.awt.Image;
    import java.awt.Rectangle;
    import java.io.IOException;
    import javax.imageio.ImageIO;
    
    public class Gift {
        Image GiftImage = null;
        int x = 20;
        int y = 0;
    
        public Gift() {
            this.x = (int) (Math.random() * 540) + 20;
            try {
                GiftImage = ImageIO.read(Gift.class.getClassLoader()
                        .getResourceAsStream("images/blood.png"));
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    
        public void draw(Graphics g) {
            // 画血瓶图片
            g.drawImage(GiftImage, x, y, null);
            // 血瓶移动
            y++;
        }
    
        public Rectangle getRectangle() {
            return new Rectangle(x, y, GiftImage.getWidth(null), GiftImage.getHeight(null));
        }
    }
    
    

    Diji

    package com.trhsy.cn.plane;
    
    import java.awt.Graphics;
    import java.awt.Image;
    import java.awt.Rectangle;
    import java.io.IOException;
    import javax.imageio.ImageIO;
    
    public class Diji {
        Image dijiImage = null;
        public int y = -20;
        /**
         *20 ~ 760
         **/
        public int x = 10;
        int r;
    
        public Diji() {
            this.x = (int) (Math.random() * 540) + 40;
            try {
                r = (int) (Math.random() * 3) + 1;
                dijiImage = ImageIO.read(Diji.class.getClassLoader()
                        .getResourceAsStream("images/diji_" + r + ".png"));
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    
        public void draw(Graphics g) {
            //画 敌机图片
            g.drawImage(dijiImage, x, y, null);
            //敌机移动
            if (r == 1) {
                y += 4;
            } else if (r == 2) {
                y += 4;
            } else if (r == 3) {
                y += 7;
            }
        }
    
        public Rectangle getRectangle() {
            return new Rectangle(x, y, dijiImage.getWidth(null), dijiImage.getHeight(null));
        }
    }
    
    

    play类

    package com.trhsy.cn.plane;
    
    import com.trhsy.cn.bullet.DijiZiDan;
    import com.trhsy.cn.bullet.MyZiDan;
    import com.trhsy.cn.power.Gift;
    import com.trhsy.cn.power.Power;
    import com.trhsy.cn.util.PlaneStatus;
    
    import javax.imageio.ImageIO;
    import java.awt.*;
    import java.awt.event.KeyEvent;
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.List;
    /**
     * @ClassName Play
     * @Description todo
     * @Author Administrator
     * @Date 2020/3/24 002415:40
     **/
    public class Play {
        static int count = 0;
        Image bgImage = null;
        /**
         * @Author fan
         * @Description //TODO 战机
         * @Date 16:11 2020/3/24 0024
         * @Param
         * @return
         **/
        Plane plane = new Plane();
        /**
         * @Author fan
         * @Description //TODO 战机子弹
         * @Date 16:11 2020/3/24 0024
         * @Param
         * @return
         **/
        List<MyZiDan> mzds = new ArrayList<MyZiDan>();
        /**
         * @Author fan
         * @Description //TODO 敌机
         * @Date 16:11 2020/3/24 0024
         * @Param
         * @return
         **/
        List<Diji> dijis = new ArrayList<Diji>();
        /**
         * @Author fan
         * @Description //TODO 敌机子弹
         * @Date 16:11 2020/3/24 0024
         * @Param
         * @return
         **/
        List<DijiZiDan> dijizidans = new ArrayList<DijiZiDan>();
        /**
         * @Author fan
         * @Description //TODO 血瓶
         * @Date 16:11 2020/3/24 0024
         * @Param
         * @return
         **/
        List<Gift> gifts = new ArrayList<Gift>();
    
        List<Power> powers = new ArrayList<Power>();
    
        public Play() {
            try {
                bgImage = ImageIO.read(Play.class.getClassLoader().getResourceAsStream("images/bg_01.jpg"));
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    
        int bgY1 = 0;
        int bgY2 = -600;
        int fireTime = 0;
        boolean flag = false;
    
        public void draw(Graphics g) {
            // 画背景图片
            g.drawImage(bgImage, 0, bgY1, null);
            bgY1 += 5;
            bgY1 = 0;
            g.drawImage(bgImage, 0, bgY2, null);
            bgY2 += 5;
            if (bgY2 >= 0) {
                bgY2 = -600;
            }
            // 清理战机子弹
            for (int i = 0; i < mzds.size(); i++) {
                MyZiDan myZidan = mzds.get(i);
                if (myZidan.x > 800) {
                    mzds.remove(i);
                }
            }
            // 添加子弹
            if (isFire1 == true && flag == false) {
                if (fireTime % 8 == 0) {
                    mzds.add(new MyZiDan(plane.x + 25, plane.y + 0));
                }
                fireTime++;
            }
            if (isFire1 == true && flag == true) {
                if (fireTime % 4 == 0) {
                }
                mzds.add(new MyZiDan(plane.x + 8, plane.y + 0));
                mzds.add(new MyZiDan(plane.x + 52, plane.y + 0));
            }
            fireTime++;
            // 画战机子弹
            for (int i = 0; i < mzds.size(); i++) {
                MyZiDan myZidan = mzds.get(i);
                myZidan.draw(g);
            }
            // 清理敌机
            for (int i = 0; i < dijis.size(); i++) {
                Diji dj = dijis.get(i);
                if (dj.x < -100) {
                    dijis.remove(i);
                }
            }
            // 抽奖:添加敌机
            dijis.add(new Diji());
    
            // 抽奖:添加血瓶
            if ((int) (Math.random() * 1000) == 5) {
                gifts.add(new Gift());
            }
            for (int i = 0; i < gifts.size(); i++) {
                Gift gift = gifts.get(i);
                gift.draw(g);
            }
            //抽奖:添加power
            if ((int) (Math.random() * 1000) == 5) {
                powers.add(new Power());
            }
            for (int i = 0; i < powers.size(); i++) {
                Power power = powers.get(i);
                power.draw(g);
            }
            // 画敌机
            for (int i = 0; i < dijis.size(); i++) {
                Diji dj = dijis.get(i);
                dj.draw(g);
            }
            // 画飞机
            plane.draw(g);
            // 判断战机相撞
            for (int i = 0; i < dijis.size(); i++) {
                // 先得到每一个敌机
                Diji dj = dijis.get(i);
                Rectangle r1 = dj.getRectangle();
                Rectangle r2 = plane.getRectangle();
                if (r1.intersects(r2)) {
                    dijis.remove(i);
                    plane.lifeCount = plane.lifeCount - 1;
                    if (plane.lifeCount > 0) {
                        flag = false;
                    }
                    if (plane.lifeCount < 1) {
                        PlaneStatus.playStatus = -1;
                    }
                }
                // 判断战机和血瓶相撞
                for (int q = 0; q < gifts.size(); q++) {
                    // 先得到每一个血瓶
                    Gift gift = gifts.get(q);
                    Rectangle rectangle = gift.getRectangle();
                    Rectangle rectangle1 = plane.getRectangle();
                    if (rectangle.intersects(rectangle1)) {
                        gifts.remove(q);
                    }
                    if (plane.lifeCount < 5) {
                    }
    
                    plane.lifeCount = plane.lifeCount + 1;
                    //// 判断战机和Power相撞
                    for (int w = 0; w < powers.size(); w++) {
                        // 先得到每一个power
                        Power power = powers.get(w);
                        Rectangle rectangle2 = power.getRectangle();
                        Rectangle rectangle3 = plane.getRectangle();
                        if (rectangle2.intersects(rectangle3)) {
                            powers.remove(w);
                            flag = true;
                        }
                    }
                    // 判断敌机在中弹
                    for (int e = 0; e < mzds.size(); e++) {
                        // 得到每个战机子弹
                        MyZiDan myzidan = mzds.get(e);
                        Rectangle rectangle2 = myzidan.getRectangle();
                        for (int j = 0; j < dijis.size(); j++) {
                            // 每一个敌机
                            Diji diji = dijis.get(j);
                            Rectangle rectangle3 = diji.getRectangle();
                            if (rectangle2.intersects(rectangle3)) {
                                mzds.remove(i);
                                dijis.remove(j);
                                count++;
                            }
                        }
                    }
                }
            }
    
        }
    
        boolean isFire1 = false;
        boolean isFire2 = false;
    
        public void keyPressed(KeyEvent e) {
            plane.keyPressed(e);
            if (e.getKeyCode() == KeyEvent.VK_J) {
                isFire1 = true;
            } /*if (e.getKeyCode() == KeyEvent.VK_K) { isFire2 = true; }*/
        }
    
        public void keyReleased(KeyEvent e) {
            plane.keyReleased(e);
            if (e.getKeyCode() == KeyEvent.VK_J) {
                isFire1 = false;
                fireTime = 0;
            } /*if (e.getKeyCode() == KeyEvent.VK_K) { isFire2 = false; fireTime = 0; }*/
            if (e.getKeyCode() == KeyEvent.VK_P) {
                for (int i = 0; i < dijis.size(); i++) {
                    dijis.remove(i);
                }
            }
        }
    }
    
    

    over类

    package com.trhsy.cn.util;
    
    import javax.imageio.ImageIO;
    import java.awt.*;
    import java.awt.event.KeyEvent;
    import java.io.IOException;
    
    /**
     * @ClassName Over
     * @Description todo
     * @Author Administrator
     * @Date 2020/3/24 002416:03
     **/
    public class Over {
        Image obg=null;
        Image ng=null;
        public Over() {
            try {
                obg=ImageIO.read(Before.class.getClassLoader().getResourceAsStream("images/obg.jpg"));
                ng=ImageIO.read(Before.class.getClassLoader().getResourceAsStream("images/ng.png")); } catch (IOException e) {
                e.printStackTrace();
            }
        }
        public void draw(Graphics g){
            g.drawImage(obg, 0, 0, null);
            g.drawImage(ng, 120,100, null);
            g.setColor(Color.black);
            g.setFont(new Font("幼圆", Font.BOLD, 40));
            g.drawString("游戏结束啦!",200 ,600 );
        }
        public void keyPressed(KeyEvent e) {
        }
        public void keyReleased(KeyEvent e) {
        }
    }
    
    

    MainFrame主类

    import com.trhsy.cn.plane.Play;
    import com.trhsy.cn.util.Before;
    import com.trhsy.cn.util.Over;
    import com.trhsy.cn.util.PlaneStatus;
    
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.KeyAdapter;
    import java.awt.event.KeyEvent;
    
    /**
     * @ClassName MainFrame
     * @Description todo
     * @Author Administrator
     * @Date 2020/3/24 002416:04
     **/
    public class MainFrame extends JFrame{
        private static final long serialVersionUID = 1L;
        Before before =new Before();
        Play play = new Play();
        Over over = new Over();
        public MainFrame() {
            //设 置标题
            this.setTitle(" 让子弹飞一会~");
            //设置大小
            this.setSize(600, 800);
            //定位居中
            this.setLocationRelativeTo(null);
            //添加关闭操作
            this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            //禁止重置大小z
            this.setResizable(false);
            //添加键盘监听器 KeyListener -->KeyAdapter
            this.addKeyListener(new KeyAdapter() {
                @Override
                public void keyPressed(KeyEvent e) {
                    if(PlaneStatus.playStatus == 0){
                        before.keyPressed(e);
                    }else if(PlaneStatus.playStatus ==1){
                        play.keyPressed(e);
                    }else if(PlaneStatus.playStatus==-1){
                        over.keyPressed(e);
                    }
                }
                @Override
                public void keyReleased(KeyEvent e) {
                    if(PlaneStatus.playStatus == 0){
                        before.keyReleased(e);
                    }else if(PlaneStatus.playStatus ==1){
                        play.keyReleased(e);
                    }else if(PlaneStatus.playStatus==-1){
                        over.keyReleased(e);
                    }
                }
            });
    
            //启 动一个线程:每隔20 毫秒执行一次
            new Thread(){
                public void run(){
                    while(true){
                        MainFrame.this.repaint();
                        try {
                            Thread.sleep(20);
                        } catch (InterruptedException e) {
                            e.printStackTrace();
                        }
                    }
                }
            }.start(); //显示
            this.setVisible(true);
        }
        Image bufferImage =null;
        /**
         * @Author fan
         * @Description //TODO 这个方法也是20毫秒执行一次
         * @Date 16:10 2020/3/24 0024
         * @Param [g]
         * @return void
         **/
        @Override
        public void paint(Graphics g){
            if(bufferImage==null){
                bufferImage = this.createImage(600, 800);
            }
            Graphics g4Image = bufferImage.getGraphics();
            g4Image.setColor(Color.BLACK);
            g4Image.fillRect(0, 0, 600, 800);
            this.draw(g4Image);
            g.drawImage(bufferImage, 0, 0, null);
        }
        public void draw(Graphics g){
            if(PlaneStatus.playStatus == 0){
                before.draw(g);
            }else if(PlaneStatus.playStatus ==1){
                play.draw(g);
            }else if(PlaneStatus.playStatus==-1){
                over.draw(g);
            }
        }
        public static void main(String[] args) {
            new MainFrame();
        }
    
    }
    
    
    

    MyZiDan

    package com.trhsy.cn.bullet;
    
    import java.awt.Graphics;
    import java.awt.Image;
    import java.awt.Rectangle;
    import java.io.IOException;
    import javax.imageio.ImageIO;
    
    public class MyZiDan {
        Image zidanImage = null;
        public int x;
        public int y;
    
        public MyZiDan(int x, int y) {
            this.x = x;
            this.y = y;
            try {
                zidanImage = ImageIO.read(MyZiDan.class.getClassLoader().getResourceAsStream("images/zidan.png"));
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    
        public void draw(Graphics g) {
            // 画我军子弹图片
            g.drawImage(zidanImage, x, y, null);
            // 我的飞机子弹移动速度
            y -= 20;
        }
    
        public Rectangle getRectangle() {
            return new Rectangle(x, y, zidanImage.getWidth(null), zidanImage.getHeight(null));
        }
    }
    

    DijiZiDan

    package com.trhsy.cn.bullet;
    
    import java.awt.Graphics;
    import java.awt.Image;
    import java.awt.Rectangle;
    import java.io.IOException;
    import javax.imageio.ImageIO;
    
    public class DijiZiDan {
        Image zidanImage = null;
        int x;
        int y;
        int fangxiang = 0;
    
        public DijiZiDan(int x, int y) {
            this.x = x;
            this.y = y;
            fangxiang = (int) (Math.random() * 5);//0 ~ 7
            try {
                zidanImage = ImageIO.read(DijiZiDan.class.getClassLoader()
                        .getResourceAsStream("images/dijizidan.jpg"));
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    
        public void draw(Graphics g) {
            //画 敌机子弹图片
            g.drawImage(zidanImage, x, y, null);
            //移动
            this.move();
        }
    
        public void move() {
            if (fangxiang == 0) {
                //下
                y = y + 2;
            } else if (fangxiang == 1) {
                //左
                x = x - 2;
            } else if (fangxiang == 2) {
                //右
                x = x + 2;
            } else if (fangxiang == 3) {
                //左下
                x = x - 2;
                y = y + 2;
            } else if (fangxiang == 4) {
                // 右下
                x = x + 2;
                y = y + 2;
            }
        }
    
        public Rectangle getRectangle() {
            return new Rectangle(x, y, zidanImage.getWidth(null), zidanImage.getHeight(null));
        }
    }
    
    

    Before

    package com.trhsy.cn.util;
    
    import java.awt.Color;
    import java.awt.Font;
    import java.awt.Graphics;
    import java.awt.Image;
    import java.awt.event.KeyEvent;
    import java.io.IOException;
    import javax.imageio.ImageIO;
    
    /**
     * @Author fan
     * @Description //TODO 游戏开始之前加载
     * @Date 16:07 2020/3/24 0024
     * @Param
     * @return
     **/
    public class Before {
        Image bg = null;
        Image wfeiji = null;
        Image kdiji1 = null;
        Image kdiji2 = null;
        Image kdiji3 = null;
    
        public Before() {
            try {
                bg = ImageIO.read(Before.class.getClassLoader().getResourceAsStream("images/bg.jpg"));
                wfeiji = ImageIO.read(Before.class.getClassLoader().getResourceAsStream("images/feiji_1.png"));
                kdiji1 = ImageIO.read(Before.class.getClassLoader().getResourceAsStream("images/kdiji_01.png"));
                kdiji2 = ImageIO.read(Before.class.getClassLoader().getResourceAsStream("images/kdiji_02.png"));
                kdiji3 = ImageIO.read(Before.class.getClassLoader().getResourceAsStream("images/kdiji_03.png"));
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    
        int time = 0;
    
        public void draw(Graphics g) {
            if (PlaneStatus.roleNum == 1) {
                // 画妹妹
                g.drawImage(bg, 0, 0, null);
                g.drawImage(wfeiji, 260, 600, null);
                g.drawImage(kdiji1, 200, 50, null);
                g.drawImage(kdiji1, 400, 50, null);
                g.drawImage(kdiji1, 150, 480, null);
                g.drawImage(kdiji1, 400, 480, null);
                g.drawImage(kdiji2, 100, 200, null);
                g.drawImage(kdiji2, 300, 100, null);
                g.drawImage(kdiji2, 480, 200, null);
                g.drawImage(kdiji3, 300, 300, null);
                g.drawImage(kdiji3, 70, 400, null);
                g.drawImage(kdiji3, 510, 400, null);
                //画回车符
                time++;
                g.setColor(Color.YELLOW);
                g.setFont(new Font("幼圆", Font.BOLD, 30));
    
            }
            if (time <= 10) {
                g.drawString("[Enter]>>", 50, 750);
            } else if (time <= 20) {
                g.drawString("[Enter] >>", 50, 750);
            } else if (time <= 30) {
                g.drawString("[Enter] >>", 50, 750);
                if (time == 30) {
                    time = 0;
                }
            }
        }
    
        public void keyPressed(KeyEvent e) {
            int keyCode = e.getKeyCode();
            if (keyCode == KeyEvent.VK_ENTER) {
    
            }
            if (keyCode == KeyEvent.VK_LEFT || keyCode == KeyEvent.VK_RIGHT) {
                PlaneStatus.roleNum = 3 - PlaneStatus.roleNum;
                //1~2 互换
            }
        }
    
        public void keyReleased(KeyEvent e) {
    
        }
    
    }
    
    

    你的资助就是我最大的动力!
    金额随意,欢迎来赏!

    如果你认为阅读这边博客让您有些收获,不妨点击一下右下角的推荐按钮。
    如果,您希望更容易发现我的新博客,不妨点击一下绿色通道的关注我

    如果,想给予我更多鼓励,求打

    因为,我的写作热情也离不开您的肯定支持,感谢您的阅读,我是【无与伦比的傻】!

    联系或者打赏博主【无与伦比的傻】!

  • 相关阅读:
    opencv图片压缩视频并读取
    python常见模块统计
    MySQL索引及优化
    web开发框架之 Tornado
    Tornado项目基本架构
    python闭包以及装饰器
    python语法糖
    python os模块
    TCP中的3次握手和4次挥手
    Python常见的数据类型方法
  • 原文地址:https://www.cnblogs.com/trhsy/p/14003570.html
Copyright © 2011-2022 走看看