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

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

  • Nie jesteś zalogowany.
  • Polecamy: Moda

Ogłoszenie

Witamy w Królestwie!


#11 2009-09-03 08:14:10

 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ń

Może i byłoby lepiej. Ale javascript według mnie jest strasznie nieczytelny. W PHP mam kilka takich elementów składni, które pomagają naprawdę pisać (prawie) wszystko. Jednak narazie nie mam czasu na zajęcie się kalkulatorem, ale projekt ten jest dalej aktualny.

Do javascriptów nie mam też przekonania, gdyż wykonują się po stronie przeglądarki klienta. Nie lubię polegać na tym, że każdy ma nowoczesną przeglądarkę i nie wyłącza JavaScriptów. Tacy też się trafiają. A co z odwiedzającymi z Lynx?

Javascripty mają taką cudowną właściwość, że trudno się na nich pracuje.

A jeszcze też jest aspekt praktyczny. Zawsze ktoś może mi ukraść kod źródłowy bez żadnych włamań. Tylko chodząc po linkach i patrząc kod źródłowy. Jakby JavaScript nie był jawny może bym tak zrobił. Nie lubię jak ktoś mnie okrada z JS. Dlatego stosuje go tylko w wersji basic. Tylko podstawowe elementy.

Dlatego utworzyłem tablicę asocjacyjną zawierającą te informacje. PHP kod będzie się nimi posługiwał do poprawnej pracy. Potrzebny tylko formularz HTML i odpowiedni kod PHP odbierający dane oraz je używający.

Jednak już teraz nie pamiętam struktury kodu PHP, dlatego musze go poważnie przeanalizować. Minęło już okolo 3 tygodni od pierwszych prac. Ale szkoda jakby to poszło na marne. Dlatego projekt przechodzi w stan uśpienia. Wydrukuje go i przeanalizuje. Napiszę kod PHP i zobaczymy czy będzie działać poprawnie.

Ostatnio edytowany przez Cohen (2009-09-03 08:16:57)

Offline

 

#12 2009-09-03 17:01:12

sk0rp

Obywatel

Zarejestrowany: 2009-09-02
Posty: 4

Re: Kalkulator obrażeń

Do javascriptów nie mam też przekonania, gdyż wykonują się po stronie przeglądarki klienta.

Kalkulator obrazen nie jest raczej aplikacja w ktorej mialoby znaczenie czy mozesz ufac klientowi. Klient odpala ja jedynie z mysla o sprawdzeniu danych dla siebie. Walidacja jest tutaj nie potrzebna, moze byc jedynie pomocna dla samego uzytkownika (takie dodatkowe ulatwienie) - nie ma tu bowiem mowy o modyfikacji jakiejs bazy danych

Nie lubię polegać na tym, że każdy ma nowoczesną przeglądarkę i nie wyłącza JavaScriptów. Tacy też się trafiają. A co z odwiedzającymi z Lynx?

To stwierdzenie moze mialoby znaczenie, ale jakies 10 lat temu. Obecnie nawet w mojej komorce mam przegladarke swietnie obslugujaca duzo bardziej zaawansowane skrypty . Ciezko tez namierzyc osoby wylaczajace javascript. Jesli juz ktos to robi to jest swiadomym i zaawansowanym uzytkownikiem i spokojnie sobie z takim fantem poradzi .

Javascripty mają taką cudowną właściwość, że trudno się na nich pracuje.

Javascript jest trudniejszy w nauce niz podstawy php, tu sie zgodze. Jednak jesli myslisz o programowaniu w php na powaznie, lub nawet dla samej zabawy, wczesniej czy pozniej zetkniesz sie z koniecznoscia pisania i w javascripcie

A jeszcze też jest aspekt praktyczny. Zawsze ktoś może mi ukraść kod źródłowy bez żadnych włamań. Tylko chodząc po linkach i patrząc kod źródłowy. Jakby JavaScript nie był jawny może bym tak zrobił. Nie lubię jak ktoś mnie okrada z JS. Dlatego stosuje go tylko w wersji basic. Tylko podstawowe elementy.

