Tajemnice Antagarichu | Heroes 1, 2, 3, 4, 5, 6, 7 Forum

Tajemnice Antagarichu | Heroes 1, 2, 3, 4, 5, 6, 7 Forum

Ogłoszenie

Witamy w Królestwie!


#1 2009-08-05 09:07:17

 Cohen

Hetman

Call me!
Zarejestrowany: 2007-11-01
Posty: 422
Miasto: Zamek
Kampania: odrodzenie erathii
Jednostka: Rdzawy smok
Bohater: Sir Murlich
Magia: powietrze
WWW

Kalkulator obrażeń

Planuje wprowadzić na stronie kalkulator obrażeń dla jednostek. Jednak nie mam jeszcze pewnego źródła. Muszę znaleźć jakieś orginalne źródło.
Na razie mam wzór:
DMG=N*BASIC DMG(1+P(ATAK-OBRONA)

DMG -> obrażenia,
N -> liczba jednostek,
BASIC DMG -> podstawowy atak
ATAK -> atak jednostki atakującej
OBRONA -> obrona jednostki atakującej

gdy ATAK>OBRONA, to P=5% (0,05)
gdy ATAK=OBRONA, to P=0%, a wzór DMG = N * BASIC DMG
gdy ATAK<OBRONA, to P=2,5% (0,025)

Jednak nie wiem jakie są wyjątki w tym wzorze, maksymalne redukcje itp. Wzór wzięty z http://heroes3.pl, a ten post nie znam źródła. Więc chwilowo są plany. Jakbym trafił na źródło to postaram się opracować dobry wzór:
* formularz do wysyłania danych,
* skrypt PHP służący do obliczeń,
* dodatkowo funkcje generowania liczb z podanego zakresu, tutaj podstawowe obrażenia.

Źródło prawdopodobnie jest w języku angielskich (może i rosyjskim). Mnie interesuje angielski. Jeśli ktoś ma jakiś pdf czy inny dokument dotyczący obliczeń dotyczących zadawanych obrażeń. Niech wysyła linka na PW.

Nie wykluczam także że jest możliwe zrobienie skryptu na obliczenie ilości pkt. na koniec scenariusza/kampanii (ale także potrzebny wzór wraz z opisem). Najłatwiejszym z tego będzie napisanie skryptu PHP.

Prawdopodobnie wyląduje to na stronie www.heroes3.waw.pl.

Ostatnio edytowany przez Cohen (2009-08-06 08:31:44)

Offline

 

#2 2009-08-05 10:18:24

 Majer

Obywatel

8683191
Skąd: Poznań
Zarejestrowany: 2007-04-24
Posty: 486

Re: Kalkulator obrażeń

Co do drugiego to wzoru z opisem ci nie dam, ale możesz zobaczyć że takie coś już istnieje.
http://www.heroes3.eu/forum/viewtopic.php?t=1000


http://img.userbars.pl/137/27235.png
"Co wypijesz to wypocisz, co cię nie zabije to cię wzmocni"

http://i49.tinypic.com/11m9lyv.png

Offline

 

#3 2009-08-05 11:22:14

 Cohen

Hetman

Call me!
Zarejestrowany: 2007-11-01
Posty: 422
Miasto: Zamek
Kampania: odrodzenie erathii
Jednostka: Rdzawy smok
Bohater: Sir Murlich
Magia: powietrze
WWW

Re: Kalkulator obrażeń

Dzięki za link, ale nie wiele mi to pomoże. To jest tylko formularz html, ale pliku php nie zobaczę (tak już nimi jest, chyba że włamanie ;p, nie to nieetyczne).

Chyba nawet wcześniej ten temat przechodziłem. Ale to nie jest jeszcze to. Chyba sam muszę poszukać.

@do kalkulatora...
Nawet kodowania poprawnie polskich znaków nie chciało mu się robić.... wrzucił byle jak i nie poprawiał (ten kto go zrobił...). A ile to stoi? Chyba długo... Nic tylko widać tylko "kościane smoki" zamiast polskich liter.

Offline

 

#4 2009-08-05 13:18:33

 Majer

Obywatel

8683191
Skąd: Poznań
Zarejestrowany: 2007-04-24
Posty: 486

Re: Kalkulator obrażeń

A co do pierwszego wzoru to kiedyś to testowałem i liczyłem i plus minus się wszystko zgadzało. Fajnie jakbyś w takim kalkulatorze ustawił kilka rzeczy dla ułatwienia czyli to co dany człowiek ma wklepać by mu wyliczyło:

- Jednostka atakująca: i do wyboru wszystkie jed. i liczba
- Jed. broniąca: tak samo do wyboru i liczba
- Staty boha broniącego: Atk,obr lub brak
- Staty boha atakującego atk,obr lub brak
- Czar jednostki atakującej: Do zaznaczenia 1 lub kilka ma np. blessa (maksymalne obrażenia) itp.
- Czar jed. broniącej: tak samo
- Bonus jed. atakującej: morale, szczescie
- Bonus jed. broniącej: morale, szczescie
- Skille boha atakującego: te przydatne w walce płatnerz,łucznictwo itp. i poziom na jakim jest dany skill
- Skille boha broniącego: tak samo
- Spec. boha atakującego: Jak płatnerz to wiadomo że będzie większa obrona itp.
- Spec boha broniącego: tak samo
- lvl boha atakującego: np. Płatnerz na większym lvl boha jest skuteczniejszy
- lvl boha broniącego: tak samo
- Artefakty boha atakującego: np. od lucznictwa itp.
- Artefakty boha broniącego: tak samo
- Specjalne: np. ile heksów pokonał czempion atakujac jednostke (Szarża)

Nie każdy zna staty jednostek na pamięć, a kalkulator sam brałby DMG jed., atk i obr i dodawał do atk,obr boha. Umiejetnosci podstawowe to nie wszystko liczą się też umiejetnosci bohatera i tutaj jest troche zabawy bo wchodzą w to arty, lvl bohatera (nie znam dokładnie % ale na jakimś lvl np. płatnerz się zatrzymuje bo inaczej jed. byłaby nieśmiertelna) i jeżeli mamy płatnerza na exp 30% to 5% na każdy lvl tzn. że na nastepnym lvl płatnerz będzie działał na 30% + 5% = 31,5%, a nie jak niektórzy myślą na 35%. Opcji jest naprawdę masa i z tym miałbyś naprawdę dużo roboty, by wszystko ładnie grało ze sobą. Równie dobrze można zrobić do wyboru dla przeciętnego kowalskiego:

- atk,,liczba, obrażenia jed. atakującej
- obrona jed. broniącej,

I będziemy mieli samo surowe DMG, które jest nawet w Heroes wystarczy w opcjach walki włączyć i najechać na jed. którą chcemy zaatakować i wychodzi nam DMG (100-350) np., więc nie wiem czy jest sens takie coś robić.

Można dodać wytrzymałość jeszcze danych jednostek i kalkulator obliczy nam ile jed. zabijemy i np. ile stracimy po kontrze. Dlatego mówie opcji jest masa ja ci tylko szkicuje jak to może wyglądać.

Ostatnio edytowany przez Majer (2009-08-05 13:18:58)


http://img.userbars.pl/137/27235.png
"Co wypijesz to wypocisz, co cię nie zabije to cię wzmocni"

http://i49.tinypic.com/11m9lyv.png

Offline

 

#5 2009-08-06 11:06:12

 Cohen

Hetman

Call me!
Zarejestrowany: 2007-11-01
Posty: 422
Miasto: Zamek
Kampania: odrodzenie erathii
Jednostka: Rdzawy smok
Bohater: Sir Murlich
Magia: powietrze
WWW

Re: Kalkulator obrażeń

Gdyby co zaczynam pracę nad skryptem. Prawdopodobnie w trakcie dojdzie do konieczności użycia funkcji, może nawet i obiektów.
Wszystko zależy co będzie potrzeba. Im więcej powtarzających się funkcji tym większa pokusa na ulepszenie pracy. Może nawet zrobię zestaw tablic PHP zawierających statystyki jednostek. Tylko zastanawiam się czy tablica zawierająca tablice asocjacyjne wystarczy. 1 tablica asocjacyjna na 1 jednostkę. Byłoby dość wygodnie zrobić mechanizm.

Zalążek mam już:
* generator podstawowych obrażeń gotowy,
* idioto odporność zrobiona, nikt nie prześle javascriptu ;p,
* nacisk na poprawność działania w toku,
* już mi oblicza obrażenia ;p.

Prawdopodobnie będzie to działać w pełni strukturalnie, tzn. ciągły tekst skryptu, chyba że podziele na funkcje (aby oddzielić wygodniej od całości).
Więc ogłaszam wersję beta: Formularz oraz Skrypt.
Najpierw wchodzimy do formularza.

Wszelkie próby wpisania tektu, skryptów kończą się automatyczną konwersją na zero. Teraz w planach komplikowanie kalkulatora. Muszę poczytać jeszcze kilka innych rzeczy. Oraz opracować mechanizm wyboru gotowych postaci oraz całą tą listę funkcji. Wtedy można mówić o funkcjonalnym narzędziu.
Kwestią jest jeszcze odpowiedniego wyglądu (ale ja nie jestem grafikiem, więc ograniczy się tylko do styli CSS, oraz poprawienia wydruku wyniku, może jakiś pop-up i normalnie, do wyboru w formularzu).

Ostatnio edytowany przez Cohen (2009-08-06 11:32:57)

Offline

 

#6 2009-08-06 11:17:02

 Majer

Obywatel

8683191
Skąd: Poznań
Zarejestrowany: 2007-04-24
Posty: 486

Re: Kalkulator obrażeń

Zrobiłem przykładowe:
Ilosc agresorow: 20
Podstawowy atak agresora: 23
Zakres podstawowy: 100-200
Podstawowa obrona obroncy: 100
Ilosc pkt zycia: 150
Ilosc obroncow: 25
Zadawane obrazenia: 3382.5, przy podstawowych obrazeniach: 165
Ilosc jednostek, które przezyly: 2
Ostatnia jednostka z oddzialu ma: 3750

Moim zdaniem powinno dawać DMG (x - y), bo za każdym razem będzie co innego teraz wyliczyło jak akurat obrażenia będą 165. I nie rozumiem ostatniego "Ostatnia jednostka z oddzialu ma: 3750" ??


http://img.userbars.pl/137/27235.png
"Co wypijesz to wypocisz, co cię nie zabije to cię wzmocni"

http://i49.tinypic.com/11m9lyv.png

Offline

 

#7 2009-08-06 14:17:42

 Cohen

Hetman

Call me!
Zarejestrowany: 2007-11-01
Posty: 422
Miasto: Zamek
Kampania: odrodzenie erathii
Jednostka: Rdzawy smok
Bohater: Sir Murlich
Magia: powietrze
WWW

Re: Kalkulator obrażeń

Nie mam jeszcze dobrego serwera PHP, więc nie wiem jak dużo błędów. Jest jeszcze.
Mi też to nie działa. Z pkt życia... no właśnie tutaj sęk. Jest....
Do wzoru to jednak nie masz racji. We wzorze jest BASIC DMG. A to jest zakres... np.: 25-50.
To więc mamy kilkadziesiąt możliwości od 25 do 50, z 25 i 50 włącznie. Wykorzystałem do tego celu funkcję mt_rand(x,y).

A obrażenia zadawane zależą od współczynnika P oraz BASIC DMG, a także ilości jednostek.
Coś duży wziołeś zakres... Niedługo temu zaradzę wprowadzając gotowe jednostki i statystyki bohatera.

Offline

 

#8 2009-08-06 14:55:22

 Majer

Obywatel

8683191
Skąd: Poznań
Zarejestrowany: 2007-04-24
Posty: 486

Re: Kalkulator obrażeń

Rozumiem że jak basic DMG to 10 - 15 to Heroes losuje z tych liczb jakie DMG zada jednostka atakująca, nie licząc czarów, morali itp., ale mi chodziło o to żeby właśnie kalkulator nie losował tylko podawał dokładnie czyli np.

Zadawane obrazenia: (100 - 150) i niepotrzebne jest przy obrażeniach np. 122.
Ilość jed. które przezyly: (2 - 4)


http://img.userbars.pl/137/27235.png
"Co wypijesz to wypocisz, co cię nie zabije to cię wzmocni"

http://i49.tinypic.com/11m9lyv.png

Offline

 

#9 2009-08-06 15:36:36

 Cohen

Hetman

Call me!
Zarejestrowany: 2007-11-01
Posty: 422
Miasto: Zamek
Kampania: odrodzenie erathii
Jednostka: Rdzawy smok
Bohater: Sir Murlich
Magia: powietrze
WWW

Re: Kalkulator obrażeń

Rozumiem o co ci chodzi. Hmm, może dodam opcję jak ma to obliczać i będzie git, czy losowo, czy minimalne i maksymalne obrażenia.
Zastanawiam się jeszcze jak dodać do tego wpływ czarów i umiejętności bohatera.

Tablica asocjacyjna gotowa:
tabela asocjacyjna

Na podstawie tego napiszę skrypt php (to jest wydruk print_r). Więc nie ma sensu kopiować ;p.

Chwilowo tylko tak skrobię ten kod. Bo mój komputer z wszystkimi programami nie ma internetu i mam dostęp do internetu bardzo różny. Na wielu komputerach: a wszędzie nie będę instalował edytora do php oraz Krasnala 2.7.

Ostatnio edytowany przez Cohen (2009-08-06 15:39:30)

Offline

 

#10 2009-09-02 18:50:15

sk0rp

Obywatel

Zarejestrowany: 2009-09-02
Posty: 4

Re: Kalkulator obrażeń

nie lepiej napisac to w js?
nie potrzebujesz specjalnie serwera no i nie trzeba przeladowywac strony

co do ilosci obrazen, lepiej by bylo moc recznie wybrac z dostepnych (input select) - czyli wartosci pomiedzy min - max

jesli nie znasz za dobrze js, wrzucam to co naskrobalem w pare min
na tej podstawie reszta powinna byc prostsza

Kod:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<meta name="language" content="pl" />
  <title>Kalkulator Obrażeń - HOMM3</title>

  <script>
    function calc() {
      // pobieramy dane i obiekt wynikow
      var aattack = document.getElementById('aattack').value;
      var aamount = document.getElementById('aamount').value;
      var abase = document.getElementById('abase').value;
      var ddefense = document.getElementById('ddefense').value;
      var damount = document.getElementById('damount').value;
      var dhp = document.getElementById('dhp').value;
      var oResult = document.getElementById('result');
      
      // obliczamy parametr
      var param = 0;
      if (aattack > ddefense) {
        param = 0.05;
      } else if (aattack < ddefense) {
        param = 0.025;
      }
      
      // obliczamy wynik i go prezentujemy
      var iResult = aamount * abase * (1 + param * (aattack - ddefense));
      oResult.innerHTML = 'obrażenia: ' + iResult;
    }
  </script>
</head>

<body>

<form onsubmit="calc(); return false;">
  <h4>Agresor</h4>
  <div>
    <label for="aattack">Atak: </label>
    <input type="text" name="aattack" id="aattack" />
  </div>
  <div>
    <label for="aamount">Ilość: </label>
    <input type="text" name="aamount" id="aamount" />
  </div>
  <div>
    <label for="abase">Podstawa ataku: </label>
    <input type="text" name="abase" id="abase" />
  </div>
  
  <h4>Obrońca</h4>
  <div>
    <label for="ddefense">Obrona: </label>
    <input type="text" name="ddefense" id="ddefense" />
  </div>
  <div>
    <label for="damount">Ilość: </label>
    <input type="text" name="damount" id="damount" />
  </div>
  <div>
    <label for="dhp">Punkty życia: </label>
    <input type="text" name="dhp" id="dhp" />
  </div>
  
  <div>
    <input type="submit" value="Oblicz" />
  </div>
  
</form>

<div id="result"></div>

</body>
</html>

Ostatnio edytowany przez sk0rp (2009-09-02 19:44:53)

Offline

 

Stopka forum

RSS
Powered by PunBB
© Copyright 2002–2008 PunBB
Polityka cookies - Wersja Lo-Fi


Darmowe Forum | Ciekawe Fora | Darmowe Fora
https://dominikasurma.pl/ mapas stronas archiwizacja