-
Soweit zur Theorie. Nun werde ich anhand eines kleinen Computer Spieles die Anwendung einer Programmier Sprache zeigen. Die verwendete Programmiersprache ist BASIC.
Das Spiel welches ich erstellen werde, basiert ursprünglich auf dem Film Tron und ist für zwei Spieler gedacht. Es soll in etwa so aussehen, daß man einen Pixel (Punkt auf dem Bildschirm), im Film Tron war es ein Motorrad, steuern kann und dieser eine Linie hinter sich zeichnet. Die ...
mehr
-
Die Hauptfunktion ist das Grundgerüst des Windows-Programms.
int PASCAL WinMain (HANDLE hInst,HANDLE hPrevInst,LPSTR lpCmdLine,int nCmdShow)
Dem Hauptfenster wird ein Handle des Hauptfensters und des vorherigen Fensters übergeben. Mit dem hPrevInst-Parameter kann überprüft werden ob das Programm das erste Mal gestartet wurde. Eine Ausnahme bildet Win32. Hier ist der hPrevInst-Parameter immer NULL.
1.1 Fenster registrieren
if (!hPrevInst) ...
mehr
-
2.1 Hauptfenster
LONG FAR PASCAL _export WndProc(HWND hWnd, UINT msg, WPARAM wPar, LPARAM lPar)
{
switch (msg) {
case WM_PAINT: WndProcWMPAINT (hWnd); break;
case WM_LBUTTONDOWN: WndProcWMLBUTTONDOWN (hWnd); break;
case WM_DESTROY: PostQuitMessage (0); break;
default: return DefWindowProc(hWnd, msg, wPar, lPar);
} ...
mehr
-
Dialoge sind eigene Fenster die einen Windows-Handle erhalten. Das Aussehen der Dialoge wird durch die Resourcen-Datei bestimmt. Im Resourcen-Headerfile, welches im Hauptprogramm eingebunden wird, werden außerdem die Dialogelemente mit ID\'s identifiziert.
void WndProcWMLBUTTONDOWN (HWND hWnd)
{
FARPROC lpitDialog; // Instanz-Verbinder zur Dialog-Funktion
lpitDialog = MakeProcInstance ((FARPROC)DlgProc, hMainInst);
DialogBo ...
mehr
-
Inhaltsverzeichnis:
1. Ziele der OOP
2. Geschichte
3. Wichtige Konzepte und Begriffe
o Datenkapselung
o Objekt
o Klasse
o Vererbung
4. OOP anhand eines Beispiels in C++
5. Erläuterung einiger Begriffe der OOP in C++
________________________________________
Ziele - Was soll durch die OOP erreicht werden?
. bessere Wartbarkeit
. Wiederverwendbarkeit
Geschichte
. Ende der 70er-Jahre: PARC (OOP, GUI, Maus, Laserdrucker,...) ...
mehr
-
Programmierung (OOP)
Die Ziele der OOP sind:
- bessere Warbarkeit
- Wiederverwendbarkeit
1.) Datenkapselung
Komplexe Datenstrukturen (wie zB ein Stack) werden vom Anwendungsprogramm nicht direkt verwendet. Zum Zugriff auf solche Strukturen bedient man sich sogenannter "Zugriffs-Funktionen" (zB: push(x), pop( )). Dieses Prinzip, welches auch in der OOP zur Anwendung kommt, nennt man Datenkapselung. In der OOP sind diese Zugriffs-Funktio ...
mehr
-
2.1. Speicherverwaltung
Alle Bausteine der MCS-51 Familie haben einen getrennten Adreßbereich für Programm- und Datenspeicher von jeweils maximal 64 KByte Größe. Die CPU holt sich, die für die Abarbeitung von Programmen nötigen Befehlen aus dem Programmspeicher (EEPROM), Speichervariablen werden jedoch in den Datenspeicher abgelegt bzw. ausgelesen. Bei einem Zugriff auf die RAM-Bausteine wird die Leseleitung (\\RD) angesprochen, sobald Befehl ...
mehr
-
1.1. Allgemeines
In der Testphase wurde der Eprom-Baustein mit einem Bootstrapprogramm beschrieben. Dieses 8K Byte große Programm liefert Debug-Informationen an den PC. Über die serielle Schnittstelle wird das Hochregalroboter-programm mit dem Programm Term95 auf das RAM geschrieben. Die Projektsoftware muß im Adressbereich 2000h-3FFFh organisiert werden, da hier der RAM-Bereich liegt. Es wurde ein Shareware-Crossassembler benutzt, welcher üb ...
mehr
-
--------------------------------------------------------
Um einen Modellrechner ablaufen zu lassn, brauchen wir einige Teile:
-Ablaufsteuerung
-Rechnertakt
-Befehlsregister und Speicher
-Rechenwerk
-Befehlsdecoder
-Modellrechner
Werden diese 6 Bauteile aneinandergebaut, kann der Modellrechner in Betrieb
genommen werden. Ich werde mich jetzt erstmal mit den vier verschiedenen
Bauteilen auseinandersetzen:
ABLAUFSTEUEREUN ...
mehr
-
1.
Allgemeine Formel für die Anzahl der programmierbaren Verbindungen N
N = 2k . n
k...Anzahl der Eingangsvariablen
n...Anzahl der Ausgangsvariablen
Die Verbindungen zwischen den Eingängen und den UND-Gattern sind vom Hersteller fest vorgegeben. Ein ROM ist beim Hersteller maskenprogrammierbar, d.h der Speicherinhalt wird im letzten Herstellungsschritt mit einer spezifischen Metallisierungsmaske eingegeben.
PROMs sind Fes ...
mehr
-
Die grundlegende Struktur fast aller programmierbarer Logikbausteine (PLD, EPLD, GAL, RAL, PEEL, IFL, etc.) basieren auf der PAL-Architektur, einer UND-ODER-Anordnung, wobei das UND-Array programmierbar und das ODER-Array fest¬gelegt ist. Damit können bereits sämtliche Grundfunktionen der Boole'schen Algebra erzeugt werden. Ein wesentlicher Vorteil jeder programmierbaren Logik liegt in der Verknüpfungsmöglichkeit der zur Verfügung stehenden Ansch ...
mehr
-
Bei den PLAs sind beide Verbindungsmatrizen programmierbar, wodurch sich große Flexibilität ergibt. Die Komplexität und Flexibilität machen PLAs, FPLAs und FPLSs (Field Programmable Logic Sequencer) zu vielseitigen, effektiv einsetzbaren Bauelementen.
Vorteil:
Größere Flexibilität als PALs.
Nachteil:
Häufig ist nur Maskenprogrammierung möglich. Größere Signallaufzeiten, höhere Verlustleistung und größerer Chip als beim PAL führen z ...
mehr
-
Bsp:
int pot (int b, int e) Inputparameter
{
int zwischenergebnis lokale Parameter
int ergebnis
database datenbank Entity Action Parameter
(auf welche Tabellen wird zugriffen)
...
...
return ergebnis Outputparameter
}
PARAMETER
Bei der Entity View Analysis schaut man sich einen Prozeß an und betrachtet die Entities (Daten) die einwirken, d.h. man betrachtet die Daten m ...
mehr
-
Zwischen ANSI-C und C++ gibt es einige unterschiede, die nicht (zumindest nicht offensichtlich) auf objektorientiertes Programmieren zurückzuführen sind. Ich möchte hier auf einer Art und Weise auf die wichtigsten Dinge eingehen, welche nicht unbedingt Formal richtig ist, sondern vor allem für Anfänger verständlich. Man sehe mir also bitte die Behauptung nach, cin und cout wäre wenig objektorientiert.
Ich sehe dieses Kapitel als Brücke zwisch ...
mehr
-
2.1 Was ist Objektorientierung?
Schon früh in der Entwicklung der höheren Programmiersprachen hat man erkannt, dass das zusammenbauen von Programmen aus einzelnen Funktionen mit zunehmender Projektgröße immer unübersichtlicher wird. Es entstand der Wunsch, mehr Struktur in die Funktionssammlungen zu bringen. Folgende Überlegungen verdeutlichen anschaulich, was Objekte im abstrakten Sinn bedeuten:
Betrachten wir einmal eine Kaffeemaschine: Zunä ...
mehr
-
3.1 Allgemeines
Im Prinzip kann man Operatoren als eine besondere Form von Funktionen auffassen - nichts anderes sind sie auch. Anstatt x = a * b könnte man auch x = mal( a, b ) schreiben. Man hat sich beim Entwickeln von C/C++ für die mathematische Schreibweise entschieden.
Jetzt verstehen wir auch die Problematik hinter der Definition von Operatoren - wir wissen ja aus Kapitel 1.8 bereits, wie man Funktionen überlädt. Es existiert für den Ope ...
mehr
-
4.1 Was bedeutet Vererbung von Klassen?
Stellen wir uns einmal vor, wir hätten von einem kürzlich verstorbenen Verwandten ein nicht ganz so sprotliches Auto vererbt bekommen. Nachdem wir aber über die nötigen Kenntnisse verfügen, nehmen wir ein paar kleinere Eingriffe am Motor und am Fahrwerk vor. Am Ende fährt unser Wagen gut 230 km/h, schwebt nur noch 3 cm über dem Boden und hat keine Rückbank mehr. Diese haben wir als alte Sound-Fetischisten ...
mehr
-
5.1 Was bedeutet Polymorphie?
Stellen wir uns vor, wir hätten eine Klasse A und leiten davon jeweils eine Klasse B und C ab. Jetzt wollen wir ein Feld oder eine Liste anlegen, die Zeiger auf Objekte von B und C enthält. Eine denkbare Anwendung wäre, dass A eine Vorlage für geometrische Objekte allgemein ist und B und C konkrete Formen wie Kreis oder Rechteck sind. Es macht keine Probleme solche Klassen allgemein zu definieren und abzuleiten. Wir ...
mehr
-
7.1 Einfache Fehlerbehandlung mit Standartparameter
Man kennt vielleicht bereits das Dilemma: In einer Funktion wird ein Wert berechnet, bei dem abhängig von der Benutzereingabe eine Division durch Null auftritt. Jetzt können wir eine Ausgabe auf dem Bildschrim produzieren, dass Programm selbst jedoch läuft weiter, als wäre nichts gewesen.
Exceptions geben uns einen Mechanismus in die Hand, mit dem wir sofort an der Stelle der Fehlerursache an ...
mehr
-
8.1 Vorbemerkung: Datenströme - Streams
Leider komm ich jetzt nichtmehr drum rum: Ich muss eine Anmerkung zur Art und Weise machen, wie in C++ Daten ein- und ausgegeben werden. Das Modell ist wie folgt: Zwischen dem PC und dem Ein- oder Ausgabegerät existiert eine Art Kanal, in dem die Daten als Strom verschoben werden. Die Stream-Operatoren > geben die Richtung an, in die verschoben wird, wobei links das Gerät und rechts das Objekt im Speicher ...
mehr