diff options
Diffstat (limited to 'includes')
-rw-r--r-- | includes/mapoftheday.php | 2 | ||||
-rw-r--r-- | includes/maps.php | 30 |
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);
//}
|