Sprobuj tego: http://dean.edwards.name/packer/


Powodzenia w rozwijaniu projektu.
Jakbys jednak sie zdecydowal na js, to sluze pomoca
3871108

Offline

 

#13 2009-09-04 12:04:39

 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ń

Zaciemnianie kodu. To jedyna technika ochrony. Hmm, base64. Może kiedyś popiszę w JavaScript. Narazie nie mam przekonania do niego. PHP jest stosunkowo młodym tworem ;p. I ma obsługę XML, PDF, generowanie grafiki i flashu? JavaScript ma takie?

Nie, obsługę XML ma, ale tylko działa ta technika pod Internet Explorer (wykorzystuje Active-X). Nie lubię tworzyć zamkniętych kodów. XML lepiej czyta się z pomocą klasy PHP - XML Simple. Ale JS najlepiej nadaje się do wizualnych galerii zdjęć, obsługi formularzy.
Poza tym nie zapominajmy że Java Script najlepiej działa tylko z kilkoma przeglądarkami, receptą na działanie jest pisanie pętli testujących przeglądarke i dającą odpowiedni kod. Głupie.
W PHP mamy wykonywane operacje po stronie serwera, tu nie ma wersji przeglądarek. Tylko wersje PHP obsługiwane przez serwer.

Tutaj już mam gotowy plik z danymi do kalkulatora. Urywek kodu PHP:

<?
$array[1] = array('Nazwa'=>'Pikier','Atak'=>4,'Obrona'=>'5','Min'=>1,'Max'=>3,'Zycie'=>10);
?>

Tak wygląda element tablicy asocjacyjnej której elementy są argumentem innej tablicy. W tablicy jest 141 elementów. Dostęp do takiej jest bardzo prosty:

<?
echo $array[1]['Nazwa']; // wyświetli Pikier
?>

Zaś to można wykorzystać tak, na przykład tworząc dwa pliki php (jeden gotowy). Plik przetwarzający dane który przekierunkowuje na początkowy adres formularza i pod nim zwraca rezultat funkcji.
Zaś dane można przekazywać za pomocą POST formularza. W którym mamy tylko kilka opcji:
Pole wyboru jednostki broniącej się oraz atakującej, oraz dwa pola na wpisanie liczby jednostek.

Samo zrobienie ładowania statystyk jednostki można zrobić za pomocą elementu SELECT formularza. Tutaj będzie musiał napisać formularz z bardzo dużą liczbą podpunktów (tyle ile jednostek), podskrypt warunkujący wartość argumentu który będzie oznaczał później indeks w tablicy zawierającej tablice asocjacyjne:

<?php
$array[$nr_indeksu]['element_tablicy_asocjacyjnej'];
?>

Który zaś będzie warunkowany przy użyciu pętli switch i w case będzie przeprowadzana cała operacja $nr_indeksu=1 dla Pikiera etc a następnie wyjście z dalszego przetwarzania pętli switch (ma być tylko jedna operacja). Skrypt będzie długi. Nie ma lepszej możliwości.

Kiedy już będzie przyjęty nr indeksu w naszym fragmencie skryptu:

$array[$nr_indeksu]['element_tablicy_asocjacyjnej'];

Zamiast napisu: element_tablicy_asocjacyjnej, będzie jeden z listy: Nazwa, Atak, Obrona, Min, Max, Zycie. Co dla każdego potrzebnego zrobię następną zmienną.
Dla obrońcy liczy się Nazwa, Obrona, Zycie.
Dla napastnika: Nazwa, Atak, Min, Max.

