Wpis z mikrobloga

[ #naukaprogramowania #webdevhelp ]

W ramach nauki ES6 piszę prostego idle clickera.

W metodzie storeCoins w klasie Coins chcę przechowywać TYLKO liczbę coinsów, które będą dodawane przy kliknięciu w button (metoda addCoin) i rzeczy które będą w sklepie (patrz przykładowa metoda w klasie Shop) - over time, w pętli, ale to już sobie jakoś napiszę później sam to co jest w klasie Shop jest na razie tylko szkicem, żeby sprawdzić czy wszystko działa.

1. No i nie wiem jak mogę zwrócić liczbę coinsów, tak, żeby ta wartość była dostępna w innych klasach i modułach. Tj, żebym mógł to wykorzystywać np. w sklepie przy zakupie kolejnych workerów. Próbowałem zrobić getter "get storeCoins(){}", ale działa tylko wtedy kiedy nie przekazuje żadnego parametru, takie coś się sypie:

get storeCoins(param){
this.param = param;

let obj = { s:[] };

obj.s.push(param);

///kod///

return obj;
}

2. Ten mój pomysł zliczania coinsów też będzie nie do końca dobry, będę również wdzięczny za pomoc w rozwiązaniu tego problemu. Bo na tę chwilę kiedy dodaje coinsy tylko poprzez click to działa. Później kiedy np workerzy będą dawać 3 coinsy na sekundę to chyba nie zadziała jak będzie wywoływana metoda coins.storeCoins(param) w kilku miejscach jednocześnie, żeby wpuszować przychodzące wartości do obiektu, żeby zwracać na bieżąco liczbę coinsów.

kod

Z góry dziękuję za pomoc i wytknięcie błędów.
  • 6
@rbielawski: do tego już doszedłem ;)

@sokytsinolop: no tak, niby mógłbym tak zrobić z tymi workerami, nie przekazuje żadnych argumentów, więc mógłbym zrobić bez problemu getter który zwracałby liczbę kupionych workerów i w klasie głównej game pyknąć

let wzornacoinsy = liczbaworkerow*3;

setInterval( () => {

coins.storeCoins(wzornacoinsy);

}, 1000);

z tym nie miałbym problemu, ale nadal nie wiem jak rozwiązać problem z przechowywaniem coinsów w puli - w zmiennej/obiekcie, który mógłbym