Homepage | Suche | Titanic-Leitseite


Die ewige Titanic

Das Titanic-Projekt am
Gymnasium Laurentianum Warendorf

Dez.1996 - Februar 2006



Nebelhorn


Inhalt

1. Was ist das Titanic-Projekt ?
2. Technische Umstände
3. Installation
4. Handhabung
5. Aus der Werkstatt
6. Anschrift, Textende






1. Was ist das Titanic-Projekt ?

Es begann im Dezember 1996 - also vor 9 Jahren. Das war deutlich bevor in Hamburg die große Ausstellung mit Titanic-Artefakten stattfand und erst recht bevor der großartige Titanic-Film von David Cameron bekannt wurde. Es war eher ein Zufall, dass dieses Thema gewählt wurde.

Am Gymnasium Laurentianum wurde im Informatik-Unterricht der Jahrgangsstufe 10 Grafik behandelt. Dabei ging es nicht darum, irgendein Anwendersystem zu verwenden, um schöne Bilder zu bearbeiten, sondern es ging um die Entwicklung von kleinen Algorithmen unter Verwendung von parametrisierten Prozeduren. Die kleinen Übungen aus dem Unterricht waren für einige bald nicht mehr interessant; es entstanden erste hübsche, bunte und teilweise bewegte Bilder. Als Thema wurde dann die Titanic ins Spiel gebracht und damit gewann das Unternehmen Eigendynamik.

Auch Schülerinnen und Schüler anderer Kurse und aus der Arbeitsgemeinschaft Informatik fanden daran Interesse und brachten Beiträge ein; später dann auch eine Schülergruppe bei den Projekttagen.

Technisch sollte jeder Beitrag in TurboPascal programmiert sein und zwar so, dass jeder Beteiligte ihn nachvollziehen könnte. Es wurde auf spezielle Werkzeuge, Grafiksoftware, Scanner und Ähnliches verzichtet, sondern stattdessen jedes Bild einzeln programmiert, sozusagen in Handarbeit, ohne grafische Zauberwerkzeuge. Die Ergebnisse ähneln eher einem Comic als einem "Film". Obwohl natürlich auch schöne Bilder angestrebt wurden, war das nicht der Hauptzweck - jedenfalls aus der Sicht des Lehrers. Der wollte planvolles Arbeiten, Prozedurtechnik, Parametrisierung und arbeitsteilige Methoden an einer größeren Aufgabe vermitteln.

Inhaltlich sollte sich jeder Beitrag in der Literatur belegen lassen. Das war nicht ganz streng durchzuhalten und in manchen Fällen durchaus ein Problem, weil es immer noch Sachverhalte gibt, die in verschiedenen Büchern ganz unterschiedlich beschrieben werden. Es machte aber auch Spaß, den vielen kleinen Legenden rund um den Untergang der Titanic nachzuspüren.

Mittlerweile ist eine erstaunliche Schau aus etwa 450 Bildern entstanden und das Projekt ist immer noch nicht abgeschlossen. Das Thema ist unerschöpflich und solange wir daran Spaß haben, wird weitergearbeitet. In den Schuljahren 1997/98, 1998/99, 1999/2000, 2000/2001, 2001/02, 2002/03, 2003/04 und 2005/06 haben neue Informatik-Anfängerkurse Beiträge aus dem Unterricht beigesteuert und darüberhinaus viel freiwillige Arbeit investiert. Dabei sind auch einige Bilder entstanden, die mehr oder minder der Phantasie der Schüler entsprungen sind. Es geht hier auch nicht so sehr um Authentizität, so dass auch solche Schülerarbeiten integriert wurden.

Das Programm war von Anfang an so eingerichtet, dass die Texte in Französisch, Englisch oder Deutsch ausgegeben werden können. Zeitweilig wurde daran gearbeitet, die Texte vollständig zu übersetzen. Diese Aufgabe ist aber noch nicht gelöst.

Als im Frühjahr 1997 das Gymnasium Laurentianum eine Homepage einrichtete, http://www.laurentianum.de, wurde von Anfang an eine Web-Seite zur Titanic angelegt, von der aus das Titanic-Programm von jedermann geladen werden konnte. Das gab dem Projekt einen zusätzlichen Motivationsschub. Weitere Motivation und Anerkennung gab im Juni 1999 der Besuch von NBC-GIGA im Laurentianum, bei dem besonders das Titanic-Projekt im Fernsehen vorgestellt wurde. Und bei "Schule Online" in Neuss im Herbst 1999 und im Herbst 2000 konnten wir ebenfalls mit Erfolg unter anderem unser Titanic-Projekt zeigen.

