praegune kellaaeg 20.06.2025 00:29:22
|
Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
|
autor |
|
jnt
HV Guru

liitunud: 10.05.2005
|
03.07.2008 21:38:24
Lihtsaim viis kuvada graafilist kaarti (PHP, MySQL) |
|
|
Ommik! Nimelt oma online mängu tehes komistasin sellise tobeda asja otsa, et ei oska välja mõelda kõige lihtsamat varianti kuvada kaarti. Mängu kaart asub mysql'i ühes tabelis järgnevalt:
id - ruumi unikaalne id
image - ruumi pilt (kaardi tükk siis)
x - x kordinaat (kaardi kuvamiseks)
y - y kordinaat (kaardi kuvamiseks)
north - põhja poole liikudes järgmise ruumi id
south - analoogne eelnevaga
east - -||-
west - -||-
x ja y on siis selleks, et kaarti "renderdada" aga liikumine toimub viimase nelja lahtri põhjal, mis kokkuvõttes tekitab vajadusel teleportide võimaluse. Kuid küsimus ple tegelt selles. Nimelt oleks vaja tekitada sellise struktuuriga kaardist üks 5x5 kaart, mille keskkoht on antud keskmise ruumi id'na. Ma olen vaid suutnud hetkel kilplaslikult teha 25 mysql query't ja siis kuvada ükshaaval tabelis neid pilte.
Ka kuvamine on väike probleem. Nimelt peaks kaardil näha olema ka teised tegelased. teised tegelased on eraldi tabelis ja nende asukoht on antud ruumi id kaudu.
Ehk keegi oskab veidi nõu anda, kuidas sellist asja lahendada. Olen kindel, et saab ka kuidagi lihtsamalt, kui praegu tehtud mul on, kuid kuidas, ei suuda välja mõelda. Seega veidi nõu ja abi kuluks ära.
Tänud!
_________________ Progemisest: https://byteaether.github.io/
Seisab keldris vana 386-486-Pentium1? Räägime! Ehk saan vanakesele uue elu anda.
Vaata siia, äkki müün midagi põnevat -> https://www.osta.ee/index.php?fuseaction=listing.seller&q[seller]=jnt |
|
Kommentaarid: 110 loe/lisa |
Kasutajad arvavad: |
   |
:: |
2 :: |
0 :: |
102 |
|
tagasi üles |
|
 |
infidel
HV kasutaja

liitunud: 31.01.2004
|
04.07.2008 09:54:25
|
|
|
Võimalik, et ma sain asjast totaalselt valesti aru, aga mina teeksin niimoodi:
Päring ruumi id-ga -> vastuseks x ja y koordinaat
Järgmine päring kaardi tabelist koordinaatide järgi (WHERE x > [algne_x] - 2 AND x < [algne_x] + 2 AND y > [algne_y] - 2 AND y < [algne_y] + 2 või midagi sellist), kust saad vastuseks ümbritsevate ruumide id-d.
Seejärel võtad eelmise päringu tulemi tsüklina läbi, igal sammul kuvad pildi ja teed päringu tegelaste tabelisse ning kuvad vastavasse ruumi sattunud tegelased.
Ehk siis seni kilplaslikult tehtud asju peaks tegema masin automatiseeritult.
|
|
Kommentaarid: 36 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
35 |
|
tagasi üles |
|
 |
mikk36
HV Guru

liitunud: 21.02.2004
|
04.07.2008 09:56:39
|
|
|
infidel, loogika viga peitub selles, et antud juhul antakse vastuseks NULL, kuna sa üritad leida ruumi id'd, millel koordinaadid on kõik need järjest, mis kirja panid
et asi toimiks, peab AND'id vahetama OR'idega, see on aga kehv lahendus, kuna palju OR'e tekitavad aeglase query
|
|
Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
2 :: |
78 |
|
tagasi üles |
|
 |
infidel
HV kasutaja

