For loop, coördinaten en str_replace(Heightmap)

Gestart doorRobertt2 reacties45 weergaven

3 berichten · pagina 1 van 1

Robertt

Lid · Topicstarter

Berichten
1.579
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Hallo,

Ik probeer een heightmap om te zetten naar een veld (een kamer).

Ik heb momenteel een probleem met de coördinaten.
Ik wil dat elke div ze eigen coördinaten heeft: Y,X.
Hij moet dus optellen tot de $this->widht/height gehaald is.
En dan weer op 0 zetten en door gaan

Height staat voor hoeveel rijden hoog is die, en widht voor hoelang die is. Is de max widht gehaal moet die dus een nieuwe rij beginnen (via CSS maar dit komt later).

Ik wil hem dus automatisch alles laten vullen maar hij moet het per div doen hoe moet ik dit doen?

PHP Class

Codeblok (voorbeeld.php):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36



class roomcreate {

private $height;
private $widht;
private $roomdata;

public function __construct($widht, $height, $roomdata){
$this->widht = $widht;
$this->height = $height;
$this->roomdata = $roomdata;
}


public function create(){
$roomData = $this->roomdata;

for ($i=0; $i<=strlen($this->roomdata); $i++) {
$roomData = str_replace(1,
, $roomData);
$roomData = str_replace(0,
, $roomData);
}


for ($i=0; $i<=$this->height; $i++) {
$roomData = str_replace(yco, $i, $roomData);
}


for ($i=0; $i<=$this->widht; $i++) {
$roomData = str_replace(xco, $i, $roomData);
}


echo $roomData;
}
}

?>

HTML

Codeblok (voorbeeld.php):

1
2
3
4
5
6
7
8
9

$room
= new roomcreate(6,1, 111001);

echo $room->create();

?>

CSS:

Codeblok (voorbeeld.php):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

.room {
position: relative;
margin-top: 10px;
}

.room div {
width: 64px;
height: 40px;
position: absolute;
background-image: url("img/1.png");
}

.room div.none {
background: #000;
}

Result

Quote:
0
Robertt

Lid · Topicstarter

Berichten
1.579
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Heb het topic even een update gegeven voor de volgende vraag.
0
Berichten
14.025
Reputatie
1
Punten
0,01
Lid sinds
Laatst gezien
Je vervangt de 0 en 1 die strings zijn terwijl je ze als integers ingeeft. Gebruik (string)

Ik heb dit:

Codeblok (voorbeeld.php):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40



class roomcreate {

private $height;
private $widht;
private $roomdata;

public function __construct($widht, $height, $roomdata){
$this->widht = $widht;
$this->height = $height;
$this->roomdata = (string) $roomdata;
}


public function create(){
$roomData = $this->roomdata;
$roomData = str_replace(1,
, $roomData);
$roomData = str_replace(0,
, $roomData);

for ($x=0; $x < $this->height; $x++) {
for ($y = 0; $y < $this->widht; $y++) {
$roomData = preg_replace(/yco,xco/, $x.,.$y, $roomData, 1);
}
}


return $roomData;
}
}


$room = new roomcreate(6,1, 111001);

echo $room->create();

?>

Codeblok (voorbeeld.php):

1

Niet helemaal goed maarja, misschien kan zelf verder?
0

Jouw reactie

Deel je idee, stel een vraag of help een ander verder.

Editor laden…

Praat mee met de One2xs-community.

Inloggen om te reageren