Visual Basic Hamster



Ähnliche Dokumente
Programmieren mit dem Java-Hamster-Modell. VP Orientierung Informatik WS 2008/09 H.Hagenauer

Erstellen der Barcode-Etiketten:

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Zertifikat in dakota einlesen Wie lese ich mein Zertifikat in dakota.le ein?

Handbuch B4000+ Preset Manager

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

Anleitung über den Umgang mit Schildern

Datensicherung. Beschreibung der Datensicherung

DOKUMENTATION VOGELZUCHT 2015 PLUS

Eine Einführung in die Installation und Nutzung von cygwin

Wie halte ich Ordnung auf meiner Festplatte?

S/W mit PhotoLine. Inhaltsverzeichnis. PhotoLine

Eigenen Farbverlauf erstellen

Konvertieren von Settingsdateien

1. Software installieren 2. Software starten. Hilfe zum Arbeiten mit der DÖHNERT FOTOBUCH Software

Zahlen auf einen Blick

Um ein solches Dokument zu erzeugen, muss eine Serienbriefvorlage in Word erstellt werden, das auf die von BüroWARE erstellte Datei zugreift.

Produktschulung WinDachJournal

Artikel Schnittstelle über CSV

ELO Print&Archive so nutzen Sie es richtig

Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können.

Lehrer: Einschreibemethoden

SAMMEL DEINE IDENTITÄTEN::: NINA FRANK :: :: WINTERSEMESTER 08 09

Anleitung zum Einspielen der Demodaten

Nach der Anmeldung im Backend Bereich landen Sie im Kontrollzentrum, welches so aussieht:

Erstellen einer digitalen Signatur für Adobe-Formulare

Whitepaper. Produkt: combit address manager STAMPIT der Deutschen Post nutzen. combit GmbH Untere Laube Konstanz

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Leichte-Sprache-Bilder

Durchführung der Datenübernahme nach Reisekosten 2011

Schrittweise Anleitung zur Installation von Zertifikaten der Bayerischen Versorgungskammer im Mozilla Firefox ab Version 2.0

Step by Step Webserver unter Windows Server von Christian Bartl

GeoPilot (Android) die App

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

Speichern. Speichern unter

Historical Viewer. zu ETC5000 Benutzerhandbuch 312/15

Kurzanleitung fu r Clubbeauftragte zur Pflege der Mitgliederdaten im Mitgliederbereich

teischl.com Software Design & Services e.u. office@teischl.com

Erstellen einer GoTalk-Auflage

Stand: Adressnummern ändern Modulbeschreibung

MINDMAP. HANDREICHUNG (Stand: August 2013)

HEINZ MARTIN PRINTSCREEN BETRIEBSANLEITUNG. Rev 2.11

Urlaubsregel in David

Einzel- s und unpersönliche Massen-Mails versenden

Bedienungsanleitung für den SecureCourier

4. BEZIEHUNGEN ZWISCHEN TABELLEN

Handbuch ECDL 2003 Basic Modul 5: Datenbank Access starten und neue Datenbank anlegen

ACHTUNG: Voraussetzungen für die Nutzung der Funktion s-exposé sind:

Aufklappelemente anlegen

OS Anwendungsbeschreibung

Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Dateien löschen und wiederherstellen

Viele Bilder auf der FA-Homepage

Hinweise zum Übungsblatt Formatierung von Text:

Handbuch zum Excel Formular Editor

teamsync Kurzanleitung

Whitepaper. Produkt: combit Relationship Manager / address manager. Dateiabgleich im Netzwerk über Offlinedateien

Projekte Packen, Kopieren und Versenden

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

Anleitung zum erstellen einer PDF-Datei aus Microsoft Word

Tevalo Handbuch v 1.1 vom

Datensicherung und Wiederherstellung

-Versand an Galileo Kundenstamm. Galileo / Outlook

DOKUMENTATION. ClubWebMan Photoalbum. mit dem Photobook Plugin erstellen.

Informationen zur Verwendung von Visual Studio und cmake

1 Einleitung. Lernziele. Symbolleiste für den Schnellzugriff anpassen. Notizenseiten drucken. eine Präsentation abwärtskompatibel speichern

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware

Bedienungsanleitung. Stand: Copyright 2011 by GEVITAS GmbH

Erstellen einer PostScript-Datei unter Windows XP

Kurzanleitung. Toolbox. T_xls_Import

Handbuch für Redakteure

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Ihr CMS für die eigene Facebook Page - 1

Import des persönlichen Zertifikats in Outlook 2003

1. Einleitung Was ist die App Listini Was benötigen Sie dazu Wie gehen Sie vor

Arbeiten mit UMLed und Delphi

Kaiser edv-konzept, Inhaltsverzeichnis

Erstellen von x-y-diagrammen in OpenOffice.calc

