diff options
author | Patrick Davison <snapwilliam@gmail.com> | 2012-08-18 18:56:39 -0700 |
---|---|---|
committer | Patrick Davison <snapwilliam@gmail.com> | 2012-08-18 18:56:39 -0700 |
commit | 3a1b90cbb7034e285a9e216a4866972dad3288be (patch) | |
tree | 5d46357d9e88181d1d4e41d68fb24c16c6f464c2 | |
parent | 51997e9bc3aaab137c93f6af658af2e8dd7fb6e8 (diff) | |
download | pathery-3a1b90cbb7034e285a9e216a4866972dad3288be.tar.xz |
Gallery Update to test dual path.
-rw-r--r-- | pages/gallery.php | 352 |
1 files changed, 161 insertions, 191 deletions
diff --git a/pages/gallery.php b/pages/gallery.php index 8b6013d..e4e5d17 100644 --- a/pages/gallery.php +++ b/pages/gallery.php @@ -1,170 +1,146 @@ <?PHP -htmlHeader(array()); +htmlHeader(array(), '', '', array('scores')); ?> <body> <?php topbar($Links); -include('../mazetd/includes/maps.php'); -include('../mazetd/includes/mapoftheday.php'); +include('./includes/maps.php'); +include('./includes/mapoftheday.php'); -//15x9.c3.r28.w12.t2.:0s.8r.4f.0s.9r.3f.0s.12r.0f.0s.8r.0r.3f.0s.5r.5r.1f.0s.1r.11f.0s.0r.8r.1r.1f.0s.8r.4f.0s.4r.3r.4f. -$map = GenerateMap( - 15, 9, 7 , //width, height, rocks - rand(11,13) , //Walls - weight(0,1,2,2,3,3) , //Checkpoints - rand(0,1) //Teleports - ); - - -$map = GenerateMap( - 14, 15, 50 , //width, height, rocks - weight(17,18,19,20) , //Walls - weight(1,2,2,3,3) , //Checkpoints - weight(0,0,0,1) //Teleports -); - -//Weekend Map -$map = GenerateMap( - 25, 15, 9 , //width, height, rocks - weight(20) , //Walls - weight(5) , //Checkpoints - weight(5) //Teleports -); - - -//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 -); - - -//Tele Madness -$map = GenerateMap( - 17, 12, 10 , //width, height, rocks - weight(17,18) , //Walls - weight(1) , //Checkpoints - weight(5) //Teleports -); - -//Tall tall -$map = GenerateMap( - 6, 17, 10 , //width, height, rocks - weight(17,18,19,20) , //Walls - weight(1,2,2,2,3,3) , //Checkpoints - weight(0,0,0,1) //Teleports -); -//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 -); - -//ABC's -$map = GenerateMap( - 19, 11, 12 , //width, height, rocks - weight(20,21,22,22,23) , //Walls - weight(3) , //Checkpoints - weight(0) //Teleports -); - -//Ultra Complex -$map = GenerateMap( - 18, 16, 12 , //width, height, rocks - weight(16,17,18,18) , //Walls - weight(5) , //Checkpoints - weight(5) //Teleports -); -//Tall tall map -$map = GenerateMap( - 18, 14, 20 , //width, height, rocks - weight(30) , //Walls - weight(1) , //Checkpoints - weight(1) //Teleports -); -//Thirty -$map = GenerateMap( - 18, 14, 20 , //width, height, rocks - weight(30) , //Walls - weight(1) , //Checkpoints - weight(1) //Teleports -); -//Simple -$map = GenerateMap( - 18, 9, 7 , //width, height, rocks - weight(15,16,17) , //Walls - weight(0) , //Checkpoints - weight(0) //Teleports -); -//huge -$map = GenerateMap( - 75, 20, 7 , //width, height, rocks - weight(100) , //Walls - weight(5) , //Checkpoints - weight(4) //Teleports -); - -$myshape[] = "qqqqqfffffqqqqq"; -$myshape[] = "qqqqq?????qqqqq"; -$myshape[] = "qqooo??b??oooqq"; -$myshape[] = "qqoRR?????RRoqq"; -$myshape[] = "qqoRR?????RRoqq"; -$myshape[] = "f?????????????f"; -$myshape[] = "f?????????????f"; -$myshape[] = "f?a????s????c?f"; -$myshape[] = "f?????????????f"; -$myshape[] = "f?p???????????f"; -$myshape[] = "qqpRR?????RRoqq"; -$myshape[] = "qqpRR?????RRoqq"; -$myshape[] = "qqpppp?d??oooqq"; -$myshape[] = "qqqqq?????qqqqq"; -$myshape[] = "qqqqqfffffqqqqq"; - -$basic[] = "soooooooootoof"; -$basic[] = "soooooooooooof"; -$basic[] = "soooooooooooof"; -$basic[] = "soobooooroooof"; -$basic[] = "sooroooooaooof"; -$basic[] = "srorooooorroof"; -$basic[] = "soooooooorooof"; -$basic[] = "soooooocodooof"; -$basic[] = "soorooorroooof"; -$basic[] = "soooeoooooooof"; -$basic[] = "suooooooooooof"; - - -$basic2[] = "soooooooorotof"; -$basic2[] = "soooooooodooof"; -$basic2[] = "soorooooooooof"; -$basic2[] = "soooooooooooof"; -$basic2[] = "soooaoooooooof"; -$basic2[] = "suocooooooobof"; - - -$basic3[] = "soooooooooof"; -$basic3[] = "soooooooooof"; -$basic3[] = "sooooaooooof"; -$basic3[] = "soooooooooof"; -$basic3[] = "soooooooooof"; - - -$square[] = "sfoo"; -$square[] = "oooo"; +$basic3[] = "orooooooooof"; +$basic3[] = "orooooooooof"; +$basic3[] = "oroooaooooof"; +$basic3[] = "soroooooooof"; +$basic3[] = "ooooroooooof"; +$basic3[] = "uoooortoooof"; +$basic3[] = "usooooooooof"; +$basic3[] = "uoooooooooof"; $myparams['checkpoints'] = 1; $myparams['teleports'] = 0; $myparams['rockchance'] = 100; -$myparams['walls'] = 13; +$myparams['walls'] = 3; + +//$map = GenerateShapedMap($basic3, $myparams); + +//Dual map +$dualmapa[] = "s??????????????????tc"; +$dualmapa[] = "s??????????????????tc"; +$dualmapa[] = "s??????????????????tc"; +$dualmapa[] = "s??????????????????tc"; +$dualmapa[] = "s??????????????????tc"; +$dualmapa[] = "s??????????????????tc"; +$dualmapa[] = "qqqqqqqqqqqoqqqqqqqqq"; +$dualmapb[] = "u???????????????????f"; +$dualmapb[] = "u???????????????????f"; +$dualmapb[] = "u???????????????????f"; +$dualmapb[] = "u???????????????????f"; +$dualmapb[] = "u???????????????????f"; +$dualmapb[] = "u???????????????????f"; + +$dualmapa = insertPoint($dualmapa, 'ab'); +$dualmapb = insertPoint($dualmapb, 'cde'); +$dualmap = array_merge($dualmapa, $dualmapb); +//$dualmap = insertPoint($dualmap, 'vw'); + +$myparams['checkpoints'] = 3; +$myparams['teleports'] = 1; +$myparams['rockchance'] = 9; +$myparams['walls'] = weight(20, 20, 21, 21, 22, 23); +$myparams['name'] = 'Seeing Double'; +//$map = GenerateShapedMap($dualmap, $myparams); + + +$dualsmap[] = 'rSrSrSrSrSrSr'; +$dualsmap[] = 's???????????f'; +$dualsmap[] = 'r???????????r'; +$dualsmap[] = 's???????????f'; +$dualsmap[] = 'r???????????r'; +$dualsmap[] = 's???????????f'; +$dualsmap[] = 'r???????????r'; +$dualsmap[] = 's???????????f'; +$dualsmap[] = 'rfrfrfrfrfrfr'; + +$dualsmape[] = 'rSrSrSoroSrSrSr'; +$dualsmape[] = 'sooooooooorooof'; +$dualsmape[] = 'roootooooooooor'; +$dualsmape[] = 'soooorooorbroof'; +$dualsmape[] = 'roroaooooooroor'; +$dualsmape[] = 'sooooooooooooof'; +$dualsmape[] = 'roooooorcuoooor'; +$dualsmape[] = 'sooooooooooooof'; +$dualsmape[] = 'rooooooooooooor'; +$dualsmape[] = 'sooooooooooooof'; +$dualsmape[] = 'rooooooooooooor'; +$dualsmape[] = 'sooooooooooooof'; +$dualsmape[] = 'rfrfrforofrfrfr'; + +$openmaps[] = 'Souooooooooooooooooooooo'; +$openmaps[] = 'oooooooooooooooooooooooo'; +$openmaps[] = 'oooooooooooooooooooooooo'; +$openmaps[] = 'oooooooooooooooooooooooo'; +$openmaps[] = 'ooooooooooaoootooooooooo'; +$openmaps[] = 'oooooooooooooooooooooooo'; +$openmaps[] = 'oooooooooooooooooooooooo'; +$openmaps[] = 'oooooooooooooooooooooooo'; +$openmaps[] = 'oooooooooooooooooooooooo'; +$openmaps[] = 'foooooooooooooooooooooos'; + +//$dualsmape = insertPoint($dualsmape, 'abcptu'); + +$myparams['checkpoints'] = 5; +$myparams['teleports'] = 0; +$myparams['rockchance'] = 15; +$myparams['walls'] = 38; +$myparams['name'] = 'Dualing Starts'; + +$map = GenerateShapedMap($openmaps, $myparams); + +echo DisplayMap($map, 1); + + +exit; + +echo "Prep.."; + +$ultraComplex[] = "soooooooooooooooooooooooooooor"; +$ultraComplex[] = "ro??????????????????????????of"; +$ultraComplex[] = "so??????????????????????????or"; +$ultraComplex[] = "ro??????????????????????????of"; +$ultraComplex[] = "so??????????????????????????or"; +$ultraComplex[] = "ro??????????????????????????of"; +$ultraComplex[] = "so??????????????????????????or"; +$ultraComplex[] = "ro??????????????????????????of"; +$ultraComplex[] = "so??????????????????????????or"; +$ultraComplex[] = "ro??????????????????????????of"; +$ultraComplex[] = "so??????????????????????????or"; +$ultraComplex[] = "roooooooooooooooooooooooooooof"; + +$ultraComplex = insertPoint($ultraComplex, 'abcde'); +$ultraComplex = insertPoint($ultraComplex, 'tumngh'); +$ultraComplex = insertPoint($ultraComplex, 'ppppppppppp'); + +$myparams['checkpoints'] = 5; +$myparams['teleports'] = 3; +$myparams['rockchance'] = 9; +$myparams['walls'] = 38; +$myparams['name'] = 'Ultra Complex'; + +echo "Gen.."; + +$map = GenerateShapedMap($ultraComplex, $myparams); + +echo "Disp.."; + +echo DisplayMap($map, 1); + -$map = GenerateShapedMap($basic3, $myparams); + +exit; if( ini_get('safe_mode') ){ echo "RISM"; @@ -172,7 +148,7 @@ if( ini_get('safe_mode') ){ echo "NRISM"; } ini_set('display_errors',1); - //error_reporting(E_NOTICE); + error_reporting(E_NOTICE); //trigger_error("Cannot divide by zero", E_NOTICE); @@ -180,12 +156,8 @@ echo ini_get('max_execution_time'); echo ":"; -$motd = MapOfTheDay(3); -$map = $motd['map']; - - - - +//$motd = MapOfTheDay(3); +//$map = $motd['map']; if (isset($_GET['walls'])) { $map[0][4] = ($_GET['walls'] * 1); @@ -263,9 +235,10 @@ function executeTryMaze($mapMatrix, $intensity = 1) { //$mapdata['walls'] = 12; $mapdata['teleports'] = $mapMatrix[0][5]; - - //PROCSES BEGIN + $routes = 0; + + //PROCSES BEGIN $wallcount = 0; $iterations = 0; $lastRefresh = 0; @@ -290,12 +263,19 @@ function executeTryMaze($mapMatrix, $intensity = 1) { continue; } + //Set a wall and calculate the new path $mapMatrix[$x][$y] = 'R'; $curpath = routePath($mapMatrix); $routes++; $trymoves = $curpath['moves']; - + + //if ("$x,$y" == "3,17") { + //echo "T($x,$y)\n:"; + //print_r($affected); + //return; + //} + //path blocked? if ($curpath['blocked'] == true) { //Sometimes it's better to remove a different wall; @@ -306,7 +286,7 @@ function executeTryMaze($mapMatrix, $intensity = 1) { //determin wall values. $walllist = wallvalues($mapMatrix, $arrayWalls); - $routes = $routes + $wallcount; + $routes++; //Put the best wall to remove on top; - A mono directional bubble sort would be better here. $walllist["$x,$y"]--; @@ -338,15 +318,15 @@ function executeTryMaze($mapMatrix, $intensity = 1) { continue; } //The last choice, or first choice? - //Can't decide, let's do both. - if ($trymoves > $bestmoves OR ($trymoves >= $bestmoves AND $iterations % 4 >= 2)) { - if ($bestcount <= $count) { - $bestcount = $count; - $bestmoves = $trymoves; - $bestx = $x; - $besty = $y; - $mapMatrix[$x][$y] = 'o'; - } + //if ($trymoves >= $bestmoves) { + //echo "[$x, $y: $trymoves]"; + if ($trymoves > $bestmoves OR ($trymoves >= $bestmoves AND $bestcount <= $count) ) { + $bestcount = $count; + $bestmoves = $trymoves; + $bestx = $x; + $besty = $y; + $mapMatrix[$x][$y] = 'o'; + //break; } $mapMatrix[$x][$y] = 'o'; } @@ -358,32 +338,22 @@ function executeTryMaze($mapMatrix, $intensity = 1) { echo "B($bestx,$besty)\n:"; //Refresh walls (Remove obsolete walls) - //Do a smidgens less than every other one. - if ( ($iterations % 2 == 1 AND $iterations % 20 <> 1) - AND ($wallcount > ($mapdata['walls'] * .6)) ) + if ($iterations % 2 == 0 AND $wallcount > ($mapdata['walls'] * .6)) { echo "RW"; - echo "MU"; - echo memory_get_usage(true); - echo "MGPU:"; - //echo memory_get_peak_usage(); - //echo memory_get_peak_usage(); - echo "::"; $walllist = wallvalues($mapMatrix, $arrayWalls); - $routes = $routes + $wallcount; + $routes++; //Remove low valued wall; $lowvaluewall = true; $nullwalls = 0; foreach ($walllist as $nwallposition => $wallvalue) { - if ($wallvalue == 0 OR ($lowvaluewall == true AND $wallvalue == 1)) { + if ($wallvalue == 0 OR ($lowvaluewall == true AND $wallvalue == 1)) + { $nloc = explode(",", $nwallposition); $x=$nloc[0]; $y=$nloc[1]; - if ($x == $bestx AND $y == $besty) { - //echo "LVW USED"; - //$lowvaluewall = false; + if ($x == $bestx AND $y == $besty) continue; - } $mapMatrix[$x][$y] = 'o'; unset($arrayWalls[$x][$y]); $wallcount--; @@ -407,14 +377,14 @@ function executeTryMaze($mapMatrix, $intensity = 1) { $walllist = wallvalue($mapMatrix, "R"); $routes++; foreach ($walllist as $nwallposition => $wallvalue) { - if ($wallvalue < 1) { + if ($wallvalue <= 1) { $nloc = explode(",", $nwallposition); $i=$nloc[0]; $j=$nloc[1]; $mapMatrix[$i][$j] = 'o'; - unset($arrayWalls[$i][$j]); + unset($arrayWalls[$x][$y]); $wallcount--; - echo "LRM($i, $j)"; + echo "RM($x, $y)"; } } echo "End Refresh walls to:[$wallcount]"; @@ -422,7 +392,7 @@ function executeTryMaze($mapMatrix, $intensity = 1) { //If all walls are placed even after refresh, we're done if ($wallcount >= $mapdata['walls']) { - echo "END;($wallcount) <b>During $iterations iterations 'TryMaze' routed the path $routes times. Placing $wallcount walls</b>"; + echo "END;($wallcount) <b>Solution routed the path $routes times.</b>"; break; } } while ($done == false); |