login  Naam:   Wachtwoord: 
Registreer je!
 Forum

wereldkaart maken (Opgelost)

Offline Valkyr - 22/06/2009 00:40
Avatar van ValkyrNieuw lid Beste,

Ik wil (als test nog een kleine) wereldmap maken voor een online spelletje. Ik wil met een x-as en y-as gaan werken. Het moet 10 hoog en 10 breed worden (10 bij 10 dus doh).

Hoe kan ik nu een query maken die de hokjes goed indeeld???
Dus bijvoorbeeld

[X0-Y0] [X1-Y0] [X2-Y0] [X3-Y0] [X4-Y0]
[X0-Y1] [X1-Y1] [X2-Y1] [X3-Y1] [X4-Y1]
[X0-Y2] [X1-Y2] [X2-Y2] [X3-Y2] [X4-Y2]

en zo doende zeg maar. Ik werk in mijn query met de velden:

id, x-coord, y-coord, owner_id, type

de `id` is een auto increment INT veld uiteraard.
de x en y coord spreken voor zichzelf, owner_id blijft (nog) leeg en in
type komt een random getal tussen de 1 en 10 welke het soort veld bepaald (het plaatje dat gebruikt word dus bijvoorbeeld bomen, gras, water of bergen).

Ik hoop dat iemand mij kan uitleggen incl. voorbeeldje hoe ik dit kan doen. Een dubbele for query is mij verteld, maar ik heb geen idee hoe dit te doen.

Groetjes

4 antwoorden

Gesponsorde links
Offline ArieMedia - 22/06/2009 08:53
Avatar van ArieMedia Gouden medaille

PHP ver gevorderde
Ik neem aan dat je niet de hele kaart wil laten zien. Maar als je zelf logisch denkt en je bijvoorbeeld de eerste omliggende wil laten zien van Bijv X2, Y1.

[X0-Y0] [X1-Y0] [X2-Y0] [X3-Y0] [X4-Y0]
[X0-Y1] [X1-Y1] [X2-Y1] [X3-Y1] [X4-Y1]
[X0-Y2] [X1-Y2] [X2-Y2] [X3-Y2] [X4-Y2]

Sla de x en y op welke je bezoekt.

  1. $x_now = 2;
  2. $x_min = $x_now - 1;
  3. $x_max = $x_now + 1;
  4.  
  5. // Zelfde met de y doen


Dan heb je dus al het mooie vierkantje en hier een query op bouwen. (Helaas moet ik nu echt aan het werk dus kan hem niet afmaken zo 1,2,3)
Offline Valkyr - 22/06/2009 15:43
Avatar van Valkyr Nieuw lid Ik bedoelde eigenlijk een MYSQL Query (sorry dat ik dit in voorgaande post niet goed aan gaf).

Ik wil dus 10 bij 10 velden in mijn database maken.

INSERT INTO `wereldkaart` (`coord-x`, `coord-y`, `owner_id`) VALUES (bla bla bla)

Zoiets zeg maar, maar dan moet hij dus wel de juiste vakjes aan maken zoals in jouw voorbeeld dus:

[X0-Y0] [X1-Y0] [X2-Y0] [X3-Y0] [X4-Y0]
[X0-Y1] [X1-Y1] [X2-Y1] [X3-Y1] [X4-Y1]
[X0-Y2] [X1-Y2] [X2-Y2] [X3-Y2] [X4-Y2]

en 10x10 = 100 dus moet hij dit doen tot hij 100 vakjes heeft
van 10 bij 10 breed en hoog.

Dat was eigenlijk mijn vraag ;)
Offline Joost - 22/06/2009 15:54
Avatar van Joost PHP expert Een for loop IN een for loop inderdaad, zoals je zelf al aangaf.
  1. for($x = 0; $x <= 10; $x++){
  2. for($y = 0; $y <= 10; $y++){
  3. mysql_query(" ..... "); // hier heb je $x en $y tot je beschikking
  4. }
  5. }
Offline Valkyr - 22/06/2009 18:18
Avatar van Valkyr Nieuw lid prima, het is me nu gelukt.

Ik heb alles prima gegenereerd incl. het type (wat voor soort grond, dus bos, water, gras, bergen enzovoort) en de hele waslijst.

Hartelijk dank voor de hulp, we gaan nu verder ;)
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.189s