Evident VDDS-Anbindung von MIZ

Klicken Sie mit einem Doppelklick auf das Symbol Arbeitsplatz auf Ihrem Desktop. Es öffnet sich das folgende Fenster.

Dieser Text beschreibt die Neuerungen von DaNiS und die Vorgehensweise beim DaNiS-Update.

Punkt 1 bis 11: -Anmeldung bei Schlecker und 1-8 -Herunterladen der Software

Flyer, Sharepics usw. mit LibreOffice oder OpenOffice erstellen

Dokumentation. Mindestanforderungen: Das Board

Handbuch ECDL 2003 Basic Modul 2: Computermanagement und Dateiverwaltung Dateien löschen und wiederherstellen

Einfügen von Bildern innerhalb eines Beitrages

Installationsanleitung Maschinenkonfiguration und PPs

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

TechNote. Produkt: TWINFAX 7.0 (ab CD_24), TWINFAX 6.0 Modul: SMTP, T611, R3 Kurzbeschreibung: Briefpapier- und Mailbodyunterstützung

Über die Internetseite Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt.

Update-Anleitung für SFirm 3.1

Outlook-Daten komplett sichern

HANDBUCH PHOENIX II - DOKUMENTENVERWALTUNG

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: )

Animationen erstellen

Anleitung zum Upgrade auf SFirm Datenübernahme

Transkript:

1. Einleitung Visual Basic Hamster Harald R. Haberstroh Die Idee zum Hamstermodell ist ganz einfach: Sie als Programmierer müssen einen virtuellen Hamster in einer virtuellen Landschaft steuern. Das Hamster-Modell wurde in einer einfachen Version zu Beginn der 80er Jahre in der GMD (Gesellschaft für Mathematik und Datenverarbeitung) entwickelt. Zielsprache war damals die imperative Programmiersprache ELAN. Vorlage für das Hamster-Modell war dabei "Karel der Roboter". Das imperative Hamster-Modell wurde von Dietrich Boles an die Programmiersprache Java angepaßt. Mich hat diese Idee begeistert und ich habe daher das Hamster-Modell für Visual Basic neu geschrieben. Den Visual Basic-Hamster gibt es mittlerweile in der dritten Version. Die Ziel- und Programmiersprache ist Visual Basic. Der Hamster ist gänzlich in die Programmierumgebung von Visual Basic integriert. Dazu gibt es ein ActiveX-Control, welches automatisch aufgerufen wird, wenn das Hamsterprogramm gestartet wird. 1.1. Landschaft Die Hamster-Welt ist eine gekachelte Ebene. Die Anzahl der Kacheln (Felder) ist nicht explizit vorgegeben. Auf einzelnen Feldern können Körner liegen. Diese werden durch ein eigenes Symbol dargestellt, wobei aus der Grafik nicht ersichtlich ist wieviele Körner auf dem Feld liegen. Auf einzelnen Feldern können Körner liegen. Diese werden durch ein eigenes Symbol dargestellt, wobei aus der Grafik nicht ersichtlich ist wieviele Körner auf dem Feld liegen. 1.2. Hamster In einer Landschaft existiert immer genau ein Hamster, der auf einem der Felder steht. Dieses Feld darf keine Mauer enthalten. Das Feld, auf dem sich der Hamster 1

befindet, darf jedoch Körner enthalten. Visual Basic Hamster Der Hamster kann auch Körner im Maul haben. Es ist aus der Grafik nicht ersichtlich, ob der Hamster Körner im Maul hat bzw. ob auf dem Feld noch Körner sind. Der Hamster kann in vier verschiedene Richtungen schauen (Nord, Ost, Süd oder West). 1.3. Hamsteraufgaben Ihnen werden Aufgaben gestellt, die Sie durch die Steuerung des Hamsters durch eine Landschaft zu lösen haben. Diese Aufgaben werden Hamsteraufgaben genannt und die entsprechenden Lösungsprogramme Hamsterprogramme. Die Aufgaben werden zunächst in Form einer Hamsterlandschaft (eine einfache Textdatei) und einem dazugehörigen Text gestellt. Später werden keine bestimmten Landschaften mehr vorgegeben. Eine Hamsterwelt kann einfach mit einem Texteditor erstellt werden. Dabei dürfen nur folgende Zeichen verwendet werden: * eine Mauer (Leerzeichen) ein leeres Feld Ziffern ( 1, 2,... 9 ) an dieser Stelle liegen ebensoviele Körner N, O, S, W die Position des Hamsters mit Blickrichtung Norden, Osten, Süden bzw. Westen. Es darf nur eines dieser Symbole in einer Hamsterwelt vorkommen. Folgendes Bild zeigt ein Beispiel einer Hamsterwelt: 2