liitunud: 31.01.2004
|
04.07.2008 10:04:36
|
|
|
mikk36, siiski mitte. AND on antud juhul vajalik, kuna koordinaat peab jääma kindlasse vahemikku. OR puhul kuvatakse sellise lausega lihtsalt kogu tabel, kuna ei ole kirjet, mis poleks suurem kui x-2 VÕI väiksem kui x+2. AND puhul kuvatakse ju need, mille puhul on täidetud kõik tingimused (suurem kui x-2, kuid väiksem kui x+2).
|
|
Kommentaarid: 36 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
35 |
|
tagasi üles |
|
 |
mikk36
HV Guru

liitunud: 21.02.2004
|
04.07.2008 10:12:16
|
|
|
aah, tuleb ikka korralikumalt lugeda query't
ei kõik korras
|
|
Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
2 :: |
78 |
|
tagasi üles |
|
 |
jnt
HV Guru

liitunud: 10.05.2005
|
04.07.2008 10:17:49
|
|
|
infidel, tänud! mai tea, miks ma ise ei tulnud selle peale, et võiks ühte query'sse toppida lihtsalt kordinaatide vahemiku. XD Küllap see sellest, et terve eilne päev möllasin ka itemite süsteemiga (seljakott jne), millega sain küll ühele poole, kuid pea oli pärast paras svamm.
Kuid nüüd oleks selline rohkem html küsimus veel, et kuidas on võimalik panna mitu pilti üksteise peale? Hetkel oleks asi nii, et tabeli lahtri taust on kaardi tükk ja lahtri sees on vajadusel tegelase pilt, kuid kui tegelasi on mitu, kuidas panna mitu tegelaste pilti ükstese peale? (kuigi siis palju pole aru saada, on efekt olemas, et tegelasi on rohkem seal. )
Aga veelkord tänud selle query osas. Tõesti ei tea, miks ma ise selle peale ei tulnud.
_________________ Progemisest: https://byteaether.github.io/
Seisab keldris vana 386-486-Pentium1? Räägime! Ehk saan vanakesele uue elu anda.
Vaata siia, äkki müün midagi põnevat -> https://www.osta.ee/index.php?fuseaction=listing.seller&q[seller]=jnt |
|
Kommentaarid: 110 loe/lisa |
Kasutajad arvavad: |
   |
:: |
2 :: |
0 :: |
102 |
|
tagasi üles |
|
 |
mikk36
HV Guru

liitunud: 21.02.2004
|
04.07.2008 10:20:07
|
|
|
css'ga hakka heaga positsioneerimisega mängima
|
|
Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
2 :: |
78 |
|
tagasi üles |
|
 |
jnt
HV Guru

liitunud: 10.05.2005
|
04.07.2008 11:30:10
|
|
|
suure pusimise peale suutsin endale vajaliku saatvutada style parameetritega... Aega võttis, aga asja sai. (Kujundamiskogemusi mul rohkem ple, kui veebilehe tegemine hunniku tabelitena...)
Igastahes tänud! Sain siit teemast nüüd kõik vajaliku. Veelkord, tänud!
_________________ Progemisest: https://byteaether.github.io/
Seisab keldris vana 386-486-Pentium1? Räägime! Ehk saan vanakesele uue elu anda.
Vaata siia, äkki müün midagi põnevat -> https://www.osta.ee/index.php?fuseaction=listing.seller&q[seller]=jnt |
|
Kommentaarid: 110 loe/lisa |
Kasutajad arvavad: |
   |
:: |
2 :: |
0 :: |
102 |
|
tagasi üles |
|
 |
|
lisa lemmikuks |
|
|
sa ei või postitada uusi teemasid siia foorumisse sa ei või vastata selle foorumi teemadele sa ei või muuta oma postitusi selles foorumis sa ei või kustutada oma postitusi selles foorumis sa ei või vastata küsitlustele selles foorumis sa ei saa lisada manuseid selles foorumis sa võid manuseid alla laadida selles foorumis
|
|
Hinnavaatlus ei vastuta foorumis tehtud postituste eest.
|