Das Programm ist immer weiter gewachsen und neben zahlreichen Bildern wurden auch zwei kleine Spiele dem Projekt hinzugefügt. Das Spielchen "Murdoch, rette die Titanic" ist eine Simulation und ziemlich schwer bis man weiß wie es geht. Dennoch ist es bei den Tagen der offenen Tür recht beliebt. Das Spiel "Polar der Titanicbär" ist ein grafisches Adventure, das aber nur ein kleines Beispiel für dieses Spielprinzip geblieben ist.







2. Technische Umstände

Das Programm ist ein "Oldie"; es handelt sich um ein DOS-Programm, das wenig Anforderungen an die Hardware stellt. Das Programm läuft wenn folgende Mindestvoraussetzungen gegeben sind:

  • PC mit mindestens 386 Prozessor,
  • VGA Grafik 640 x 480 mit 16 Farben,
  • DOS 5.0 oder höher.

Unter Windows 3.x / Windows 9x läuft das Programm als DOS-Anwendung. Es gibt auch Windows-NT-Installationen, auf denen das Programm reibungslos läuft. Die letzte Version des Programms wurde unter Windows XP Home entwickelt.

Sollte es auf einem PC doch nicht laufen, könnte man noch mit einer DOS-Bootdiskette einen Versuch machen; dann wird es wahrscheinlich klappen.

Turbopascal hat einige Probleme mit den schnellen Prozessoren, die heute Standard sind. Dafür ist im Programm Vorsorge getroffen worden. Aber es mag dann doch noch unter irgendwelchen Umständen bei zeitabhängigen Dingen ein Problem auftreten; wir wissen es nicht.

An einigen Stellen wird der eingebaute "Beeper" für Toneffekte genutzt, ganz in der uralten DOS-Manier. Da können wir auch nicht garantieren, dass es immer klappt.

Manchmal läuft das eigentliche Programm und Textzeilen und Hintergründe erscheinen auch, nicht jedoch die eigentlichen Bilder. Das kann leicht behoben werden, es liegt nur an der eigenartigen Weise, in der TP Datendateien behandelt. Erste Voraussetzung muss sein, dass alle Dateien mit Bildern TIXXXXXX.VEC im gleichen Verzeichnis wie das Programm TITANIC.EXE gespeichert sein müssen und dass dies Verzeichnis das aktive Verzeichnis sein muss. Dann müssen die Dateien TIXXXXXX.VEC alle nicht das Attribut R (schreibgeschützt) haben. Das Attribut kann schon mal bei der CD-ROM-Version vorkommen. Also alle TIXXXXXX.VEC markieren und mit linker Maustaste Eigenschaften anklicken und das Attribut Schreibschutz löschen. Und schließlich muß das Verzeichnis mit den ganzen Titanic-Dateien auch das aktuelle Arbeitsverzeichnis sein und als solches gegebenenfalls in der PIF-Datei angegeben sein.

Es mag auch sein, dass Texte in den Grafikseiten nicht korrekt gezeigt werden. Das liegt dann daran, dass der erforderliche Zeichensatz für das Programm nicht im Zugriff ist. Dann muss die Datei LITT.CHR in das aktive Verzeichnis kopiert werden. Das aktive Verzeichnis ist das, in dem auch die Dateien TIXXXXXX.VEC gespeichert sind.




Kapitel 1: Was? Kapitel 2: Technisch Kapitel 3: Installation Kapitel 4: Handhabung Kapitel 5: Werkstatt Textende, Namen, Anschrift Textanfang


3. Installation

Ein Installationsprogramm gibt es nicht. Es sind auch nur wenige Schritte nötig, um das Programm zu installieren.

Alle Komponenten des Programms sind in komprimierter Form in die Archivdatei  TITAN.EXE oder TITAN.ZIP  verpackt oder aber alle Dateien befinden sich auf einer CD-ROM in einem Verzeichnis Titanic_Projekt.

3.1 Wenn man die ZIP-Datei hat

