function plug_shop($a, $p, $o) { if ($a == 'prod') { return product($p, $o); } if ($a == 'shop') { return shopping($p, $o); } }
<?php // including the header of the document require 'header.php'; // including the blog layout ?> <div> <div class="demo-blog mdl-layout mdl-js-layout has-drawer is-upgraded"> <main class="mdl-layout__content"> <div class="demo-blog__posts mdl-grid"> <?php include_once 'display/functions/otr.func.php'; otr('hello', 'hello world', 'index.php'); include_once 'display/functions/amazing.func.php'; amazing('I couldn’t take any pictures but this was an amazing thing…', 'hello world', 'index.php'); include_once 'display/functions/shopping.func.php'; shopping('hello', 'hello world', 'index.php'); include_once 'display/next.nav.func.php'; next_nav('index.php'); ?> </div> <?php require 'footer.php'; ?> </main> <div class="mdl-layout__obfuscator"></div> </div> </div> </body> <?php require 'script.php';
function main() { $nick = getNickFromArgs(); $mapData = null; $charData = null; // This will force everyone into creating a Dynasty save. // We patching shit, yo. $dynPatch = false; $dynPath = getSaveFilePath($nick, SaveFileType::Dynasty); if (!file_exists($dynPath)) { saveGame($nick, SaveFileType::Dynasty); $dynPatch = true; } if (!checkIfNewGame($nick)) { // Load character save data. $charFilePath = getSaveFilePath($nick, SaveFileType::Character); $charData = FileIO::UnserializeFile($charFilePath); $charDataDirty = false; // Load map save data. $mapFilePath = getSaveFilePath($nick, SaveFileType::Map); $mapData = FileIO::UnserializeFile($mapFilePath); $mapDataDirty = false; // Load dynasty save data. $dynFilePath = getSaveFilePath($nick, SaveFileType::Dynasty); $dynData = FileIO::UnserializeFile($dynFilePath); $dynDataDirty = false; // Put everyone into the dynasty initialisation state, just this once. //$notYetPatched = !isset($charData->patched); $notYetPatched = !isset($dynData->initialised); $notPatching = $charData->state != GameStates::DynastyInit; if (empty($dynData) || $notYetPatched && $notPatching) { $charData->patchState = $charData->state; $charData->patchPrevState = $charData->previousState; DEBUG_echo("Patching in Dynasty..."); StateManager::ChangeState($charData, GameStates::DynastySplash); } // Patch the stat changes in. doStatPatchIfNeeded($charData); // Ensure it's sane. if (empty($charData) || empty($mapData)) { echo "ERROR: Save data's f****d.\n"; exit(3); } // Read STDIN for input. $input = readStdin(); switch ($charData->state) { case GameStates::DynastySplash: DEBUG_echo("DynastySplash"); echo "Your Dynasty begins, and needs a name. Choose your name wisely - you cannot alter history.\n"; StateManager::ChangeState($charData, GameStates::DynastyInit); $dynData->initialised = true; $charDataDirty = true; $dynDataDirty = true; break; case GameStates::DynastyInit: DEBUG_echo("DynastyInit"); // Validate input. $validName = preg_match("/^[a-zA-Z]{1,16}\$/", $input, $output); if (!$validName) { echo "Please enter a valid name. Letters only, between 1 and 16 characters.\n"; return; } $dynData->name = $input; $output = "The Dynasty of {$input} begins! Onwards, to adventure!"; echo "{$output}\n"; // Hook back up to where we were. $charData->state = $charData->patchState; $charData->previousState = $charData->patchPrevState; $charDataDirty = true; $dynDataDirty = true; break; case GameStates::NameSelect: DEBUG_echo("NameSelect"); $validName = preg_match("/^[a-zA-Z]{1,16}\$/", $input, $output); if (!$validName) { echo "Please enter a valid name. Letters only, between 1 and 16 characters.\n"; exit(13); } $output = "Please choose a class for {$input} {$dynData->name}: "; global $classSelect; foreach ($classSelect->commands as $fragment) { $output .= "{$fragment->displayString}, "; } $output = rtrim($output, ", ") . "\n"; echo $output; $charData->name = $input; StateManager::ChangeState($charData, GameStates::ClassSelect); $charDataDirty = true; break; case GameStates::ClassSelect: DEBUG_echo("ClassSelect"); $input = strtolower($input); $setClass = classSelect($input, $charData, $dynData, $charData->name); if ($setClass) { StateManager::ChangeState($charData, GameStates::FirstPlay); $charDataDirty = true; } break; // Initialise the characters // Initialise the characters case GameStates::FirstPlay: DEBUG_echo("FirstPlay"); firstPlay($charData, $dynData); StateManager::ChangeState($charData, GameStates::Adventuring); // purposeful fall-through! // The main loop for when we're romping around. // purposeful fall-through! // The main loop for when we're romping around. case GameStates::Adventuring: DEBUG_echo("Adventuring"); adventuring($input, $charData, $mapData, $dynData); $charDataDirty = true; $mapDataDirty = true; break; // Sleepy nap time. // Sleepy nap time. case GameStates::Resting: DEBUG_echo("Resting"); resting($input, $charData, $mapData); $charDataDirty = true; break; // IT'S CLOBBERING TIME // IT'S CLOBBERING TIME case GameStates::Combat: DEBUG_echo("Combat"); combat($input, $charData, $mapData, $dynData); $charDataDirty = true; $mapDataDirty = true; break; case GameStates::Spellcasting: DEBUG_echo("Spellcasting"); $nonCombat = isset($charData->previousState) && $charData->previousState != GameStates::Combat; spellcasting($input, $charData, $mapData, $nonCombat); $charDataDirty = true; $mapDataDirty = true; break; case GameStates::Looting: DEBUG_echo("Looting"); looting($input, $charData, $mapData); $charDataDirty = true; $mapDataDirty = true; break; case GameStates::LevelUp: DEBUG_echo("LevelUp"); levelUp($input, $charData, $mapData); $charDataDirty = true; break; case GameStates::UsingItem: DEBUG_echo("UsingItem"); $nonCombat = isset($charData->previousState) && $charData->previousState != GameStates::Combat; usingItem($input, $charData, $mapData, $nonCombat); $charDataDirty = true; break; case GameStates::Shopping: DEBUG_echo("Shopping"); shopping($input, $charData, $mapData); $charDataDirty = true; $mapDataDirty = true; break; case GameStates::Dynasty: DEBUG_echo("Dynasty"); dynasty($input, $charData, $mapData, $dynData); $charDataDirty = true; $dynDataDirty = true; break; default: break; } } else { // Initialise the character save. saveGame($nick, SaveFileType::Character); // Initialise the map save. saveGame($nick, SaveFileType::Map); // Prompt for name/dynasty select. if (!$dynPatch) { echo "How do you want to alter your Dynasty?\n"; } else { echo "Welcome to blaventure!\n"; } } if (isset($charData) && $charDataDirty) { saveGame($nick, SaveFileType::Character, $charData); } if (isset($mapData) && $mapDataDirty) { saveGame($nick, SaveFileType::Map, $mapData); } if (isset($dynData) && $dynDataDirty) { saveGame($nick, SaveFileType::Dynasty, $dynData); } }
} else { return 0; } } echo average(16, 10); echo '</br>'; echo average(2, 4); echo '</br>'; //演習問題3 function shopping($a, $b) { if ($a < $b) { return "お金が足りてません"; } $c = $a - $b; return $c; } echo shopping(100, 80); echo '</br>'; echo shopping(40, 60); echo '</br>'; //演習問題4 function m($a, $b) { if ($a >= $b) { return $a; } else { return $b; } } echo m(3, 9);