Spiele in Lazarus objektorientiert programmieren: Unterschied zwischen den Versionen

Aus ZUM-Unterrichten
main>Peterdauscher
(-l)
Markierung: 2017-Quelltext-Bearbeitung
 
(6 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
== Inhaltsverzeichnis ==
== Einführung (vor allem für Schüler) ==


* [[/Einführung| Einführung]]
In diesem Kurs kann man einen Überblick über '''objektorientierte Programmierung''' gewinnen, indem man eigener Computerspiele programmiert. Der Vorteil der hier verwendeten Programmierumgebung [[Lazarus]] ist: Wenn das Programmieren dieser Spiele Freude macht, kann man mit Lazarus auch andere Programme (etwa Simulationsprogramme für Mathematik-, Physik-, oder Biologieunterricht oder Verwaltungsprogramme für den Sportverein) schreiben, ohne wieder eine neue Programmiersprache erlernen oder sich an eine andere Programmierumgebung gewöhnen zu müssen.
* [[/Erste Schritte| Erste Schritte]]
 
* [[/Objekte und Klassen |Objekte und Klassen]]
[[Datei:PDLazS IDE-neu.png|800px]]
* [[/Wichtige Klassen für die ersten Spiele|Wichtige Klassen für die ersten Spiele]]
 
* [[/Rechnen und Würfeln |Rechnen und Würfeln]]
Die Lazarus-Programmierumgebung gestattet es, viele Dinge, die das Aussehen des Programms betreffen, wie in einem Graphik-Programm mit der Maus zu erledigen, statt sie über den Programmtext festzulegen (was man allerdings auch kann). So kann man die Oberflächen von Programmen (z.B. Spielen) sehr schnell entwerfen und bekommt ein gutes Gefühl dafür, wie das Programm später aussehen wird.
* [[/Entscheiden und Wiederholen|Entscheiden und Wiederholen ]]
 
* [[/Viele Daten speichern |Viele Daten speichern]]
== Anmerkung (vor allem für Lehrer) ==
* [[/Programme strukturieren|Programme strukturieren]]
 
* [[/Computergraphik|Computergraphik]]
Es gibt viele Möglichkeiten, Programmieren zu lernen und eine unübersichtliche Menge an verschiedensten Programmiersprachen und Programmierumgebungen. Für einen ersten Überblick kann man unterscheiden:
* [[/Höhere Mathematik|Höhere Mathematik ]]
 
* '''Reine Lernsprachen mit entsprechenden Programmierumgebungen'''. Diese sind so konstruiert, dass die ersten Hürden des Programmierens besonders einfach zu nehmen sind. Manche davon sind sogar so konstruiert, dass man sich gar nicht vertippen kann. Zu solchen Lernprogrammen gehören etwa [[Scratch]] oder Robot Karol. Mit diesen Sprachen kann man sehr gut die ersten Schritte und Grundprinzipien des Programmierens erlernen; es ist aber extrem schwierig, professionell aussehende Computerprogramme damit zu entwickeln. Wenn man das möchte, muss man eine neue Programmiersprache erlernen (was dann aber schneller geht, weil man die Grundlagen schon verstanden hat).
 
* '''Professionelle Sprachen mit speziellen lernorientierten Lernumgebungen. '''Hier ist die eigentliche Sprache eine auch in professionellen Kontexten verwendbare Programmiersprache, die allerdings in eine lerngerechte Programmierumgebung eingebaut ist. Solche Lernumgebungen sind z.B. [[BlueJ]] oder {{wpde|Greenfoot}}. Möchte man nach der Einführung professionellere Computerprogramme entwickeln, so kann man die eigentliche Sprache (z.B. [[Java]]) beibehalten, muss aber auf eine andere Art des Entwickelns umsteigen.
 
* '''Professionelle Sprachen mit Standard-Programmierumgebungen. '''Hier kann man direkt professionell aussehende Programme entwickeln, häufig ist das aber für Anfänger nicht ganz einfach. Eine solche Entwicklungsumgebung wäre z.B. Eclipse unter Verwendung verschiedener Bibliotheken zur Erzeugung graphischer Benutzeroberflächen.
 
 
 
In diesem Kurs wird ein anderer Ansatz verfolgt: Die Entwicklungsumgebung [[Lazarus]] basiert auf der Programmiersprache {{wpde|FreePascal}}. FreePascal ist zwar als Programmiersprache nicht besonders in Mode, allerdings auch keine reine Lernsprache sondern eine Sprache, die viele Aspekte auch der objektorientierten Programmierung sehr klar umsetzt.
 
Die größte Stärke von Lazarus liegt in der komfortablen Erzeugung von graphischen Benutzeroberflächen und der teil-automatisierten Verknüpfung mit dem eigentlichen Programmcode, die viele „hässliche“ Details der Oberflächenprogrammierung von der eigentlichen Kreativ-Arbeit des Programmierers trennt und letzterem eine Konzentration auf das Wesentliche vereinfacht.
 
Dieser Vorteil wird in diesem Kurs ausgenutzt, um die Prinzipien objektorientierter Programmierung im Zusammenhang mit selbst programmierten Computerspielen zu erlernen.
 
{{Spiele in Lazarus objektorientiert programmieren}}
 
 
[[Kategorie:Spiele in Lazarus objektorientiert programmieren|!]]
[[Kategorie:Informatik]]
[[Kategorie:Unterrichtsidee]]

Aktuelle Version vom 23. Mai 2022, 03:39 Uhr

Einführung (vor allem für Schüler)

In diesem Kurs kann man einen Überblick über objektorientierte Programmierung gewinnen, indem man eigener Computerspiele programmiert. Der Vorteil der hier verwendeten Programmierumgebung Lazarus ist: Wenn das Programmieren dieser Spiele Freude macht, kann man mit Lazarus auch andere Programme (etwa Simulationsprogramme für Mathematik-, Physik-, oder Biologieunterricht oder Verwaltungsprogramme für den Sportverein) schreiben, ohne wieder eine neue Programmiersprache erlernen oder sich an eine andere Programmierumgebung gewöhnen zu müssen.

PDLazS IDE-neu.png

Die Lazarus-Programmierumgebung gestattet es, viele Dinge, die das Aussehen des Programms betreffen, wie in einem Graphik-Programm mit der Maus zu erledigen, statt sie über den Programmtext festzulegen (was man allerdings auch kann). So kann man die Oberflächen von Programmen (z.B. Spielen) sehr schnell entwerfen und bekommt ein gutes Gefühl dafür, wie das Programm später aussehen wird.

Anmerkung (vor allem für Lehrer)

Es gibt viele Möglichkeiten, Programmieren zu lernen und eine unübersichtliche Menge an verschiedensten Programmiersprachen und Programmierumgebungen. Für einen ersten Überblick kann man unterscheiden:

  • Reine Lernsprachen mit entsprechenden Programmierumgebungen. Diese sind so konstruiert, dass die ersten Hürden des Programmierens besonders einfach zu nehmen sind. Manche davon sind sogar so konstruiert, dass man sich gar nicht vertippen kann. Zu solchen Lernprogrammen gehören etwa Scratch oder Robot Karol. Mit diesen Sprachen kann man sehr gut die ersten Schritte und Grundprinzipien des Programmierens erlernen; es ist aber extrem schwierig, professionell aussehende Computerprogramme damit zu entwickeln. Wenn man das möchte, muss man eine neue Programmiersprache erlernen (was dann aber schneller geht, weil man die Grundlagen schon verstanden hat).
  • Professionelle Sprachen mit speziellen lernorientierten Lernumgebungen. Hier ist die eigentliche Sprache eine auch in professionellen Kontexten verwendbare Programmiersprache, die allerdings in eine lerngerechte Programmierumgebung eingebaut ist. Solche Lernumgebungen sind z.B. BlueJ oder GreenfootWikipedia-logo.png. Möchte man nach der Einführung professionellere Computerprogramme entwickeln, so kann man die eigentliche Sprache (z.B. Java) beibehalten, muss aber auf eine andere Art des Entwickelns umsteigen.
  • Professionelle Sprachen mit Standard-Programmierumgebungen. Hier kann man direkt professionell aussehende Programme entwickeln, häufig ist das aber für Anfänger nicht ganz einfach. Eine solche Entwicklungsumgebung wäre z.B. Eclipse unter Verwendung verschiedener Bibliotheken zur Erzeugung graphischer Benutzeroberflächen.


In diesem Kurs wird ein anderer Ansatz verfolgt: Die Entwicklungsumgebung Lazarus basiert auf der Programmiersprache FreePascalWikipedia-logo.png. FreePascal ist zwar als Programmiersprache nicht besonders in Mode, allerdings auch keine reine Lernsprache sondern eine Sprache, die viele Aspekte auch der objektorientierten Programmierung sehr klar umsetzt.

Die größte Stärke von Lazarus liegt in der komfortablen Erzeugung von graphischen Benutzeroberflächen und der teil-automatisierten Verknüpfung mit dem eigentlichen Programmcode, die viele „hässliche“ Details der Oberflächenprogrammierung von der eigentlichen Kreativ-Arbeit des Programmierers trennt und letzterem eine Konzentration auf das Wesentliche vereinfacht.

Dieser Vorteil wird in diesem Kurs ausgenutzt, um die Prinzipien objektorientierter Programmierung im Zusammenhang mit selbst programmierten Computerspielen zu erlernen.