• Processing编程【3】


    carrunning

    Car myCar;
    PFont font;
    
    void setup() {
      size(400, 400);
      myCar = new Car();
      //background(255);
      font = createFont("Courier-Bold", 18);
      textFont(font);
      textAlign(CENTER, CENTER);
    }
    
    void draw() {
      background(255);
      myCar.drive();
      myCar.display();
      myCar.make();
      myCar.model();
    }

    汽车的类:

    class Car {
      color c;
      float x;
      float y;
      float speed;
      void make(){
       text("make:Ford.",width/2,height*4/5);};
      void model(){
       text("model:Kuga.",width/2,height*6/8);};
    
      Car() {
        c = color(0);
        x = width/2;
        y = height/2;
        speed = 2;
      }  
    
      void display() {
        rectMode(CENTER);
        fill(c);
        rect(x, y, 20, 10);
      }
    
      void drive() { 
        x = x + speed;
        if (x > width)
          x = 0;
      }
    } // end of class

    小球弹动

    主函数

    void setup()
    {
      size(500,600);
      b=new ball(80,10,10,(int)random(252));
      b.play();
    }
    void draw(){
      background(0, 0, 255);
      b.play();
    }
    

    小球类

    
    class ball {
      int rad;    // radius
      int x, y;    // center's position of the ball
      int speedx=3; // for horizontal speed
      int speedy=3; // for vertical speed
      color c;    // color of the ball
    
      // constructor for initialization
      ball(int r, int spx, int spy, int co) { 
    
        rad=r;
        x=spx;
        y=spy;
        c=co;
      }
    
      // display a ball with the given x, y and rad, filled with c
      void display() { 
        colorMode(HSB, 360, 255, 100);
        fill(c,255,255);
        noStroke();
        ellipse(x, y, rad*2, rad*2);
      }
    
      // set the new position according to speedx and speedy 
      // and check if a bounce happens
      void moveBall() { 
    
    
        if (y>=height-rad)
        {
          speedx=(int)random(1,4);
          speedy=-3;
        } else if (x>=width-rad) {
          speedx=-3;
          speedy=(int)random(1, 4);
        }
        else if(y<=rad)
        {
        speedy=3;}
        else if(x<=rad)
        {speedx=(int)random(1,4);
      speedy=(int)random(1,4);}
    
        x=x+speedx;
        y=y+speedy;
      }
    
    
      // display a ball and let it move
      void play() { 
        display();
        moveBall();
      }
    }
  • 相关阅读:
    mysql decimal(10,2)对应java类型
    idea maven 配置spring boot dev-tools热部署
    在CentOS 8上安装Java 11(OpenJDK 11)和Java 8(OpenJDK 8)的方法
    关于mybatis-plus中Service和Mapper的分析
    Springboot测试类之@RunWith注解
    Get bit field from buffer as an integer / Set bit field in buffer from an integer
    A generic doubly linked list implementation
    Array helper
    Base64 Encoding/Decoding
    ffmpeg color_table[]
  • 原文地址:https://www.cnblogs.com/hitWTJ/p/9865446.html
Copyright © 2020-2023  润新知