Podsumując. Trochę mętnie to napisałem.
* 1 plik będzie z formularzem wyboru jednostek i ich liczby.
* 2 plik tablica asocjacyjna zawierająca ilości jednostek.
* 3 plik będzie przejściowy: będzie to potwierdzenie statystyk jednostek (nie będzie potrzebne jeśli będzie wszystko działać poprawnie).
* 4 plik będzie zaś głównym plikiem funkcyjnym: będą tutaj obliczone obrażenia Min i Max albo random (wylosowane),
* na koniec obliczeń zostanie przekierunkowanie na 1 plik, gdzie pod formularzem wyświetli wyniki, albo w 4 pliku gdzie też będzie link do strony z formularzem.
Jednak de facto mam mieć 3 pliki, z czego jeden gotowy z informacjami na temat jednostek i ich statystyk.

Trochę mi się z tym zejdzie. W wersji bez udziału bohatera oraz dodatkowych warunków. C++ i PHP mają bardzo podobną składnię, dla mnie jest ona bardzo czytelna i przyjemna, mówię o PHP 5.xx.
Odnośnie Java Script mogę się mylić, można się ze mną o tym kłucić, ale po prostu to język już stary wywodzi sie z Javy, to okrojona wersja Javy. Java Script daje tylko okrojone możliwości. A sposoby dojść do elementów (wykazujące cechy programowania obiektowego) trochę irytujące.
Nie da się w nim skutecznie programować gdy się nie operuje na obiektach. W PHP da się. Choć też są tam rozbudowane moduły do pracy z obiektami. Ale tutaj może być tylko albo aż dodatkiem. W PHP mam swobodę.
Na razie nie czuje głębokiej potrzeby zaciemniania wszystkiego w programowanie obiektowe, tak jak jest w Java Scripcie.

@@
Dziś zajmę się pisaniem formularza i przetwarzaniem informacji (1 plik ukończyć zamierzam, a 3 zacząć).

Ostatnio edytowany przez Cohen (2009-09-04 12:17:09)

Offline

 

#14 2009-09-04 13:04:26

sk0rp

Obywatel

Zarejestrowany: 2009-09-02
Posty: 4

Re: Kalkulator obrażeń

Zaciemnianie kodu. To jedyna technika ochrony. Hmm, base64. Może kiedyś popiszę w JavaScript. Narazie nie mam przekonania do niego. PHP jest stosunkowo młodym tworem ;p. I ma obsługę XML, PDF, generowanie grafiki i flashu? JavaScript ma takie?

Do czego Ci potrzebne XML, PDF, generowanie grafiki i flash w kalkulatorze obrazen? Rozwiazania dobiera sie do potrzeb.

Nie, obsługę XML ma, ale tylko działa ta technika pod Internet Explorer (wykorzystuje Active-X). Nie lubię tworzyć zamkniętych kodów. XML lepiej czyta się z pomocą klasy PHP - XML Simple. Ale JS najlepiej nadaje się do wizualnych galerii zdjęć, obsługi formularzy.

Obsluga xml z tego co sie orientuje w javascripcie jak najbardziej jest i bynajmniej nie jest zwiazany z koniecznoscia odwolywania sie do active-x
Wpisz w google "javascript xml". Ja co prawda nigdy nie musialem z tego korzystac - sa prostsze sposoby przekazywania danych do javascriptu i bardziej wydajne.
Ale ponownie, po co Ci tutaj xml, z tego co zauwazylem zdecydowales sie na tablice asocjacyjna . Dokladnie to samo mozesz zrobic w js (tutaj zastepuja je wdziecznie obiekty). Gdy uzyjesz notacji zwiezlej, przy pomocy nawiasow, nawet specjalnie roznicy nie zauwazysz

Poza tym nie zapominajmy że Java Script najlepiej działa tylko z kilkoma przeglądarkami, receptą na działanie jest pisanie pętli testujących przeglądarke i dającą odpowiedni kod. Głupie.
W PHP mamy wykonywane operacje po stronie serwera, tu nie ma wersji przeglądarek. Tylko wersje PHP obsługiwane przez serwer.

Troche pisalem w js i z tego co wiem, raczej sie juz nie korzysta z przegladarek go nie obslugujacych. Wspomniany przez Ciebie lynx, bez js, odszedl juz do lamusa
Zreszta, ponownie, wez pod uwage target. Kto bedzie uzywac twojego kalkulatora? Ktos kto ma na pokladzie tylko lynxa? Watpie

