summaryrefslogtreecommitdiffstats
path: root/includes
diff options
context:
space:
mode:
Diffstat (limited to 'includes')
-rw-r--r--includes/mapoftheday.php2
-rw-r--r--includes/maps.php30
2 files changed, 9 insertions, 23 deletions
diff --git a/includes/mapoftheday.php b/includes/mapoftheday.php
index cd646cb..62b44a4 100644
--- a/includes/mapoftheday.php
+++ b/includes/mapoftheday.php
@@ -1 +1 @@
-<?PHP include_once('maps.php'); include_once('db.inc.php'); //Select from current day. function getMapOfTheDay() { $sql = " select `ID`, `code` from `maps` WHERE ( DAY(dateCreated) = DAY(NOW()) AND MONTH(dateCreated) = MONTH(NOW()) AND YEAR(dateCreated) = YEAR(NOW()) ) "; $result = mysql_query($sql); //No map for today? if (mysql_num_rows($result) == 0) { // If you want to modify the maps created! This is the line $map = GenerateMap(rand(13, 18), rand(10, 14), rand(6, 9)); $code = GenerateMapCode($map); $sql = "INSERT INTO `maps` (`code`) VALUES ('$code')"; mysql_query($sql); $r['code'] = $code; $r['map'] = $map; $r['id'] = mysql_insert_id(); return $r; } $r['code'] = mysql_result($result, 0, 'code'); $r['map'] = GenerateMapByCode($r['code']); $r['id'] = mysql_result($result, 0, 'ID'); return $r; } function mapOfTheDay($type = 1) { $sql = " select maps.ID, maps.code FROM `mapOfTheDay`, `maps` WHERE `mapDate` = CURDATE() AND `mapType` = $type AND mapID = maps.ID "; $result = mysql_query($sql); //No map for today? if (mysql_num_rows($result) == 0) { // If you want to modify the maps created! This is the line //GenerateMap($rows, $cols, $rockchance, $numBlocks = -1, $cp = -1, $tp = -1) { switch ($type) { case 1: //Easy $map = GenerateMap(13, 7, 12, rand(7,10), rand(0, 2), 0); break; case 2: //Normal $map = GenerateMap(15, 9, 7, rand(11,13), rand(1,2) + rand(0,1), rand(0,1)); break; case 3: //Hard $map = GenerateMap(19, 9, rand(7, 9), rand(13,16), rand(2,5), rand(1,2)); break; case 4: //Full random map //Get the current day as int. $numday = date('w'); $numday = intval($numday); switch ($numday) { case 0: //Sunday //Thirty $map = GenerateMap( 18, 14, 20 , //width, height, rocks weight(30) , //Walls weight(1) , //Checkpoints weight(1) //Teleports ); break; case 1: //Monday //Simple $map = GenerateMap( 18, 9, 7 , //width, height, rocks weight(15,16,17) , //Walls weight(0) , //Checkpoints weight(0) //Teleports ); break; case 2: //Tuesday //ABC's $map = GenerateMap( 19, 11, 12 , //width, height, rocks weight(20,21,22,22,23) , //Walls weight(3) , //Checkpoints weight(0) //Teleports ); break; case 3: //Wednesday //Tele Madness $map = GenerateMap( 17, 12, 10 , //width, height, rocks weight(17,18) , //Walls weight(1) , //Checkpoints weight(5) //Teleports ); break; case 4: //Thursday //Rocky Maze $map = GenerateMap( 19, 15, 5 , //width, height, rocks weight(16,17,18) , //Walls weight(1,2,2,2,3,3) , //Checkpoints weight(0) //Teleports ); break; case 5: //Friday //Side to Side $map = GenerateMap( 26, 6, 12 , //width, height, rocks weight(17,18,19) , //Walls weight(2,2,2,3,3) , //Checkpoints weight(3,3,3,4) //Teleports ); break; case 6: //Saturday //ABC's $map = GenerateMap( 19, 11, 12 , //width, height, rocks weight(20,21,22,22,23) , //Walls weight(3) , //Checkpoints weight(0) //Teleports ); break; } break; default: $map = GenerateMap(rand(13, 18), rand(10, 14), rand(6, 9)); break; } $code = GenerateMapCode($map); $sql = "INSERT INTO `maps` (`code`) VALUES ('$code')"; mysql_query($sql); $mapID = mysql_insert_id(); $r['code'] = $code; $r['map'] = $map; $r['id'] = $mapID; $sql = "INSERT INTO `mapOfTheDay` (`mapID`, `mapType`, `mapDate`) VALUES ('$mapID', '$type', CURDATE()) "; mysql_query($sql); return $r; } $r['code'] = mysql_result($result, 0, 'code'); $r['map'] = GenerateMapByCode($r['code']); $r['id'] = mysql_result($result, 0, 'ID'); return $r; } // RMA # CT1160811 // 97686 //Select from yesterday function getYesterdaysMap() { $sql = " select `ID`, `code` from `maps` WHERE ( DAY(dateCreated) = DAY(NOW()) - 1 AND MONTH(dateCreated) = MONTH(NOW()) AND YEAR(dateCreated) = YEAR(NOW()) ) "; $result = mysql_query($sql); //No map for today? if (mysql_num_rows($result) == 0) { return -1; } $r['code'] = mysql_result($result, 0, 'code'); $r['id'] = mysql_result($result, 0, 'ID'); return $r; } ?> \ No newline at end of file
+<?PHP include_once('maps.php'); include_once('db.inc.php'); //Select from current day. function getMapOfTheDay() { $sql = " select `ID`, `code` from `maps` WHERE ( DAY(dateCreated) = DAY(NOW()) AND MONTH(dateCreated) = MONTH(NOW()) AND YEAR(dateCreated) = YEAR(NOW()) ) "; $result = mysql_query($sql); //No map for today? if (mysql_num_rows($result) == 0) { // If you want to modify the maps created! This is the line $map = GenerateMap(rand(13, 18), rand(10, 14), rand(6, 9)); $code = GenerateMapCode($map); $sql = "INSERT INTO `maps` (`code`) VALUES ('$code')"; mysql_query($sql); $r['code'] = $code; $r['map'] = $map; $r['id'] = mysql_insert_id(); return $r; } $r['code'] = mysql_result($result, 0, 'code'); $r['map'] = GenerateMapByCode($r['code']); $r['id'] = mysql_result($result, 0, 'ID'); return $r; } function mapOfTheDay($type = 1) { $sql = " select maps.ID, maps.code FROM `mapOfTheDay`, `maps` WHERE `mapDate` = CURDATE() AND `mapType` = $type AND mapID = maps.ID "; $result = mysql_query($sql); //No map for today? if (mysql_num_rows($result) == 0) { // If you want to modify the maps created! This is the line //GenerateMap($rows, $cols, $rockchance, $numBlocks = -1, $cp = -1, $tp = -1) { switch ($type) { case 1: //Easy $map = GenerateMap(13, 7, 12, rand(7,10), rand(0, 2), 0); break; case 2: //Normal $map = GenerateMap(15, 9, 7, rand(11,13), rand(1,2) + rand(0,1), rand(0,1)); break; case 3: //Hard $map = GenerateMap(19, 9, rand(7, 9), rand(13,16), rand(2,5), rand(1,2)); break; case 4: //Full random map //Get the current day as int. $numday = date('w'); $numday = intval($numday); switch ($numday) { case 0: //Sunday //Thirty $map = GenerateMap( 18, 14, 20 , //width, height, rocks weight(30) , //Walls weight(1) , //Checkpoints weight(1) //Teleports ); break; case 1: //Monday //Simple $map = GenerateMap( 18, 9, 7 , //width, height, rocks weight(15,16,17) , //Walls weight(0) , //Checkpoints weight(0) //Teleports ); break; case 2: //Tuesday //ABC's $map = GenerateMap( 19, 11, 12 , //width, height, rocks weight(20,21,22,22,23) , //Walls weight(3) , //Checkpoints weight(0) //Teleports ); break; case 3: //Wednesday //Tele Madness $map = GenerateMap( 17, 12, 10 , //width, height, rocks weight(17,18) , //Walls weight(1) , //Checkpoints weight(5) //Teleports ); break; case 4: //Thursday //Rocky Maze $map = GenerateMap( 19, 15, 5 , //width, height, rocks weight(16,17,18) , //Walls weight(1,2,2,2,3,3) , //Checkpoints weight(0) //Teleports ); break; case 5: //Friday //Side to Side $map = GenerateMap( 26, 6, 12 , //width, height, rocks weight(17,18,19) , //Walls weight(2,2,2,3,3) , //Checkpoints weight(3,3,3,4) //Teleports ); break; case 6: //Saturday //Dual map $dualmapa[] = "s???????????????????f"; $dualmapa[] = "s???????????????????f"; $dualmapa[] = "s???????????????????f"; $dualmapa[] = "s???????????????????f"; $dualmapa[] = "s???????????????????f"; $dualmapa[] = "s???????????????????f"; $dualmapa[] = "oqqqqqqqqqqqqqqqqqqqq"; $dualmapa[] = "oqqqqqqqqqqqqqqqqqqqq"; $dualmapb[] = "s???????????????????f"; $dualmapb[] = "s???????????????????f"; $dualmapb[] = "s???????????????????f"; $dualmapb[] = "s???????????????????f"; $dualmapb[] = "s???????????????????f"; $dualmapb[] = "s???????????????????f"; $dualmapa = insertPoint($dualmapa, 'abc'); $dualmapb = insertPoint($dualmapb, 'abc'); $dualmap = array_merge($dualmapa, $dualmapb); $dualmap = insertPoint($dualmap, 'tu'); $myparams['checkpoints'] = 3; $myparams['teleports'] = 1; $myparams['rockchance'] = 9; $myparams['walls'] = weight(20, 20, 21, 21, 22, 23); $map = GenerateShapedMap($dualmap, $myparams); break; } break; default: $map = GenerateMap(rand(13, 18), rand(10, 14), rand(6, 9)); break; } $code = GenerateMapCode($map); $sql = "INSERT INTO `maps` (`code`) VALUES ('$code')"; mysql_query($sql); $mapID = mysql_insert_id(); $r['code'] = $code; $r['map'] = $map; $r['id'] = $mapID; $sql = "INSERT INTO `mapOfTheDay` (`mapID`, `mapType`, `mapDate`) VALUES ('$mapID', '$type', CURDATE()) "; mysql_query($sql); return $r; } $r['code'] = mysql_result($result, 0, 'code'); $r['map'] = GenerateMapByCode($r['code']); $r['id'] = mysql_result($result, 0, 'ID'); return $r; } // RMA # CT1160811 // 97686 //Select from yesterday function getYesterdaysMap() { $sql = " select `ID`, `code` from `maps` WHERE ( DAY(dateCreated) = DAY(NOW()) - 1 AND MONTH(dateCreated) = MONTH(NOW()) AND YEAR(dateCreated) = YEAR(NOW()) ) "; $result = mysql_query($sql); //No map for today? if (mysql_num_rows($result) == 0) { return -1; } $r['code'] = mysql_result($result, 0, 'code'); $r['id'] = mysql_result($result, 0, 'ID'); return $r; } ?> \ No newline at end of file
diff --git a/includes/maps.php b/includes/maps.php
index 0329e18..8cee2b3 100644
--- a/includes/maps.php
+++ b/includes/maps.php
@@ -770,64 +770,48 @@ function GetTile($mapMatrix, $id)
// [path] path-string. [blocked] boolean, [moves] int.
function routePath($mygrid, $start = '') {
- //== This should grab the start positions by scaning the map.
- //if ($start == '') {
- // for ($i = 1; $i <= $mygrid[0][1]; $i++) {
- // $start .= "0,$i.";
- // }
- //}
+ //Locate the start locations.
$start = findTiles($mygrid, "s");
-
- //echo $start;
//Checkpoint names
$cpnames = Array("a", "b", "c", "d", "e");
- //== Relies on the map headers being accurate.
//Get the amount of checkpoints on this map.
- //$cpcount = $mygrid[0][2];
$cpcount = 0;
- //Get the amount of checkpoints on this map.
foreach ($cpnames as $cpt)
if (findTiles($mygrid, $cpt))
$cpcount++;
- //Add the existing checkpoints to targets.
+ //Add the existing checkpoints to target array.
for($p = 0; $p < $cpcount; $p++) {
$target[] = $cpnames[$p];
}
- //Always need the finish line.
+ //Our last target is the finish line.
$target[] = 'f';
//Assume that we're not blocked, and raise a red flag later.
$blocked = false;
-
//All possible teleports in play.
$tpnames = Array('t', 'm', 'g', 'i', 'k');
-
+ //Find all the existing teleports.
$tpcount = 0;
foreach ($tpnames as $tpt)
if (findTiles($mygrid, $tpt))
$tpcount++;
- //$tpcount = intval($mygrid[0][5] * .5);
-
-
- //Add the existing checkpoints to targets.
+ //Save the existing teleports, to check for them later.
for($p = 0; $p < $tpcount; $p++) {
$teleport[] = $tpnames[$p];
}
+ //Where there's an in, there's an out.
$teleout['t'] = 'u';
$teleout['m'] = 'n';
$teleout['g'] = 'h';
$teleout['i'] = 'j';
$teleout['k'] = 'l';
- //$r['tparray'] = $teleport;
- //$r['cparray'] = $target;
-
//Loop through all the targets.
foreach($target as $t) {
//Path from where we are, to the target.
@@ -896,6 +880,8 @@ function routePath($mygrid, $start = '') {
//123 U CORDS U
//123 U CORDS U 2322
$p['path'] .= $z['path'];
+ //Our end point may have been modified.
+ $p['end'] = $z['end'];
$movesoffset -= countmoves($out);
//}