Maps/map.php

104 lines
3.5 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?
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>";
}
?>