getConfigEntry('framework_base_path') . 'includes.php';
// Load all game classes
require $cfg->getConfigEntry('framework_base_path') . 'classes.php';
// Load file I/O handler
require $cfg->getConfigEntry('framework_base_path') . 'file_io.php';
// Load database layer
require $cfg->getConfigEntry('framework_base_path') . 'database.php';
// Set default application
FrameworkConfiguration::getInstance()->setConfigEntry('default_application', 'shipsimu');
$application = 'shipsimu';
// Load more includes
require $cfg->getConfigEntry('root_base_path') . 'application/shipsimu/loader.php';
// Wir tun hier so, als waere schon das Reederei-Objekt generiert und wir wollen
// jetzt die Personalliste wiederherstellen
$personell = SimulatorPersonell::createSimulatorPersonellByID('SimulatorPersonell@829292aeca3f6bf78c16e25fc4f75c98');
// Personal-Objekt debuggen
if (defined('DEBUG_PERSONELL_OBJ')) {
DebugMiddleware::getInstance()->output(sprintf("The personal object looks like this:
%s\n", print_r($personell, true) )); } // Hafen bauen $harbor = Harbor::createHarbor("Hamburger Hafen"); // Name ausgeben DebugMiddleware::getInstance()->output(sprintf("Der %s ist gegründet worden.
%s\n", $harbor->getHarborName(), print_r($harbor, true) )); } // Haendler gruenden $merchant = Merchant::createMerchant("Namenlos", $harbor); // Array mit Einbauten erstellen $einbauten = array( 'parts' => array( // *** Die zu einbauenden Schiffsteile *** 'Motor' => array( // --- Maschinenraum mit Motor --- "Ocean-Power 2000", // Bezeichnung 20000, // Pferdestaerken 6, // Anzahl Nocken 2.5, 2, 3.5 // Abmasse (Breite/Hoehe/Laenge) ), 'Bridge' => array( // --- Kommandobruecke --- 26, 2.5, 15 // Abmasse (Breite/Hoehe/Laenge) ), 'CarDeck' => array( // --- Autodecks --- 'amount' => 8, // Anzahl Autodecks (einige liegen hintereinander im selben Deck!) 'dim' => array( // Abmessung (Breite/Hoehe/Laenge) 6, 3, 16 ) ), 'TruckDeck' => array( // --- Decks fuer LKW/Busse haben vielleicht ein anderes Belueftgungssystem, etc. --- 'amount' => 1, // Anzahl der Decks 'dim' => array( // Abmessung (Breite/Hoehe/Laenge) 8, 5, 195 // Geht durchs gesamte Schiff! ) ), 'TrainDeck' => array( // --- Decks fuer Zuege haben Schienen... --- 'amount' => 1, // Anzahl der Decks 'dim' => array( // Abmessung (Breite/Hoehe/Laenge) 8, 4, 195 // Geht durchs gesamte Schiff! ) ), 'LuxuryCabin' => array( // --- Luxuskabinen --- 'amount' => 20, // Anzahl Luxuskabinen im Schiff 'rooms' => 4, // Raeume: 2 Schlafzimmer, 1 Auffenthaltszimmer, 1 Bad mit Dusche/Toilette/Waschbecken 'bed' => 3, // Anzahl Betten (1 Doppelbett 2 Einzelbetten, Doppel-/Einzelbetten in getrennte Raeume) 'dim' => array( // Abmessung der Luxuskabine (Breite/Hoehe/Laenge) 4, 3, 5 ), ), 'PremierCabin' => array( // --- Mittlere Kabinen --- 'amount' => 40, // Anzahl 'rooms' => 2, // Raeume: Schlafzimmer, Bad mit Toilette/Waschbecken 'bed' => 2, // Anzahl Betten (1 Doppelbett, 1 Einzelbett; gemeinsamer Raum) 'dim' => array( // Abmessungen der Kabine (Breite/Hoehe/Laenge) 4, 2.5, 4 ) ), 'LowCabin' => array( // --- Untere Kabinen (befinden sich in den Unterbauten) --- 'amount' => 90, // Anzahl 'rooms' => 1, // Raeume: Schlafzimmer, Waschbecken 'bed' => 2, // Anzahl Betten (2 Etagenbetten) 'dim' => array( // Abmessungen der Kabine (Breite/Hoehe/Laenge) 3, 2.5, 4 ) ), 'EconomyCabin' => array( // --- Unterste Kabinen (befinden sich tief unten im Schiffsbauch) --- 'amount' => 140, // Anzahl 'rooms' => 1, // Raeume: Schlafzimmer, Waschbecken 'bed' => 1, // Anzahl Betten (1 Etagenbett) 'dim' => array( // Abmessungen der Kabine (Breite/Hoehe/Laenge) 2, 2.5, 2 ) ) ), 'builds' => array( // *** Welche Oberklasse verwendet werden sollen *** 'Motor' => "MaschineRoom", 'Bridge' => "BaseUpperStructure", 'LuxuryCabin' => "BaseCabin", 'PremierCabin' => "BaseCabin", 'LowCabin' => "BaseCabin", 'EconomyCabin' => "BaseCabin", 'CarDeck' => "BaseDeck", 'TrainDeck' => "BaseDeck", 'TruckDeck' => "BaseDeck" ) ); // Preisliste auffuellen foreach ($einbauten['parts'] as $key=>$part) { // Create item array string $item = ''; foreach ($part as $idx=>$itemPart) { if (is_string($itemPart)) { // String found $item .= sprintf("\"%s\", ", $itemPart); } elseif (is_int($itemPart)) { // Integer found $item .= sprintf("%d, ", $itemPart); } elseif (is_float($itemPart)) { // Float found $item .= sprintf("%f, ", $itemPart); } elseif (is_array($itemPart)) { // Sub-array found $item .= "array("; // Go all items through foreach ($itemPart as $idx2=>$subPart) { if (is_int($subPart)) { // Integer again found $item .= sprintf("%d, ", $subPart); } elseif (is_float($subPart)) { // Float found $item .= sprintf("%f, ", $subPart); } else { // Unsupport part found die(sprintf("[Main:] Unsupported sub-array element on pos %d in array %s found: %s", $idx2, $idx, $subPart)); } } // Remove trailing comma $item = substr($item, 0, -2); // Add closing bracket $item .= "), "; } else { // Unsupport part found die(sprintf("[Main:] Unsupported array element on pos %d: %s", $idx, $itemPart)); } } // Remove trailing comma $item = substr($item, 0, -2); // Random price $price = mt_rand(5, 12) * 10000; // Generate command for adding objects to a price list $eval = sprintf("\$merchant->addItemToPriceList(%s::create%s(%s), %d);", $key, $key, $item, $price ); // Debug message if ((defined('DEBUG_EVAL')) || (defined('DEBUG_ALL'))) DebugMiddleware::getInstance()->output(sprintf("[Main:] Konstruierte PHP-Anweisung:
%s
%s\n", $merchant->getMerchantName(), print_r($merchant, true) )); } // Reederei gruenden $shipping = ShippingCompany::createShippingCompany("Hanseatic Travel Company", $harbor); // Firmenschef setzen $shipping->setCompanyFounder(CompanyEmployee::createCompanyEmployee("Roland", "Häder", "M", 1977, 9, 26, true, 2000)); // Dann mal ausgeben... DebugMiddleware::getInstance()->output(sprintf("Die Reederei %s ist von %s %s gegründet worden.
%s\n", $shipping->getCompanyName(), print_r($shipping, true) )); } // Clean up a little unset($einbauten); unset($part); unset($eval); unset($item); unset($key); unset($typeValid); // Gesamtwert ausgeben $totalValue = $contract->getTotalPrice(); // Wert ausgeben DebugMiddleware::getInstance()->output(sprintf("Der Bau der %s wird der Reederei %s voraussichtlich %s kosten.
%s\n", print_r($contract, true) )); } // Erstmal bis hier hin... //exit(); // Anzahl Betten ermitteln $totalBeds = $contract->getShipInstance()->calcTotalBeds(); // Bettenanzahl ausgeben DebugMiddleware::getInstance()->output(sprintf("Es stehen %d Betten zur Verfügung.", $totalBeds ));