Jump to content
php.lv forumi

veidojam spēles karti ar X un Y


m8t

Recommended Posts

tātad, man ir mysql datubāzē tubuliņa ar 4 vērtībām.

CREATE TABLE IF NOT EXISTS `s1_map` (
 `id` int(11) NOT NULL auto_increment,
 `absx` int(4) NOT NULL,
 `absy` int(4) NOT NULL,
 `private` int(1) NOT NULL default '0',
 `walkable` int(1) NOT NULL default '0',
 `img` int(2) NOT NULL default '0',
 PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;

INSERT INTO `s1_map` (`id`, `absx`, `absy`, `private`, `walkable`, `img`) VALUES
(1, 1, 1, 0, 0, 6),
(2, 2, 1, 0, 0, 7),
(3, 2, 2, 0, 0, 3),
(4, 1, 2, 0, 0, 4);

 

Tātad, tagat mēģinu izvadīt laukā visu, lai viņš sastātots pareizi.

$query = "SELECT * FROM {$tblprefix}map WHERE private='0' ORDER BY absy DESC"; 
$run = mysql_query($query);
echo "<table border=\"0\">";
while($row = mysql_fetch_array($run)) {

//funkcija izvadei, ik pa noteiktajām rindiņām: atstarpe
$copy = "<td background=\"{$image}\" width=\"32\" height=\"32\">{$img}</td>";
if($count<=0) {
$count++;
echo "<tr>";
echo $copy;
} else if($med>=$med) {
$count=0;
echo $copy;
echo "</tr>";
} else {
$count++;
echo $copy;
}
//end

}
echo "</table>";

 

Tātad, ar tādu kodu man izvadās lūk šādi:

problemam.png

 

Apakša itkā būtu pareizi, jo datubāzē arī pievienoju, pirmo 6 un otro 7, bet augšai es pievienoju pirmo 4, bet otro 3.

 

Ir kādas idejas, kā varētu sakārtot visu smuki un izveidotos karte?

Link to comment
Share on other sites

paldies, ar to viss sanāca, bet tagat man ir šāda problēma:

 

 

Vēlējos izveidot failu, ar kura palīdzību varētu viegli labot un pievienot jaunus kartes gabaliņus. Viss itkā sancāca, izprintējas veiksmīgi vajadzīgais daudzums un viss, tikai tad, kad mēģināju likt virsū veco karti (lai rāda ne tikai jautājuma zīmes, bet lai rāda arī vecos kartes gabaliņus, tajās vietās, kur tie atrodas). Nu lūk, šajā skriptā, es pats nezinu kādēļ man nesanāk izprintēt par vidu vecos kartes gabaliņus.

 

http://paste.php.lv/1e7084f6297bd76a56702ccb1a2dcde2?lang=php

 

ps.- ja jums prātā ir kāds labāks variants - būšu ar prieku uzklausīt!

 

Paldies jau iepriekš

Edited by m8t
Link to comment
Share on other sites

Tajā linkā tiešām viss ir,

veram vaļā apakšsadaļu: 11.12.4. Creating a Spatially Enabled MySQL Database

 

Zem 11.12.4.1. MySQL Spatial Data Types saprotam, ka datiem pietiks ar datu tipu Point, kuru vienkārši mysql administrātorā raksta pie kolonnas izveides, manos piemēros xy.

 

Tālāk veram apakšsadaļu: 11.12.4.4. Populating Spatial Columns

Pirmais kverijs parāda kā ievietot datus Point tipa kolonnā.

INSERT INTO geom VALUES (GeomFromText('POINT(1 1)'));

, kur 1 1 ir X un Y koordinātes

 

Tālāk ejam

11.12.5.5. Relations on Geometry Minimal Bounding Rectangles (MBRs)

un tur aprasktītās funkcijas izmantojam, lai uzbūvētu kveriju

SELECT *,AsText(xy) FROM q WHERE MBRContains(GeomFromText('Polygon((0 0,0 20,30 20,30 0,0 0))'),xy);

šis kverijs atgriež visus punktus, kuri atrodas taisnstūrī 0,0 - 30,20

Edited by codez
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...