GC7R0TA-Rechenzentrum/index.php

133 lines
5.6 KiB
PHP
Raw Normal View History

2024-05-04 07:40:23 +00:00
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<?
include("hrm/functions.php");
include("levels.php");
if ( isset( $_GET['level'] ) && !empty( $_GET['level'] ) && is_numeric( $_GET['level'] )){
$level = $_GET['level'];
}
else{
// echo("level value invalid<br>");
$level = 1;
}
$level_description = "level_" . $level . "_description"; //build function name, see http://php.net/manual/de/functions.variable-functions.php
// echo("Function name: \"$level_description\"<br>");
if(is_callable($level_description)) { // The function exists
$parameters_valid = true;
list($title, $description, $example, $criteria, $passcode) = $level_description();
}
else{
$parameters_valid = false;
$passcode = "";
}
?>
<title><? echo("$GC_ID: $GC_NAME"); ?></title>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/webfont/1.5.18/webfont.js"></script>
<script src="hrm/human-resource-machine-viewer/pako_inflate.min.js"></script>
<script src="https://code.jquery.com/jquery-2.1.4.min.js"></script>
<link href="hrm/human-resource-machine-viewer/hrm.css" rel="stylesheet">
<link href="hrm/stylesheet.css" rel="stylesheet">
<script src="hrm/human-resource-machine-viewer/hrm.js"></script>
</head>
<body>
<div class="hrmcode">
<div style="width: 800px">
<h1><nobr><? echo("$GC_ID: $GC_NAME"); ?> - Willkommen</nobr></h1>
Willkommen im Rechenzentrum des Verwaltungssitzes von Geotanien.<br>
Hier werden alle wichtigen Dinge für unser Land gesteuert.
Das beginnt bei der monatlichen Verteilung der Löhne über die Steuerung der Ampeln bis hin zur Bestellung von genügend Futter für alle Meerschweinchen in unserem Kleintierzoo.<br><br>
Hier, in diesem Einführungskurs, könntest Du normalerweise zuschauen und lernen, wie unsere CPU (Central Processing Unit, Zentrale Recheneinheit) funktioniert.
Leider ist aber nun genau diese kaputt gegangen, so dass wir nun ein Problem haben...<br><br>
Um genau zu sein, wir brauchen dringenst deine Hilfe!<br>
Kannst Du als Ersatz für die CPU einspringen?<br>
Wir wissen, dass ein Mensch nicht gerade gut geeignet ist, eine CPU zu ersetzen und ohne Widerrede hunderte Befehle entgenzunehmen und auszuführen.
Wir hoffen aber dennoch, dass Du uns hilfst!<br><br>
Es ist eigentlich ganz einfach:
<ul>
<li>Auf der linken Seite hast Du eine Inbox, welche Boxen mit Zahlen enthält,</li>
<li>Auf der rechten Seite hast Du eine Outbox, in welche die verarbeiteten Boxen abgelegt werden sollen,</li>
<li>In der Mitte hast Du mehrere Daten-Register, welche Du als Zwischenablage verwenden kannst. Sie sind von 0 an durchnummeriert. Um vom ersten Daten-Register lesen zu können, musst Du z.B. den Befehl <span class="copyfrom cmd">COPYFROM</span> <span class="copyfrom cmd">0</span> ausführen.</li>
<li>In deiner Hand kannst du auch jeweils eine Box halten,</li>
<li>Weitere Erläuterungen findest Du in der <a href="hrm/help.htm" target="_blank">Hilfe</a>.</li>
</ul>
<img src=hrm/images/screenshot.png><br><br>
Damit die CPU (bzw. jetzt neu ja Du) weisst, was mit den Boxen aus der Inbox zu machen ist, müssen wir eine Befehlsliste (ein Programm) abarbeiten.
Mit dem Defekt der CPU sind jedoch leider auch alle Programme verloren gegangen, so dass Du zuerst ein passendes Programm schreiben musst.<br>
Die dafür benötigten Befehle sind in der <a href="hrm/help.htm" target="_blank">Hilfe</a> erläutert.<br><br>
<div id="local_storage_check" style="margin:0px;"><font color=darkred>Hmm, dein Browser unterstützt leider kein <a href="https://de.wikipedia.org/wiki/Web_Storage" target="_blank">lokales speichern</a>. D.h., Du musst selber dafür sorgen, dass Du dein Programm zwischenspeicherst, befor Du es ausführst!</font></div>
<br>
Der Geocache wurde mit einem aktuellen Firefox, Chrome und Safari erfolgreich getestet. Falls Du denkt, dass es nicht korrekt läuft, empfehle ich dir, den Browser zu wechseln.
<font color=red>Nicht korrekt funktioniert hat es mit dem <b>Internet Explorer</b> und <b>Opera</b>!</font>
<br><br>
Alles klar?<br>
Dann begib dich bitte zu deiner <a href="hrm/editor.php">ersten Aufgabe</a>.<br><br>
<form action="hrm/editor.php" method="get">
Oder springe direkt zum Level <input type="number" value="2" name="level" min="1" max="5" maxlength=1 style="width: 50px;">
Passcode: <input type="number" name="passcode" style="width: 120px;">
<input type="submit" value="Go">
</form>
</div>
<br><br>
<script>
function font_loaded() {
}
WebFont.load({
google: { families: ['Passion One'] },
active: font_loaded,
inactive: font_loaded,
});
// Check browser support
if (typeof(Storage) !== "undefined") {
// Store
localStorage.setItem("local_storage_test", "1234567890");
// Retrieve
if(localStorage.getItem("local_storage_test") == "1234567890"){
document.getElementById("local_storage_check").innerHTML = "Dein Programm wird jeweils zwischengespeichert. D.h. wenn Du zum Editor zurückkehren musst, ist das Programm noch da.";
}
}
</script>
</div>
</body>
</html>