Szukam sposobu na ulatwienie pisania kodu w js

0

W ponizszym kodzie wystepuja zdefiniowane obstacle1, obstacle2...itd. czy jest moze sposob na zapisanie tego wszystkiego krocej? Chodzi o to, zebym przy dodawaniu nastepnych przeszkod nie musial dopisywac do kazdej funkcji tego samego ze zmienionym obstacle1.x na obstacle2.x. (wystepuja one w funkcjach obstacleMove, obstacleDraw i collision)
https://codepen.io/laniewski/pen/yLzZqze

2
var obstacle1=new Object();
obstacle1.x = canvas.width + 1 * canvas.width / 5;
obstacle1.y = canvas.height - 1 * canvas.height / 5;

var obstacle2=new Object();
obstacle2.x = canvas.width + 2 * canvas.width / 5;
obstacle2.y = canvas.height - 2 * canvas.height / 5;

Można zamienić przykładowo na

class Obstacle {
  static count = 0;
  
  constructor(width, height) {   
    Obstacle.count++;

    this.x = width + Obstacle.count * width / 5;
    this.y = height - Obstacle.count * height / 5;
  }
}

const obstacle1 = new Obstacle(canvas.width, canvas.height);
const obstacle2 = new Obstacle(canvas.width, canvas.height);

/*
Tablica w tym wypadku byłaby lepsza, bo miałbyś od razu dostęp do wszystkich elementów ale musiałbyś wprowadzić więcej zmian w kodzie
const obstacles = [
   new Obstacle(canvas.width, canvas.height),
   new Obstacle(canvas.width, canvas.height)
];
*/

EDIT:
Dorzucam jeszcze linki do dokumentacji, żebyś wiedział co robią poszczególne elementy
https://developer.mozilla.org/pl/docs/Web/JavaScript/Reference/Global_Objects/Array
https://developer.mozilla.org/pl/docs/Web/JavaScript/Reference/Classes
https://developer.mozilla.org/pl/docs/Web/JavaScript/Reference/Statements/const

1 użytkowników online, w tym zalogowanych: 0, gości: 1