104 lines
3.5 KiB
PHP
104 lines
3.5 KiB
PHP
|
<?
|
|||
|
error_reporting(E_ALL);
|
|||
|
session_start();
|
|||
|
|
|||
|
if (!isset($_GET["name"])) $_GET["name"] ="map";
|
|||
|
//Читаем карту
|
|||
|
$handle = fopen(htmlspecialchars($_GET["name"]).".csv", "r");
|
|||
|
while (($data = fgetcsv($handle, 1000, ";")) !== FALSE){
|
|||
|
$map[]=$data;
|
|||
|
}
|
|||
|
fclose($handle);
|
|||
|
//Карта в двухмерном массиве $map
|
|||
|
|
|||
|
//информация о квадрате
|
|||
|
$infodot["g"]["status"] = "allow";
|
|||
|
$infodot["m"]["status"] = "allow";
|
|||
|
|
|||
|
if ($_POST['action']=='down' AND $infodot[$map[$_SESSION["y"]+1][$_SESSION["x"]]]["status"]=='allow'){
|
|||
|
$_SESSION["y"]++;
|
|||
|
}
|
|||
|
if ($_POST['action']=='up' AND $infodot[$map[$_SESSION["y"]-1][$_SESSION["x"]]]["status"]=='allow'){
|
|||
|
$_SESSION["y"]--;
|
|||
|
}
|
|||
|
if ($_POST['action']=='left' AND $infodot[$map[$_SESSION["y"]][$_SESSION["x"]-1]]["status"]=='allow'){
|
|||
|
$_SESSION["x"]--;
|
|||
|
}
|
|||
|
if ($_POST['action']=='right' AND $infodot[$map[$_SESSION["y"]][$_SESSION["x"]+1]]["status"]=='allow'){
|
|||
|
$_SESSION["x"]++;
|
|||
|
}
|
|||
|
|
|||
|
//если первый заход на карту
|
|||
|
if (!isset($_SESSION["y"]) OR !isset($_SESSION["x"])){
|
|||
|
$_SESSION["y"]=5;
|
|||
|
$_SESSION["x"]=5;
|
|||
|
}
|
|||
|
if ($_GET["name"]=="map2") {
|
|||
|
$_SESSION["y"]=4;
|
|||
|
$_SESSION["x"]=2;
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
//Строим квадрат 5Х5 вокруг игрока
|
|||
|
$y = $_SESSION["y"]-2;
|
|||
|
$y_end = $_SESSION["y"]+2;
|
|||
|
$x = $_SESSION["x"]-2;
|
|||
|
$x_end = $_SESSION["x"]+2;
|
|||
|
$q = $x;
|
|||
|
print "<table cellpadding='0' cellspacing='0'>";
|
|||
|
while ($y <= $y_end){
|
|||
|
print "<tr>";
|
|||
|
$x = $q;
|
|||
|
while ($x <= $x_end){
|
|||
|
if (@$map[$y][$x] == ""){ // ползут ошибки!
|
|||
|
$map[$y][$x] = "end";
|
|||
|
}
|
|||
|
if ($y == $_SESSION["y"] AND $x == $_SESSION["x"]){
|
|||
|
print "<td background = mapimg/".$map[$y][$x].".png>";
|
|||
|
print "<img src=mapimg/point.gif>";
|
|||
|
print "</td>";
|
|||
|
}
|
|||
|
else{
|
|||
|
print "<td>";
|
|||
|
print "<img src=mapimg/".$map[$y][$x].".png>";
|
|||
|
print "</td>";
|
|||
|
}
|
|||
|
$x++;
|
|||
|
}
|
|||
|
print "</tr>";
|
|||
|
$y++;
|
|||
|
}
|
|||
|
print "</table>";
|
|||
|
//квадрат построен
|
|||
|
?>
|
|||
|
<form method="POST">
|
|||
|
<button type="submit" name="action" value="up"><img src=mapimg/m-n.png border=0></button><br>
|
|||
|
<button type="submit" name="action" value="left"><img src=mapimg/m-w.png border=0></button>
|
|||
|
<button type="submit" name="action" value="right"><img src=mapimg/m-e.png border=0></button><br>
|
|||
|
<button type="submit" name="action" value="down"><img src=mapimg/m-s.png border=0></button>
|
|||
|
</form>
|
|||
|
<a href=map.php?action=up><img src=mapimg/m-n.png border=0></a><br>
|
|||
|
<a href=map.php?action=left><img src=mapimg/m-w.png border=0></a>
|
|||
|
<a href=map.php?action=right><img src=mapimg/m-e.png border=0></a><br>
|
|||
|
<a href=map.php?action=down><img src=mapimg/m-s.png border=0></a><p>
|
|||
|
|
|||
|
<?
|
|||
|
/*
|
|||
|
//Описываем свойство отдельной клетки с координатами 2,2
|
|||
|
if ($_SESSION["y"] == 2 AND $_SESSION["x"] == 2){
|
|||
|
print "<b>В этой клетке c координатами 2,2 находится магазин";
|
|||
|
}
|
|||
|
else{
|
|||
|
print "В этой клетке нет активных элементов";
|
|||
|
}
|
|||
|
*/
|
|||
|
|
|||
|
//Описываем свойство целого класса клеток
|
|||
|
if ($map[$_SESSION["y"]][$_SESSION["x"]] == "m"){ print "<b>В этой клетке класса <i>m</i> находится магазин"; }
|
|||
|
|
|||
|
//Бежим на вторую карту с первой.
|
|||
|
if ($_SESSION["y"] == 2 AND $_SESSION["x"] == 0){
|
|||
|
print "<a href=map.php?name=map2>Сменить локацию.</a>";
|
|||
|
}
|
|||
|
|
|||
|
?>
|