Odnośnie Java Script mogę się mylić, można się ze mną o tym kłucić, ale po prostu to język już stary wywodzi sie z Javy, to okrojona wersja Javy. Java Script daje tylko okrojone możliwości. A sposoby dojść do elementów (wykazujące cechy programowania obiektowego) trochę irytujące.

Javascript nie wywodzi sie o dziwo z Javy. Nazwa to byl czysty chwyt marketingowy Jedyne co miala wspolnego z java, to to, ze pozwala na prosta z nia komunikacje. Mozna bylo odwolywac sie bezposrednio do metod obiektow javowych.
Mozliwosci i ograniczenia kazdy jezyk ma inne. Wazne jest przy projektowaniu aplikacji to by wybrac ten jezyk ktory ma akurat te mozliwosci na ktorych nam zalezy przy zalozonej funkcjonalnosci
W tym wypadku js wydaje mi sie rozwiazaniem idealnym. Skrypt jest stosunkowo prosty, opiera sie na formularzach i powinien dzialac szybko.

Offline

 

#15 2009-09-04 14:46: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ń

Hmm, wszystkie skrypty są dość proste o ile się poświęci na nie X czasu. PHP i JS mają pewne zbieżności, ale to PHP ma ciekawsze narzędzia. Takie jak zmienne zmienne.
Czy są zmienne zmienne w JS?? Bo jest to ceniony przeze mnie mechanizm.

Następny mechanizm: zmienne statyczne, które jak pewnie sie domyślasz przechowują wartość, nawet po wywołaniu funkcji. Takim mechanizmem zrobiłem za pomocą 3 funkcji - tabelę prezentującą informacje o grze Heroes 3. Po drobnych zmianach jestem wykorzystać ten PHP raczej wszędzie. Opis funkcji:
* tabini() generuje znacznik <table>,
* tabzaw(lista argumentow) generuje wiersz tabeli z odpowiednią zawartością, tutaj występują zmienne globalne i statyczne, wszystko napisane w tzw. programowaniu strukturalnym,
* tabend() zamyka tabelę </table>.

A kod źródłowy w postaci HTML byłby trudny do napisania bez błędów. I zająłby ponad 2h więcej. Mam tutaj generowanie tabel, znaczników i innych konstrukcji PHP.
PHP to język świetny. Ale niedługo spróbuje alternatyw (jednak tylko offline - potrzebne serwery dedykowane). Wracając do JS: czy potrafi ono tworzyć zmienne zmiennych ?

Offline

 

#16 2009-09-04 17:20:53

sk0rp

Obywatel

Zarejestrowany: 2009-09-02
Posty: 4

Re: Kalkulator obrażeń

Zacznijmy od tego, ze PHP i JS to zupelnie inne jezyki, kazdy z nich sluzy do czego innego, wiec bez sensu to nawet porownywac Jedyne co je laczy to to, ze oba sa skryptowe oraz ze sa uzywane glownie dla stron www.

"zmienne zmiennych" masz pewnie na mysli dynamiczne odwolywanie sie do zmiennych, tak? W js do tego sluzy funkcja eval(), ktora podobnie jak ta z php, wykonuje kod zapisany jako ciag znakow.

Takie wykonywanie kodu, czy zmienne postaci $$zmienna w php wykorzystywalem moze 2 razy Poprostu zazwyczaj nie ma potrzeby na cos takiego. Co innego dynamiczne modyfikowanie definicji klasy (refleksje). Co ciekawe, obie te rzeczy sa bardzo czesto wykorzystywane w js, o wiele czesniej niz w php.

Nadal jednak nie widze zwiazku tych funkcjonalnosci z kalkulatorem obrazen

Offline

 

Stopka forum

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


Darmowe Forum | Ciekawe Fora | Darmowe Fora
przegrywanie kaset vhs łódz spa Ciechocinek pakiety komornik radzionków