Abbildung 1. Hamsterwelt Diese Welt wird durch folgende Welt erzeugt: ************* * * *11W *1* *11** *1* *11 *1* ************* Folgende Aufgabenstellung ist zu lösen: der Hamster muss alle Körner einsammeln und dann stehen bleiben. 2. Grundlagen der Hamstersprache 2.1. Lexikalik Der Zeichenvorrat (die Lexikalik) entspricht der der Programmiersprache Visual Basic. Im Prinzip sind das alle Zeichen, die Sie auf der Tastatur finden. 3

2.2. Syntax und Semantik Visual Basic Hamster Hier werden zunächst die Grundbefehle definiert. Die Syntax hält sich an die der Sprache Visual Basic wobei zunächst nur ein Teil der Sprache verwendet wird. Ein Hamster versteht folgende Grundbefehle: vor linksum nimm gib vornfrei maulleer Der Hamster bewegt sich um ein Feld nach vor. Ist das Feld vor dem Hamster durch eine Mauer blockiert, wird das Hamsterprogramm durch einen Laufzeitfehler unterbrochen. Der Hamster dreht sich um 90 Grad nach links. Soll sich der Hamster nach rechts drehen, so muss man dies aus mehreren linksum zusammensetzen. Der Hamster nimmt ein Korn in sein Maul auf. Befindet sich auf dem Feld kein Korn, so gibt das einen Laufzeitfehler. Der Hamster legt ein Korn auf das Feld, auf dem er sich gerade befindet. Hat er kein Korn mehr im Maul, so gibt es einen Laufzeitfehler. Der Hamster versteht zusätzlich noch drei Testbefehle: Der Hamster prüft, ob vorne frei ist, d.h. ob sich keine Mauer auf dem Feld vor dem Hamster befindet (statt vornfrei ist auch vornefrei erlaubt). Der Hamster prüft, ob sein Maul leer ist (statt maulleer darf auch backenleer verwendet werden). kornda Der Hamster prüft, ob sich (mindestens) ein Korn auf dem Feld liegt, auf dem sich der Hamster befindet. Jeder Befehl muss in eine eigene Zeile geschrieben werden. Alles was hinter dem Zeichen steht, gilt als Kommentar und wird vom Hamster ignoriert. Kommentar dient als Zusatzinformation für den Programmierer. Ein Hamsterprogramm beginnt mit einem Kommentar, in dem festgehalten wird, was die Aufgabenstellung ist und von wem das Programm stammt: 4

File: demo.bas Zweck: Demonstration des Programmkopfes Autor: Harald Haberstroh/hp Algorithmus: Status: <draft> testen freigegeben History: 2001-08-25, Ersterstellung Das eigentliche Programm beginnt mit Option Explicit Sub main() und endet mit 1 End Sub Alles weitere wird durch die Sprache Visual Basic definiert. 3. Verwenden des Hamstersimulators 3.1. Ein neues Hamsterprojekt anlegen Starten Sie Visual Basic. Wählen Sie Hamster bei dem Dialog für die Auswahl eines Projekts (Dialog Neues Projekt): 5

Abbildung 2. Hamsterprojekt anlegen Damit wird ein neues Projekt mit einem Modul Hamsterprogramm angelegt. In dieses Modul kommen die Hamsteranweisungen. Folgendes Bild zeigt ein Hamsterprogramm mit einer Schleife, die den Hamster bis zur nächsten Mauer laufen lässt: 6

Abbildung 3. Einfaches Hamsterprogramm 3.2. Den Hamstersimulator starten Durch das Starten des Hamsterprogrammes (F5) wird automatisch der Hamstersimulator gestartet: 7

Abbildung 4. Hamstersimulator starten Der Simulator startet mit einer voreingestellten Welt (eine rechteckige Welt ohne Körner) oder mit der zuletzt gespeicherten Welt. Das Bild zeigt den Simulator und dahinter Visual Basic. Dort ist gerade die nächste Anweisung gelb hinterlegt (das Programm wurde angehalten). 3.3. Den Hamster interaktiv steuern Der Hamster kann über ein Kontextmenü (rechte Maustaste) bewegt werden. Der Hamster kann zu aktuellen Mausposition bewegt werden, dem Hamster können Körner gegeben werden und dem Hamster können direkt Befehle erteilt werden (hier gibt es auch ein rechts um, obwohl das von einem Hamsterprogramm aus nicht möglich ist). 8

Abbildung 5. Hamster interakiv steuern Noch schneller kann man den Hamster über die Tastatur steuern: l r n g v links um rechts um nimm gib vor 9

