![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 17.05.2014 Ostrzeżenie: (0%) ![]() ![]() |
Witam, od jakiegoś czasu robię grę ekonomiczną a'la plemiona i napotkałem problem. Nie mam zielonego pojęcia jak zrobić do niej mapę z podglądem na miasta (nie podgląd budynków w mieście). Wymyśliłem że podgląd mapy będzie miał rozmiar 10 miast na 10 miast czyli będzie widać ich jednorazowo maksymalnie 100 więc wpadłem na pomysł aby do każdej poziomej linijki dać pętlę for która sprawdzała by czy na danej pozycji znajduje się miasto czyli rekord w bazie ale niestety nie wiem jak to zrobić.
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 602 Pomógł: 30 Dołączył: 1.08.2007 Skąd: Nowy Sącz Ostrzeżenie: (0%) ![]() ![]() |
Masz 2 wyjścia(zawsze jest ich więcej) lepsze i gorsze i oba w zasadzie są jednakowo proste.
1) Albo tj ty to wymyśliłeś, że dla każdego pola na mapie pobierasz dane osobno w pętli i umieszczasz na mapie ale jest to czasochłonne i procesorzerne. 2) Pobierasz dane z bazy(miasta) które mają określoną pozycję w sposób jak niżej: Załóżmy, że punktem odniesienia jest środek(albo jego okolice). Jeśli przeglądamy mapę od początku to będą widoczne pola X od 0 do 9 włącznie i w osi Y tak samo od 0 do 9. Punkt odniesienia(np który przesuwa się po naciśnięciu strzałek) to będzie dla ww. danych np (X;Y) = (4;4) Teraz obliczamy jakie pola widać: Kod Xmin = X-4 = 0, Xmax = X+5 = 9 Ymin = Y-4 = 0 Ymax = = Y+5 = 9. I teraz pobierasz wszystkie rekordy gdzie: ... Kod WHERE X BETWEN Xmin-1 AND Xmax+1 AND Y BETWEN Ymin-1 AND Ymax+1; później w pętli sprawdzasz pobrane dane i umieszczasz je w tablicy mapy np
A później w pętli rysujesz po jednym wierszu mapy i sprawdzasz czy istnieje w tablicy $mapa rysowane pole i jeśli istnieje to wstawiasz odpowiedni rysunek i jak na niego kliknie to coś tam się dzieje np uruchamia się skrypt ajax który pobierze kod z db o danej wiosce i wyświetli go w okienku albo cuś... |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 17.05.2014 Ostrzeżenie: (0%) ![]() ![]() |
Właśnie zdałem sobie sprawe ile jeszcze muszę się nauczyć. Czy możesz mi to rozpisać troche jaśniej? Dla ciebie może się to wydawać banalne ale dla mnie jest wyższa filozofia.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 602 Pomógł: 30 Dołączył: 1.08.2007 Skąd: Nowy Sącz Ostrzeżenie: (0%) ![]() ![]() |
Mam gdzieś mapę napisaną właśnie w oparicu o plemiona (obrazki widze), znalazłem ją teraz ale nie wiem kiedy została napisana, mam date utworzenia z 2012 ale to napewnie nie wtedy napisałem ją.
Tutaj link do mojego projektu(wyciąłem co uznałem za słuszne ale nie wiem czy wszystko): https://drive.google.com/folderview?id=0Bwb...amp;usp=sharing A tutaj masz multum informacji na twoj problem: http://forum.gammo.pl/search.php?searchid=461219 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 17.05.2014 Ostrzeżenie: (0%) ![]() ![]() |
Coś z tym porobię ale raczje wątpie że coś zrobie bo nie znam js a co do drugiego linka pisze mi "Niestety - brak wyników. Proszę spróbować użyć innych zwrotów". Dam znać za jakiś czas bo żadko siedze ostatni przy kompie.
Przejrzałem tą twoją mapkę i stwierdzam że nie mam zieolnego pojęcia jak ją odpalić a tym bardziej nie wiem jak działa jednym słowem czarna magia. Na tym foum co podałeś link znalazłem mapkę ale nie do końca o to mi chodziło, jest tam kod który dzieli mapę na "wyspy" a ja właśnie zamierzam uniknąć czegoś takiego. Jest progress, postanowiłem jednak użyć tej mapy z forum z tego linka, oświeciło mnie jak siedziałem na kiblu ale niestety znowu wyszły jakieś błędy których nie wiem jak naprawić bo nawet print odmawia posluszeństwa. Błąd jest taki "Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\WebServ\httpd\mapa.php on line 25" a kod natomiast jest taki.
I mam jeszcze pytanie, w 6 linijce mam zmienną $sql która chcę pobrać x i y "mojego" miasta żeby był punktem odniesienia do mapy, później to zamienie na pobieranie informacji z sesji ale nie o to chodzi, jak użyć zmiennej globalnej żebym mógł użyć tej zmiennej do petli w 7 linijce i 13? Zamieniłem 23 linijkę na i działa wyświetlanie miast ale nadal mam problem z tą zmienną globalną i doszedł kolejny problem, nie działa mi zwiększanie zmiennej Xmin z formularzu, kod:
Ten post edytował michal16202 21.05.2014, 22:49:31 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 602 Pomógł: 30 Dołączył: 1.08.2007 Skąd: Nowy Sącz Ostrzeżenie: (0%) ![]() ![]() |
Witam, przejdź na z przekzaywania danych za pomoca $_POST na $_GET bo to w twoim wypadku jest lepsze i prostrze.
na początku zrób tak: i niżej daj
Mniej więcej takie coś. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 17.05.2014 Ostrzeżenie: (0%) ![]() ![]() |
Już brałem pod uwagę $_GET ale nie wiem jak to zrobić dla 4 wartości, 2 dodające dla x i y i 2 odejmujące tak żeby można było jednocześnie dodawać i odejmować wartości przez co mapa będzie się przesówać. Wiesz jak użyć zmiennej $sql w pętli 7 i 13 linijce? Oraz mam jeszcze jedno pytanie jak zrobić żeby pętla for za pierwszym razem wykonała inny niż za każdym kolejnym wykonaniem?
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 594 Pomógł: 122 Dołączył: 17.07.2005 Skąd: P-na Ostrzeżenie: (0%) ![]() ![]() |
Dlaczego się bierzesz za takie rzeczy skoro podstaw nie znasz?
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 17.05.2014 Ostrzeżenie: (0%) ![]() ![]() |
Robię to po to żeby się nauczyć i zrobić coś w życiu z czego będę dumny.
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 602 Pomógł: 30 Dołączył: 1.08.2007 Skąd: Nowy Sącz Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 17.05.2014 Ostrzeżenie: (0%) ![]() ![]() |
Wydaje mi się że ogarniam ale nie mam za bardzo czasu w tej chwili myśleć nad tym, jutro albo po jutrze odpisze czy coś uwskórałem.
@edit Daniel, wziąłem twój kod kilka postów wyżej i nie działa, próbowałem naprawić ale nic to nie dawało. Szukałem na internecie czegoś na wzór tego i też nie działało. Taki error wyświetla "Parse error: syntax error, unexpected '=' in" Przerobiłem co nie co ten kod, pozbyłem się jednego problemu i pojawił się kolejny. Kod wygląda tak:
W tej chwili wygloda tak, http://prntscr.com/3mkyma ale kiedy wartości się zwiększą np do maksimum wszystko się rozjeżdża, http://prntscr.com/3mkz0c. Próbowałem już to zablokować jakimś innym divem, próbowałem zostawić to tak jak było poprzednio ale wtedy tekst nasuwał się na mapę, próbowałem word-spacing i nic.
I jeszcze jedno, gdzy dodaję do pliku
to wszystkie miasta znajdują się w lewym górnym rogu mapy, przetestowałem kilka żeczy i mogę stwierdzić że to coś wyłącza mi pobieranie stylów z pliku php. @edit Udało mi się zrobić bezbłędne wyświetlanie wiosek i współrzędnych, wszystko jest cacy. Pozostały mi tylko trzy problemy, funkcja GET, rozchodzące się górne współżędne i ten przeklęty doctype. @edit Napisałem coś takiego ale nie działa do końca jak chce. Jak klikam button odpowiedzialny za przesuwanie y lub x to działa bez zarzutów ale jak chcę przesunąć x i y to wraca mi do domyślnej wartości x lub y w zależności co piwersze się kliknęło. Czytałem na niecie że trzeba użyć pola hidden ale nie wiem jak.
@edit Znalazłem rozwiązanie do tego get, w każdym buttonie zrobiłem nowe pole hidden i w zależności co button robił, czy zwiększał x czy y, czy zmniejszał dałem odpowiednia zmienną pobierającą x lub y w value i wszystko działa.
Pozostaje jeszcze tylko problem tego doctype i mapa będzie działała bez zarzutu. Ten post edytował michal16202 29.05.2014, 18:27:03 |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 324 Pomógł: 27 Dołączył: 21.07.2013 Ostrzeżenie: (0%) ![]() ![]() |
To wrzuć może jakieś demo jak skończysz, zobaczymy co z tego wyszło (IMG:style_emoticons/default/biggrin.gif)
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 17.05.2014 Ostrzeżenie: (0%) ![]() ![]() |
Demko gry czy mapy? Jeśli demko gry to napewno pojawi się tu jakiś temat ale nie prędko, prace idą powoli a na dodatek nie mam grafika i kasy żeby go połacić ale gra wystartuje.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 5.10.2025 - 08:22 |