# 【Processing】Shooting Star 3

**URL:** <https://discourse.processing.org/t/processing-shooting-star-3/26710>\
**Category:** Project Guidance\
**Tags:** homework\
**Created:** [January 3, 2021, 2:19am UTC](https://discourse.processing.org/t/processing-shooting-star-3/26710 "2021-01-03T02:19:27Z")\
**Posts on this page:** 1\
**Showing post:** 5

<div class="post-metadata">

**Author:** ![CodeMasterX](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/codemasterx/32/2942_2.png) [@CodeMasterX](https://discourse.processing.org/u/CodeMasterX)\
**Post date:** [January 3, 2021, 1:40pm UTC](https://discourse.processing.org/t/processing-shooting-star-3/26710/5 "2021-01-03T13:40:41Z")

</div>

> [@Rafael1004](#):
>
> Can you write me a code pls 🙂

I did right now. It is hidden and blured so if you don’t want to see it anymore just don’t click. Btw I just made it so I didn’t add colors

> **Code**
>
> ```auto
> ArrayList<star> stars = new ArrayList<star>();
> ArrayList<particle> particles = new ArrayList<particle>();
> float globalG = 0.1;
> void setup() {
> size(600,600);
> }
> void draw() {
> background(0);
> for(int i = 0; i < stars.size(); i++) {
> stars.get(i).move();
> stars.get(i).display();
> //checking for stars to delete
> if(stars.get(i).x > width*1.5 || stars.get(i).y > height*1.5) {
> stars.remove(i);
> }
> }
> for(int i = 0; i < particles.size(); i++) {
> particles.get(i).move();
> particles.get(i).display();
> //deleting particels
> if(particles.get(i).age > particles.get(i).maxAge) {
> particles.remove(i);
> }
> }
> if(random(100) > 95) {
> addStar(random(width),random(height),random(3,5),random(3,5));
> }
> }
> void mousePressed() {
> addStar(mouseX,mouseY,5,5);
> }
> void addStar(float x, float y, float xs, float ys) {
> stars.add(new star(x,y,xs,ys));
> }
> 
> class star {
> float xs,ys, x,y, r = 10;
> star(float x_, float y_, float xs_, float ys_) {
> x = x_;
> y = y_;
> xs = xs_;
> ys = ys_;
> }
> void display() {
> circle(x,y,r*2);
> }
> void move() {
> x += xs;
> y += ys;
> float rep = random(2,10);
> for(int i = 0; i < rep; i++) {
> float dir = random(TWO_PI);
> addParticle(x,y,cos(dir)*2,sin(dir)*2,0,20);
> }
> }
> }
> class particle {
> float x,y,xs,ys,age,maxAge;
> int id;
> particle(float x_, float y_, float xs_, float ys_, int startAge_, int maxAge_) {
> x = x_;
> y = y_;
> xs = xs_;
> ys = ys_;
> age = startAge_;
> maxAge = maxAge_;
> }
> void display() {
> circle(x,y,5);
> }
> void move() {
> ys+=globalG;
> x += xs;
> y += ys;
> age++;
> }
> }
> void addParticle(float x, float y, float xs, float ys, int startAge, int maxAge) {
> particles.add(new particle(x,y,xs,ys,startAge,maxAge));
> }
> 
> ```

It isn’t asthetic yet since that wasn’t my priority

EDIT: I made it with colors and looks really good! Check out my megathread to see it.

> [@My projects library! - CodeMasterX's gallery megathread](https://discourse.processing.org/t/my-projects-library-codemasterxs-gallery-megathread/26301/20):
>
> #13 Meteor shower Java mode 
> 
> > **Code**
> >
> > ArrayList\<star\> stars = new ArrayList\<star\>(); ArrayList\<particle\> particles = new ArrayList\<particle\>(); float globalG = 0.1, colorOffset = 50, minStarSpeed = 2, maxStarSpeed = 6, minParticleSpeed = 2, maxParticleSpeed = 3, starSize = 8; void setup() { fullScreen(); //size(600,600); colorMode(HSB); } void draw() { background(0); for(int i = 0; i \< stars.size(); i++) { stars.get(i).move(); stars.get(i).displa…

 ![image](https://canada1.discourse-cdn.com/flex036/uploads/processingfoundation1/original/2X/8/8be26ee37931ea7765dd56f3bc3189b39a9d1946.png)

---

_[View the full topic](https://discourse.processing.org/t/processing-shooting-star-3/26710)._
