Maps/map.php

104 lines
3.5 KiB
PHP
Raw Normal View History

<?
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">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<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>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<button type="submit" name="action" value="down"><img src=mapimg/m-s.png border=0></button>
</form>
&nbsp;&nbsp;&nbsp;&nbsp;<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>
&nbsp;&nbsp;&nbsp;&nbsp;<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>";
}
?>