lopar-patch-1 #1
20
map.csv
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
x;w;x;w;w;w;x;w;w;w;w;w;w;w;w;w;w;w;w;g;w;x;x;x;x;x;x;x;x;x;x;x;x;x;x;x;x;g;x;x;
|
||||||
|
x;x;x;w;x;x;x;x;g;g;g;g;g;g;g;g;g;w;g;g;g;g;g;g;g;x;x;x;g;g;g;g;x;x;x;g;g;g;g;x;
|
||||||
|
g;g;x;w;w;x;g;x;g;w;w;w;w;g;w;w;g;g;g;w;w;w;w;w;g;g;g;g;g;w;w;g;x;x;x;g;w;w;g;x;
|
||||||
|
x;g;x;w;m;x;g;g;g;g;g;g;w;g;w;g;g;w;g;g;g;g;g;w;w;g;w;g;w;w;g;g;g;g;g;g;g;w;g;w;
|
||||||
|
x;g;g;g;g;x;x;g;o;o;g;w;w;w;w;g;w;w;g;w;g;w;w;w;w;w;w;w;w;w;w;w;g;w;w;w;w;w;w;w;
|
||||||
|
x;x;g;x;g;g;g;g;g;o;g;w;g;w;w;w;w;w;g;w;g;g;g;w;g;w;g;w;g;w;g;w;g;w;g;g;g;g;w;w;
|
||||||
|
x;x;x;x;g;o;o;o;o;o;g;g;g;g;g;w;g;w;w;w;w;w;w;w;g;w;g;g;g;w;g;w;g;w;w;g;w;w;w;w;
|
||||||
|
g;g;g;g;g;g;g;g;g;o;o;g;o;o;g;g;g;g;g;w;g;w;g;w;g;w;g;w;w;w;g;w;g;g;g;g;g;w;x;w;
|
||||||
|
x;x;x;x;x;g;o;g;o;o;o;g;o;o;o;g;w;w;w;w;g;w;g;g;g;g;g;g;g;w;g;w;g;w;w;w;w;w;w;x;
|
||||||
|
x;g;x;g;g;g;o;o;o;g;o;g;g;g;o;g;w;g;w;w;g;g;g;w;w;w;w;w;g;g;g;g;g;w;g;g;g;g;g;g;
|
||||||
|
g;g;g;g;x;g;g;g;o;g;o;o;g;o;o;g;g;g;g;g;g;w;w;w;w;g;w;w;w;w;w;w;w;w;g;o;o;o;o;o;
|
||||||
|
x;x;x;g;x;g;o;o;o;g;g;o;g;o;o;o;o;o;o;o;g;g;g;g;g;g;g;g;g;g;g;g;g;g;g;g;g;o;o;w;
|
||||||
|
x;g;g;g;x;g;g;g;g;g;o;o;g;g;g;g;g;g;o;g;g;o;o;o;o;o;g;g;o;o;o;o;o;o;o;o;o;o;o;w;
|
||||||
|
x;x;g;x;x;x;g;o;g;o;o;o;o;o;o;o;o;g;o;o;g;g;g;g;g;o;g;g;g;g;g;g;g;g;g;g;g;o;g;o;
|
||||||
|
x;x;x;x;g;x;g;o;o;o;o;g;o;o;g;g;o;g;o;g;g;o;g;o;o;o;g;g;o;o;o;o;o;g;o;o;o;o;g;g;
|
||||||
|
x;x;g;g;g;g;g;g;o;g;g;g;g;g;g;o;o;o;o;g;o;o;g;g;g;o;g;g;o;x;x;x;o;g;g;g;g;g;g;o;
|
||||||
|
x;m;g;x;g;x;x;g;g;g;x;g;o;o;o;o;o;g;g;g;o;o;g;g;g;o;g;g;o;x;m;o;o;g;o;g;o;o;o;o;
|
||||||
|
x;x;g;x;g;x;x;g;x;g;x;g;g;g;g;g;o;g;o;o;o;o;g;o;o;o;g;g;o;x;x;x;o;g;o;g;o;g;g;g;
|
||||||
|
x;x;m;x;x;x;x;g;x;g;x;x;x;o;o;o;o;g;o;o;o;o;o;o;o;o;g;g;o;o;x;o;o;o;o;g;g;g;o;o;
|
||||||
|
x;x;x;x;x;x;x;x;x;x;x;x;x;x;x;x;o;o;o;o;o;o;o;o;o;o;g;g;o;o;o;o;o;o;o;g;o;o;o;o;
|
|
104
map.php
Normal file
@ -0,0 +1,104 @@
|
|||||||
|
<?
|
||||||
|
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>";
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
7
map2.csv
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
x;x;x;x;x
|
||||||
|
x;m;w;w;x
|
||||||
|
x;g;w;g;g
|
||||||
|
x;g;w;g;x
|
||||||
|
x;g;g;g;x
|
||||||
|
x;w;g;g;x
|
||||||
|
x;x;x;x;x
|
|
BIN
mapimg/end.png
Normal file
After Width: | Height: | Size: 168 B |
BIN
mapimg/g.png
Normal file
After Width: | Height: | Size: 1.0 KiB |
BIN
mapimg/m-e.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
mapimg/m-n.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
mapimg/m-s.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
mapimg/m-w.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
mapimg/m.png
Normal file
After Width: | Height: | Size: 7.1 KiB |
BIN
mapimg/o.png
Normal file
After Width: | Height: | Size: 825 B |
BIN
mapimg/point.gif
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
mapimg/w.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
mapimg/x.png
Normal file
After Width: | Height: | Size: 6.1 KiB |
103
showmap.php
Normal file
@ -0,0 +1,103 @@
|
|||||||
|
<?
|
||||||
|
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 ($_GET['action']=='down' AND $infodot[$map[$_SESSION["y"]+1][$_SESSION["x"]]]["status"]=='allow'){
|
||||||
|
$_SESSION["y"]++;
|
||||||
|
}
|
||||||
|
if ($_GET['action']=='up' AND $infodot[$map[$_SESSION["y"]-1][$_SESSION["x"]]]["status"]=='allow'){
|
||||||
|
$_SESSION["y"]--;
|
||||||
|
}
|
||||||
|
If ($_GET['action']=='left' AND $infodot[$map[$_SESSION["y"]][$_SESSION["x"]-1]]["status"]=='allow'){
|
||||||
|
$_SESSION["x"]--;
|
||||||
|
}
|
||||||
|
if ($_GET['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;
|
||||||
|
}
|
||||||
|
|
||||||
|
//Строим квадрат 5Х5 вокруг игрока
|
||||||
|
#$y = $_SESSION["y"]-10;
|
||||||
|
#$y_end = $_SESSION["y"]+10;
|
||||||
|
#$x = $_SESSION["x"]-20;
|
||||||
|
#$x_end = $_SESSION["x"]+20;
|
||||||
|
#$q = $x;
|
||||||
|
|
||||||
|
$y = -1;
|
||||||
|
$y_end = 20;
|
||||||
|
$x = -1;
|
||||||
|
$x_end = 40;
|
||||||
|
$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 background = mapimg/g.png>";
|
||||||
|
print "<img src=mapimg/".$map[$y][$x].".png>";
|
||||||
|
print "</td>";
|
||||||
|
}
|
||||||
|
$x++;
|
||||||
|
}
|
||||||
|
print "</tr>";
|
||||||
|
$y++;
|
||||||
|
}
|
||||||
|
print "</table>";
|
||||||
|
//квадрат построен
|
||||||
|
/*
|
||||||
|
?>
|
||||||
|
|
||||||
|
<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> находится магазин";
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
?>
|