Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JS] współczynnik punktów
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
Dominator
Cześć,
możecie podpowiedzieć jak napisać takie cudo, które:
im więcej mam pieniędzy tym mniejszy współczynnik ich zdobywania.

Mam sobie coś jak kliker na stronce i cała idea polega na tym, że na początku punkty zdobywa się łatwo, a później jest coraz trudniej.
PrinceOfPersia
- można na ifach, ale będzie to pewnie nieeleganckie, bo nie przewidzisz ile ktoś będzie miał na maksa punktów.
- bardziej eleganckie rozwiązanie byłoby użycie jakiejś funkcji matematycznej. może użyć logarytmu?
np.
[JAVASCRIPT] pobierz, plaintext
  1. var POINTS_CONSTANT = 2; // tu dajesz jakas liczbe
  2. (...)
  3. var factor = Math.log(points + 2);
  4. player.points += factor * POINTS_CONSTANT;
[JAVASCRIPT] pobierz, plaintext

(gdzie factor to twoja zmienna wspolczynnik a points to aktualne punkty, oczywiście. Tam jest `+2` z tego względu, że funkcja Math.log dla zera daje minus nieskończoność, a dla jedynki daje 0, więc chodzi o to, żeby nawet jak masz zero punktów był wynik dodatni (mogło by być pewnie +1.5 )

całość można zaokrąglić:
[JAVASCRIPT] pobierz, plaintext
  1. player.points += Math.floor(factor * POINTS_CONSTANT);
[JAVASCRIPT] pobierz, plaintext


ew. pokombinować z wartościami danymi do Math.log, np. points * 4 + 2, albo odjąć/dodać potem od wyniku jakąś liczbę itp. trzeba by potweakować.

No to tyle, chociaż sprawdź na ile ci to będzie działać (ale i tak pewnie będziesz musiał poeksperymentować), tak na szybko spróbowałem coś wykminić (sam do tej pory na ifach robiłem takie rzeczy, co w sumie nie jest zbyt eleganckie), w każdym razie funkcja logarytmu wygląda zachęcająco:
https://upload.wikimedia.org/wikipedia/comm...h_ticks.svg.png
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.