3.4. Hamsterwelt ändern/laden Visual Basic Hamster Wollen Sie eine vorgegebene Hamsterwelt verwenden, dann müssen Sie das Hamsterprogramm einmal starten, sodass der Hamstersimulator gestartet wird. Das Simulatorfenster bleibt offen, bis es explizit geschlossen wird. Über Datei->Welt kann eine Hamsterwelt geladen werden 2. Die aktuell geladene Hamsterwelt kann verändert werden, in dem man bei gedrückter Umschalttaste (Shift) mit der rechten Maustaste in die Welt klickt: Abbildung 6. Hamsterwelt bearbeiten Dabei bedeutet Neu Mauer Körner eine neue Hamsterwelt erzeugen. Dabei werden die Dimensionen der Welt in Zeilen und Spalten abgefragt. eine Mauer an der aktuelle (maus-) Position erzeugen Körner an die aktuelle (Maus-) Position legen 10

Leer ein leeres Feld an der aktuellen Position erzeugen Damit kann jede beliebige Welt erzeugt werden. 3.5. Hamsterwelt speichern Eine Hamsterwelt kann auch gespeichert werden. Diese Welt wird dann beim nächsten Start automatisch geladen. Die Welt wird im Temp-Verzeichnis (C:\Temp) unter dem Namen Hamserwelt.txt gespeichert. Speichern kann man indem man bei gedrückter Strg-Taste (Ctrl) mit der rechten Maustaste in die Welt klickt: Abbildung 7. Hamsterwelt speichern/laden Speichern Laden bedeutet das Speichern in die Datei C:\Temp\Hamsterwelt.txt bedeutet das Laden der Datei C:\Temp\Hamsterwelt.txt 11

4. Hamsterwelten erstellen Visual Basic Hamster Sie können neue Hamsterwelten erstellen, indem Sie mit dem Hamstersimulator eine Welt, wie in Hamsterwelt ändern beschrieben, erstellen und dann speichern (Hamsterwelt speichern). Die Datei C:\Temp\Hamsterwelt.txt können Sie dann kopieren oder umbenennen. 3 Hamsterwelten können aber auch mit einem Texteditor erstellt werden. Dabei gibt es zwei verschiedene Dateiformate. Das einfachere Format, welches von den früheren Versionen des Hamstersimulators benötigt wurde, ist schon in Hamsteraufgaben beschrieben worden. Dieses Format hat aber den Nachteil, dass es keine Möglichkeit gibt, schon in der Aufgabenstellung festzulegen, wieviele Körner der Hamster im Maul haben soll. Außerdem kann der Hamster zu Beginn nur auf einem leeren Feld stehen. Deshalb wurde das Format erweitert: <welt> ********** * 1 2 3 4* * * * *W * * 3 *** * * ***** * ********** </welt> <hamster> <koerner>3</koerner> <spalte>6</spalte> <zeile>2</zeile> <richtung>o</richtung> </hamster> Zwischen den Tags <welt> und </welt> befindet sich eine Welt im herkömmlichen Format. Die Hamsterposition (im Beispiel Osten, in Zeile 4 und Spalte 8) kann weggelassen werden, da sie ohnehin weiter unten angegeben wird. Zwischen den Tags <hamster> und </hamster> werden dann die Informationen zum Hamster angegeben: <koerner></koerner> <spalte></spalte> zwischen diesen Tags wird die Anzahl der Körner im Maul angegeben (ganze Zahl). zwischen diesen Tags wird die Anfangsspalte des Hamsters angegeben (ganze Zahl). 12

<zeile></zeile> die Anfangszeile des Hamsters (ganze Zahl). <richtung></richtung> damit kann die Richtun des Hamsters angegeben werden: N O S W Norden (Hamster schaut nach oben) Osten Süden Westen Bei obigem Beispiel befindet sich der Hamster in der linken unteren Ecke, schaut nach rechts und hat 3 Körner im Maul (diese Angaben überschreiben die Angaben aus der Welt ). 5. Hamstermodell installieren Entpacken Sie HamsterSetup.zip in ein beliebiges Verzeichnis, z.b. C:\Temp. Starten Sie anschließend setup.exe. Wenn Sie den Installationspfad nicht ändern, dann wird der Hamstersimulator in das Verzeichnis C:\Programme\HamsterAX installiert. Nach der Installation müssen Sie die Vorlagen für Hamsterprogramme (Hamster.vbp und HamsterProg1.bas) in das Template-Verzeichnis von Visual Basic kopiern (bei Visual Basic 6.0 ist das meistens C:\Programme\Microsoft Visual Studio\Vb98\Template\Projects). Dadurch können beim Start von Visual Basic neue Hamsterprogramme erstellt werden. Fußnoten 1. Tatsächlich endet nur das Hauptprogramm mit dieser Anweisung. Das Programm kann aus mehreren Teilen (Unterprogrammen) bestehen, die nach 13

dem End Sub stehen. 2. nicht in der Demo-Version 3. Das Speichern ist in der Demo-Version nicht möglich. 14