Unter DOS oder wenn man kein Winzip hat, sollte man die Datei mit REN TITAN.ZIP TITAN.EXE in eine EXE-Datei umbenennen. Das ist möglich, denn tatsächlich ist es ein selbstzerlegendes DOS-Archiv. Diese Archivdatei zerlegt sich automatisch selbständig, wenn sie als EXE-Datei gestartet wird. Man lege ein Verzeichnis an, kopiere die Datei TITAN.EXE dorthin und starte dann TITAN.EXE. Danach befinden sich alle Dateien in diesem neuen Verzeichnis.

Unter Windows kann man ebenso wie unter DOS verfahren. Man kann aber auch die ZIP-Datei direkt anklicken und wenn z.B. WinZip installiert ist, wird dann damit das Archiv in die Dateien zerlegt.

Die Dateien, die nach dem Auspacken unbedingt benötigt werden, sind:

  • TITANIC.EXE das Programm
  • TITA????.VEC das sind zahlreiche Dateien mit Grafikdaten
  • TITATEXT.DTN dort sind die meisten mehrsprachigen Texte gespeichert
  • LITT.CHR diese Datei stellt den Zeichensatz für Schrift zur Verfügung

Dazu können noch weitere Dateien kommen, z.B. TITANDOC.HTM. Das hängt davon ab, in welcher Form das System vorliegt: CD-ROM-Version, Disketten-Version, Internet-Version.

Es ist wichtig, dass alle Dateien im gleichen Verzeichnis vorhanden sind und nicht schreibgeschützt sind, denn nur dann kann das Programm richtig arbeiten. Die Datei TITAN.EXE/ZIP wird danach nicht weiter benötigt.

3.2 Wenn man die CD-ROM mit dem Verzeichnis Titanic-Projekt hat

Dann gibt es kein ZIP-Archiv, das erst noch zerlegt werden muss. Man kann versuchen, das Programm TITANIC.EXE direkt von der CD aus zu starten. Das gelingt aber nicht immer ohne Fehler, erkennbar daran, dass Schriften und Bilder überhaupt nicht oder nur teilweise angezeigt werden. Die wirklich sichere Lösung ist es, alle Dateien in ein Verzeichnis auf der Festplatte zu speichern. Das tut nicht weh, denn es werden nur 1,6 MByte benötigt und keinerlei Einträge in die Registry oder sonstwo gemacht.

Aus dem Festplattenverzeichnis heraus kann man das Programm dann starten, wenn - wie schon mehrfach gesagt - alle Dateien im gleichen Verzeichnis liegen, der Schreibschutz aufgehoben ist und das Verzeichnis aktiv ist.







4. Handhabung

Es handelt sich um ein DOS-Programm, das von Schülern erstellt wurde. Die Handhabung ist simpel und ausgefeilte Fenstertechniken, Mausaktionen und alles andere, was vorstellbar wäre, war nicht der Zweck der Übung.

Wenn gestartet werden soll, ist es wichtig, dass man in dem Verzeichnis startet, in dem alle Dateien sind. Nur dann findet das Programm auch seine Daten. Gestartet wird einfach mit Titanic.

Es erscheint dann das Hauptmenü, in dem man einige Einstellungen machen kann und die eigentliche Schau starten kann. Eingaben im Hauptmenü sind in erster Linie die hervorgehobenen Anfangsbuchstaben der angegebenen Menüpunkte. Es braucht nur der Buchstabe, ohne Enter, eingegeben werden. In einigen Fällen werden dann noch Zahleneingaben angefordert, die mit Enter abgeschlossen werden müssen.

4.1 Einstellungen

4.1.1 Sprache für die Texte

    Vorgesehen sind Texte in Deutsch, Englisch und Französisch. Das ist bisher aber nur in Teilen realisiert worden. Mit D(eutsch , E(nglish oder F(rancais wählt man die Sprachversion. Die kleine Fahne zeigt an, welche Sprache aktiv ist.

4.1.2 Toneffekte

    Die Toneffekte können mit S(ound ein- bzw. ausgeschaltet werden.

4.1.3 Zeitverhalten

    Der "Film" kann automatisch ablaufen. Im Programm ist für jedes Bild festgelegt, wieviel Zeiteinheiten es gezeigt bleiben soll. Diese Zeiteinheit kann hier mit Z(eiteinheit festgelegt werden. Bei der Standardeinstellung ZE=20 hat man knapp Zeit, um alle Texte lesen zu können. ZE kann auf einen Wert von 0 bis 99 gesetzt werden. Aus der Zahleneingabeprozedur kommt man erst heraus, wenn ein gültiger Wert eingegeben worden ist.

    In manchen Bildern wird ein Objekt über den Bildschirm bewegt. Wie schnell das geschieht, hängt von der Schnelligkeit der Hardware ab. Sollte ein Schiff wie ein Jet über den Bildschirm flitzen, dann sollte man mit W(artezeit eine zusätzlich Verzögerung setzen. Das kann eine 10 oder höher sein, je nachdem wie schnell der Rechner ist.

4.1.4 Kapitel

    Man muss nicht immer den ganzen "Film" starten. Es ist möglich, einen Abschnitt des "Films" zwischen Startkapitel V(on und Endkapitel B(is anzugeben. Für beide Zahlenwerte ist eine zweistellige Zahl von 10 bis 99 erlaubt. Die Zahleneingabeprozedur wird nur nach gültiger Eingabe verlassen.

    Jedes Bild hat links oben eine dreistellige Nummer. Das ist die Seitennummer. Aus den beiden ersten Ziffern der Seitennummer wird die Kapitelnummer gebildet, also Kapitel 12 für Seite 125. Das stimmt nicht immer ganz exakt, reicht aber aus, um bestimmte Teile des "Films" auszuwählen.

4.2 Das Spielchen "MURDOCH - Rette die Titanic"

Aus dem Hauptmenü heraus kommt man mit M(urdoch zum Simulationsspielchen "MURDOCH - Rette die Titanic". In zwei Texttableaus wird zuerst erklärt, worum es geht und wie man es spielt. Dann kann man das Spielchen ausführen. Es wird nur mit der Tastatur gespielt.

Titanic und GIGA
Miriam Pielhau von GIGA spielt Murdoch
Ganz ernst sollte man das Spielchen nicht nehmen, obwohl viel Mühe darauf verwendet wurde, das Schiff möglichst realistisch zu bewegen, also träge und keineswegs wie eine Yacht. Aber wie es wirklich war, kann nicht simuliert werden, denn zu viele Parameter sind unbekannt oder werden widersprüchlich berichtet.

Das Spielchen kann nur einen Eindruck vermitteln, vor welchen Problemen der 1.Offizier im kritischen Moment stand. Murdoch musste in Echtzeit handeln und hatte nur einen Versuch. Hier sind die Umstände etwas günstiger und man kann tatsächlich die Titanic retten; das Ergebnis wird angezeigt, wenn man den Eisberg passiert oder getroffen hat. Note 1 oder 2 bedeutet dabei, dass das Schiff gerettet wäre. Murdochs reale Manöver, hätten hier die Note 5 erhalten.


4.3 Das Spielchen "POLAR der Titanicbär"

Aus dem Hauptmenü heraus kommt man mit P(olar zum Adventure-Spielchen "POLAR der Titanicbär". Das Spiel startet sofort mit einer Titelseite ohne weitere Erklärungen. Mit einem Tastendruck kommt man auf eine Folgeseite und mit einem nächsten Tastendruck in die erste Szene. Mit weiteren Tasten, die jeweils am oberen Rand angegeben werden, soll man sich dann durch die Szenen bewegen und in ein Rettungsboot begeben.

Die Version 2.2 von "POLAR" ist keine wirkliche Herausforderung, weil nur wenige Szenen programmiert wurden. Aber die benutzte Programmiertechnik ist so ausgelegt, dass ein sehr viel größeres Spiel konstruiert werden könnte.

4.4 Die Schau

4.4.1 Kurzhinweise

    Mit H(inweise kann man eine Seite mit den wichtigsten Bedienungshinweisen erhalten. Nach Tastendruck ist man wieder im Hauptmenü.

4.4.2 Teile

    Nach T(eile erscheinen weitere Menüs, in denen durch Tastendruck bestimmte Seiten aus dem "Film", aber auch Alternativen und Zusätze, die nicht in den "Film" aufgenommen wurden, gezeigt werden.
    Mit einem beliebigen Tastendruck kehrt man in das Menü zurück. Mit F10 kann das ganze Programm sofort abgebrochen werden. Wenn ein bewegtes Bild oder Musikeffekte laufen, kann man durch wiederholte Tastendrücke in das Menü zurückkommen.

4.4.3 Ohne Ende

    Mit O(hne startet man den "Film" endlos, d.h. er läuft vollautomatisch und startet immer wieder neu. Abgebrochen wird mit F10.

4.4.4 Alles

    Mit A(lles wird der "Film" gestartet. Wie der "Film" abläuft hängt von den Einstellungen ab.
    Mit F10 kann jederzeit abgebrochen werden. Dann ist das Programm ordnungsgemäß beendet. Ansonsten kehrt man nach dem letzten Kapitel in das Hauptmenü zurück.

4.5 Bildwechsel

Im "Film" wechseln die Bilder nach einer programmierten Wartezeit, siehe Ziffer 4.1.3. Hier kann man außerdem noch manuell eingreifen.

Ein beliebiger Tastendruck nach dem Bildaufbau erzeugt ein Standbild. Erst nach einem zweiten Tastendruck geht es dann weiter.

Beim Bildaufbau kann mit F1 gestoppt werden. Nach Tastendruck geht es weiter.

Wenn nach dem Bildaufbau Toneffekte kommen, stoppt der erste Tastendruck die Toneffekte, der zweite macht das Standbild und der dritte schaltet zum nächsten Bild.

Wenn eine bewegte Grafik erscheint, kann die Bewegung mit einem Tastendruck, notfalls auch mit mehreren, beendet werden.

4.6 Programmende

Aus den Untermenüs kehrt man mit Q(uit oder alternativ mit Esc in das Hauptmenü zurück. Im Hauptmenü beendet man ebenfalls mit Q(uit oder Esc. Dann wird noch die Ende-Seite gezeigt und nach einer beliebigen Taste ist das Programm dann beendet.

Im Programmabschnitt "Einzelne Programmteile", z.B. bei der Bilderschau mit den Projektergebnissen, kommt es vor, dass ein einfaches Q nicht ausreicht und F10 auch nicht funktioniert. Dann wird eine andere Eingabe erwartet, die meistens auf der Seite oder der Seite vorher erklärt war. In diesen Fällen sollte aber mit Q [Enter] der Programmabschnitt beendet werden können. Das zusätzliche [Enter] bringt es!

Außerhalb der Menüs und den Stellen, wo eine Eingabe erwartet wird, funktioniert immer der Schnellausstieg mit der Funktionstaste F10. Damit wird das Programm unmittelbar beendet.







5. Aus der Werkstatt

5.1 Die Grafikplattform

Das ganze Programm ist rein in TurboPascal Version 7.0 programmiert; und zwar für einfache VGA-Grafik in der Auflösung 640x480 mit 16 Farben. Andere Möglichkeiten oder Hilfsmittel standen nicht zur Verfügung und wurden für die Programmierung nicht benutzt. Der Lehrer stellte den Schülern lediglich eine UNIT Turtle mit Grafikprozeduren zur Verfügung, die einerseits eine einheitliche Plattform für die Grafikprogrammierung bot und die andererseits die Programmierung erheblich vereinfachte. Im ganzen Programm steht deshalb auch kein einziger Prozeduraufruf zu Prozeduren der TP-UNIT Graph, kein Assemblertext und es gibt keine externen Unterprogramme; alles läuft nur mit klassischen Pascal-Anweisungen und der UNIT Turtle.

Die UNIT Turtle enthält die bekannten Möglichkeiten der Turtlegrafik und zusätzliche Elemente, um Flächen zu mit Farbe zu füllen. Sie ist wesentliches Werkzeug für den Informatikunterricht in den Klassen 9 und 10 und es ist auch dem Anfänger leicht möglich, damit Bilder zu erschaffen.

Diese UNIT ist kein Geheimnis, allerdings auch kein Wunderwerkzeug. Falls jemand noch - wie wir - mit TurboPascal 7.0 arbeitet und mit unserer Grafikunit arbeiten möchte, kann er diese von uns bekommen. So wie das Titanic-Programm kann auch diese TP-7-Unit von unserer Lau-Homepage übers INTERNET geladen werden.

5.2 Programmbeispiele

Es gibt kaum zwei gleichartig programmierte Schülerbeiträge, selbst wenn die grundsätzlich gleiche Methode und das gemeinsame Werkzeug TurboPascal mit den Turtlegrafik-Prozeduren benutzt wurden.

Es folgen hier zwei Programmteile, die von verschiedenen Schülern zum gleichen Entwurf verfaßt wurden.


  1 PROCEDURE officer_lowe(x,y,z:Real); 1 PROCEDURE officer_lowe(x,y,l:Real);
  2 {Tobias B., Inf.Kurs 12}            2 {Markus N., Inf.Kurs 10}
  3 VAR zust,h1,h2,h3: zustandstyp;     3
  4 n: Integer;                         4 PROCEDURE kragen (l: Real);
  5 BEGIN                               5 BEGIN
  6   grundstellung;                    6   stift_setzen(rauf);
  7   zustand(zust);                    7   wohin(x,y); 
  8   zust.x:=x; zust.y:=y;             8   stift_setzen(runter);
  9   zust.richt:=0;                    9   rechts(70); vor(l/9);
 10   zustand_setzen(zust);            10   links(10); vor(l/12);
 11   farbe_setzen(black);             11   links(10); vor(l/26);
 12   {Schultern und Kragen ...}       12   links(10); vor(l/40); 
 13   stift_setzen(rauf);              13   links(10); vor(l/40); 
 14   links(100);vor(z*80);rechts(45); 14   rechts(130);vor(l/8);
 15   stift_setzen(runter);            15   links(75); vor(l/16);
 16   rechts(65); vor(z*30);           16   rechts(135);vor(l/11);
 17   links(10); vor(z*20);            17   links(100); vor(l/8);
 18   zustand(zust);                   18   links(10); vor(l/10);
 19   rechts(110); vor(z*23);          19   rechts(75); vor(l/12);
 20   links(80); vor(z*18);            20   rechts(180);vor(l/12);
 21   rechts(138); vor(z*22);          21   rechts(10); vor(l/13);
 22   links(98); vor(z*21);            22   links(30); vor(l/8);
 23   links(5); vor(z*10);             23   links(32); vor(l/20); 
 24   links(10); vor(z*15);            24   links(30); vor(l/40); 
 25   zustand_setzen(zust);            25   rechts(22); vor(l/25);
 26   links(70); vor(z*2);             26   links(25); vor(l/50); 
 27   rechts(60); vor(z*12);           27   rechts(30); vor(l/9); 
 28   rechts(85); vor(z*30);           28   links(93); vor(l/14);
 29   links(4); vor(z*20);             29   links(180); vor(l/14); 
 30   links(123); vor(z*17);           30   links(55); vor(l/65);
 31   rechts(160); vor(z*17);          31   rechts(45); vor(l/60);
 32   zustand(h1);                     32   rechts(100);vor(l/14); 
 33   links(140); vor(z*8);            33   links(10); vor(l/14);
 34   links(8); vor(z*4);              34   links(5); vor(l/14);
 35   links(8); vor(z*4);              35   links(5); vor(l/33); 
 36   zustand(zust);                   36   rechts(115);vor(l/45); 
 37   links(30); vor(z*7);             37   links(40); vor(l/25);
 38   links(115); vor(z*5);            38 END;
 39   rechts(23); vor(z*4);            39 
 40   rechts(42); vor(z*8);            40 PROCEDURE hemd (l: Real);
 41   rechts(6); vor(z*10);            41 BEGIN
 42   rechts(6); vor(z*13);            42   links(45); vor(l/40);
 43   rechts(6); vor(z*12);            43   links(65); vor(l/55); 
 44   zustand(h3);                     44   rechts(113);vor(l/10); 
 45   links(105); vor(z*6);            45   links(15); vor(l/10);
 46   zustand_setzen(zust);            46   links(130); vor(l/7);
 47   rechts(125); vor(z*3);           47   links(90); vor(l/18);
 48   rechts(12); vor(z*9);            48   rechts(90); vor(l/30);
 49   zustand(h2);                     49   links(65); vor(l/13);
 50   rechts(10); vor(z*10);           50   rechts(160);vor(l/15);
 51   rechts(12); vor(z*6);            51   links(5); vor(l/15); 
 52   rechts(100); vor(z*9);           52   links(10); vor(l/15);
 53   links(120); vor(z*9);            53   rechts(30); vor(l/15); 
 54   links(10); vor(z*7);             54   rechts(180);vor(l/15);
 55   rechts(100); vor(z*15);          55   links(30); vor(l/15); 
 56   links(15); vor(z*9);             56   rechts(10); vor(l/15);
 57   links(7); vor(z*10);             57   rechts(5); vor(l/15);
 58   links(30);vor(z*10);rechts(45);  58   rechts(5); vor(l/13);
 59   FOR n:=1 TO 36 DO                59   rechts(5); vor(l/15);
 60   BEGIN links(10);vor(z*0.1) END;  60   rechts(5); vor(l/15);
 61 ... und so fort ...                61 ... und so fort ...

Zur Laufzeit des Programms zaubern dann solche Prozeduren farbige Zeichnungen auf den Bildschirm. Oft wurden solche Prozeduren im Titanic-Programm dann nicht direkt benutzt, sondern sie wurden in einen komprimierten Zahlencode übersetzt und als kleine Datei gespeichert. Im Titanic-Programm steht eine kleine Prozedur, die diese Datei lesen kann und die Zahlen als TurboPascal-Befehle interpretiert und ausführt. Diese Aufgabe aus Übersetzung in Zahlencode und Interpretation wurde vom Informatikkurs 11 bearbeitet.

5.3 Bewegte Figuren

Die richtige Würze bringen erst bewegte Grafiken, aber wenn man sich nur auf reine Pascal-Prozeduren beschränkt, dann ist das gar nicht so einfach. Die naheliegende Idee ist es, eine Figur zu zeichnen, sie dann zu löschen und leicht verschoben neu zu zeichnen. Aber selbst auf einem schnellen Rechner gibt das kein akzeptables Ergebnis. Für Figuren aus Geraden und Kreisbögen, die sich senkrecht oder waagerecht bewegen sollen, gibt es aber eine ganz einfache und dennoch wirkungsvolle Methode.

Zum Beispiel betrachte man das untenstehende Rechteck. Es habe die Länge 30 und die Höhe 10 und es soll sich von rechts nach links über den Bildschirm bewegen. Zuerst beziehe man die Koordinaten der Eckpunkte auf einen festen Ankerpunkt mit den Koordinaten (x | y). Wenn der Ankerpunkt die linke untere Ecke ist, dann ergeben sich die angegebenen relativen Koordinaten.


Rechteck

Nun wird nicht das ganze Rechteck gezeichnet, sondern nur die vordere und die hintere Kante. Die vordere Kante zieht dann bei Bewegung nach rechts eine Farbschleppe nach und die hintere Kante in der Hintergrundfarbe schneidet die dann gleichsam ab.

Mit geeigneten Grafikhilfsprozeduren aus dem Paket Turtlegrafik sieht das dann im Programm folgendermaßen aus:


PROCEDURE linie (x1,y1, x2,y2, farbe: Integer);
BEGIN
  farbe_setzen(farbe);
  stift_setzen(rauf); wohin(x1,y1);
  stift_setzen(runter); wohin(x2,y2)
END;

PROCEDURE beweg_die Kiste (y,farbe,hintergrundfarbe: Integer);
VAR x: Integer; 
BEGIN
  FOR x:=320 DOWNTO -350 DO
  BEGIN 
    linie(x,y, x,y+10, farbe);
    linie(x+30,y, x+30,y+10, hintergrundfarbe);
    delay(20)
  END 
END;

Ein "Delay" ist nötig, weil es sonst zu schnell ablaufen würde. Mit dem Aufruf "beweg_die_Kiste(0,yellow,black);" wird das gelbe Rechteck vor einem schwarzen Hintergrund bewegt.

Die Effekte können mit etwas Fleiß ganz erstaunlich sein; man betrachte einmal das eigentlich ganz schlichte Bild "Anker auf" im "Titanic-Film".

5.4 Music on Board R.M.S Titanic

Da das gesamte Titanic-Programm in der Programmiersprache TurboPascal und ohne Einbindung von Assembler-Prozeduren geschrieben wurde, sind für die Tongenerierung auch ausschließlich die TurboPascal-Prozeduren verwendet worden.

Mit der Prozedur "Sound" wird der Tongenerator für den internen PC-Lautsprecher aktiviert. Die Zahl in Klammern gibt die gewünschte Frequenz an. Der Ton wird solange gehalten, bis die Prozedur "NoSound" aufgerufen wird. Ein "Delay" im Programm veranlaßt den Computer, eine Pause einzulegen. Die Pausenlänge wird in Klammern in Millisekunden angegeben.

Sound(440); Delay(900);
Nosound; Delay(100);
Der obige Programmausschnitt spielt den Kammerton A 9/10 Sekunden lang und wartet 1/10 Sekunde auf die nächste Aktion. Der Rest ist dann ein Rechenexempel und eine Frage von Noten und geschickter Programmierung.

5.5 Das Digitalisieren einer Grafik

Mit TurboPascal alleine hat man begrenzte Möglichkeiten, um eine Figur oder Grafik von einer Vorlage in den Computer zu übertragen. Eine Methode ist, das Bild auf eine Klarsichtfolie zu übertragen, die anschließend auf den Bildschirm gepinnt wird, so dass man die Linien nachzeichnen kann. Hier wurden zwei Verfahren benutzt.

Es werden alle Linien mit Koordinatenpaaren gezeichnet. Die Koordinaten sind auf den Bildschirm mit 640 x 480 Bildpunkten bezogen. Für Verschiebungen, Vergrößerungen und Drehungen sind Koordinatenrechnungen nötig.

Oder die Linien werden mit einer Kombination von Längen und Winkeln berechnet und gezeichnet; dafür steht ein Prozedurpaket "Turtlegrafik" zur Verfügung.

Bei beiden Verfahren ist noch zu beachten, dass die Linien aneinander anschließen müssen, damit die Grafik eingefärbt werden kann.

Außerdem muss die Grafik vektorisiert sein, d.h. die Grafik muss frei

  • positionierbar sein; sie soll überall auf dem Bildschirm gezeichnet werden können,
  • orientierbar sein; sie soll frei drehbar sein, so dass man sie auch auf den Kopf stellen könnte,
  • skalierbar sein; es muss möglich sein, die Figur mit einem Zoomfaktor beliebig zu vergrößern oder zu verkleinern.

5.6 Von der IDEE zum PROGRAMM

Zuerst steht die Idee für ein Bild.

Entweder wird dann in der Literatur recherchiert, eine Vorlage gesucht oder nach Details geforscht. Oder die Idee wird aus der Phantasie in einen Entwurf umgesetzt.

In beiden Fällen entsteht ein mehr oder minder exakter Entwurf für ein Bild, dem Längen, Winkel und Koordinaten entnommen werden können oder auch eine Folie, die man auf den Bildschirm pinnen kann. Der Entwurf kann mit verschiedenen Verfahren umgesetzt werden.

Es könnten Koordinaten ausgemessen und berechnet werden, der Entwurf könnte in geometrische Grundfiguren zerlegt werden, es könnte der Entwurf mit Turtle-Operationen nachgezeichnet werden. Das Ergebnis ist eine Prozedur für ein Bildelement.

Unter Umständen wird daraus eine Datei, in der die Turtlegrafik Operationen verschlüsselt sind.

Das neue Bildelement, als Prozedur oder umgewandelt in eine Zahlendatei, wird dann in das Gesamtprogramm integriert. Damit das Programm mit den jetzt ungefähr 450 Bildern überhaupt noch als TurboPascal-Programm laufen kann, wurden für die neueren Bilder in den meisten Fällen Zahlendateien angelegt, die ein kleiner Interpreter dann wie die ursprünglichen Prozeduren ausführt.

Diese Dateien mit der Endung .VEC können mit dem beigefügten Programm VECVIEW.EXE angesehen werden, wenn man den Dateityp VEC mit diesem Programm verknüpft.



Programmbeiträge von:

Inf.Kurs 10 (1996/97), Inf.GK 11 (1996/97), Inf.GK 12 (1996/97),
Inf.Kurs 10 (1997/98), Inf.Kurs 10 (1998/99), Inf.Kurs 10 (1999/2000),
Inf.Kurs 10 (2000/01), Inf.Kurs 10 (2001/02), Inf.GK 11 (2001/02),
Inf.GK 11 (2002/03), Inf.Kurs 10 (2003/04), Inf.Kurs 10 (2004/05),
Inf.Kurs 10 (2005/06) und Inf.AG (1996-1998)

Textbeiträge von:

Florian Bolle (Jgstf.11, 1996/97, Abi '99), Harald M. Otto (Abi '66),
Christian Saß (Jgstf.11, 1996/97, Abi '99), Andreas Tepe (Jgstf.12, 1996/97, Abi '98)


Anfragen: H.M.Otto, Gymnasium Laurentianum, Von-Ketteler-Straße 24,
D-48231 Warendorf
oder E-Mail: hmotto@yahoo.de

TITAN.ZIP [Vers.4.33, Feb.2006, 1019 KByte]







Homepage | Suche | Titanic-Leitseite