Both sides previous revision
Previous revision
Next revision
|
Previous revision
|
lehrkraefte:snr:informatik:glf22:python:chaos-game-mit-pygame [2022/08/25 22:09] Olaf Schnürer [Aufgabe 3: Python (inklusive pygame) installieren und das obige Programm zum Laufen bringen (zuerst in VS Code)] |
lehrkraefte:snr:informatik:glf22:python:chaos-game-mit-pygame [2023/08/21 21:07] Olaf Schnürer [Python-Programm zum Chaos-Spiel] |
| |
===== Chaos-Spiel − der springende Punkt ===== | ===== Chaos-Spiel − der springende Punkt ===== |
| |
| (eventuell Würfel mitnehmen...) |
| |
Das Chaos-Spiel geht wie folgt: | Das Chaos-Spiel geht wie folgt: |
| |
breite = 500 | breite = 500 |
hoehe = 433 # ungefähr sqrt(3)/2 * breite; sqrt = square root = Quadratwurzel | hoehe = 433 # ungefähr sqrt(3)/2 * breite; sqrt = square root = Quadratwurzel |
iterationen = 10000 | iterationen = 10000 |
| |
weiss = (255, 255, 255) # Ein Tupel aus drei Zahlen, kodiert die Farbe Weiss im RGB-Modell, das wir später kennenlernen werden. | weiss = (255, 255, 255) # Ein Tupel aus drei Zahlen, kodiert die Farbe Weiss im RGB-Modell, das wir später kennenlernen werden. |
| |
# Koordinaten des Punkts A | # Koordinaten des Punkts A |
| |
# Koordinaten des Punkts C | # Koordinaten des Punkts C |
xC = int(breite / 2) # Der Befehl "int" macht eine Kommazahl (= reelle Zahl = real number) durch Abschneiden der Nachkommastellen zu einer ganzen Zahl (= integer). | xC = int(breite / 2) # Der Befehl "int" macht eine Kommazahl (= reelle Zahl = real number) durch Abschneiden der Nachkommastellen zu einer ganzen Zahl (= integer). |
yC = 0 | yC = 0 |
| |
| |
<WRAP round todo> | <WRAP round todo> |
1. Installiere Python auf deinem Rechner. Am einfachsten geht dies über den Windows App Store.((Alternative: Download von https://www.python.org/downloads/)) (Man kann die App "Python" starten und dann direkt Python-Befehle eingeben. Das brauchen wir aber heute nicht.) | 1. Installiere Python auf deinem Rechner. Am einfachsten geht dies über den Windows App Store.((Alternative (nicht empfohlen, denn vermutlich muss man dann noch einige Pfad-Einstellungen von Hand vornehmen): Download von https://www.python.org/downloads/)) (Man kann die App "Python" starten und dann direkt in der "Python-Shell" Python-Befehle eingeben. Das brauchen wir aber heute nicht.) |
| |
2. Speichere das obige Programm in deinem Verzeichnis ''C:\Users\Vorname.Nachname\informatik\python'' (durch Anklicken des Programm-Namens mit der RECHTEN Maustaste, ''Save as''/''Speichern unter''). | 2. Speichere das obige Python-Programm ''chaos-game.py'' in deinem Verzeichnis ''C:\Users\Vorname.Nachname\informatik\python'' (durch Anklicken des Programm-Namens mit der RECHTEN Maustaste, ''Save as''/''Speichern unter''). |
| |
3. Öffne das Programm mit VS-Code (etwa über das Menü per ''File''->''Open File''). Versuche, es dort zum Laufen zu bringen (über das Menü per ''Run''->''Run without debugging'' (oder deutsch ''Ausführen''->''Ausführen ohne Debugging'') oder schneller mit dem Shortkey''Ctrl+F5''). - Vermutlich klappt das nicht: Du musst die Library ''pygame'' installieren (dies ist eine Bibliothek von Befehlen, die das Programmieren von Spielen erleichtern (pygame = python game library); wir verwenden sie, da sie sich auch gut zum Erstellen von Zeichnungen eignet): | 3. Öffne das Programm ''chaos-game.py'' mit VS-Code (etwa über das Menü per ''File''->''Open File''). Versuche, es dort zum Laufen zu bringen (über das Menü per ''Run''->''Run without debugging'' (oder deutsch ''Ausführen''->''Ausführen ohne Debugging'') oder schneller mit dem Shortkey''Ctrl+F5''). - Vermutlich klappt das nicht: Du musst die Library ''pygame'' installieren wie im folgenden 4. Punkt beschrieben (dies ist eine Bibliothek von Befehlen, die das Programmieren von Spielen erleichtern (pygame = python game library); wir verwenden sie, da sie sich auch gut zum Erstellen von Zeichnungen eignet): |
| |
4. Öffne die Anwendung/App "Eingabeaufforderung" (= "command prompt" = "Befehlszeile"). Gib dort den Befehl ''pip install pygame'' ein, gefolgt von ''Return'': (''pip'' ist ein Paketverwaltungsprogramm für Python; pip ist ein Akronym für "pip installs packages", vgl. [[https://de.wikipedia.org/wiki/Pip_(Python)|]]) | 4. Öffne die Anwendung/App "Eingabeaufforderung" (= "command prompt" = "Befehlszeile", auf manchen Schul-Windows-Rechnern muss man "cmd" suchen). Gib dort den Befehl ''pip install pygame'' ein, gefolgt von ''Enter'': (''pip'' ist ein Paketverwaltungsprogramm für Python; pip ist ein Akronym für "pip installs packages", vgl. [[https://de.wikipedia.org/wiki/Pip_(Python)|]]) |
| |
(Falls das Probleme macht, vielleicht klappt das Folgende (nicht getestet): Probiere es mit ''python -m pip install pygame''.) | (Falls das Probleme macht, vielleicht klappt das Folgende (nicht getestet): Probiere es mit ''python -m pip install pygame''.) |
{{:lehrkraefte:snr:informatik:glf22:python:install-pygame.png?800|}} | {{:lehrkraefte:snr:informatik:glf22:python:install-pygame.png?800|}} |
| |
5. Nun solltest du das Programm in VS-Code starten können. | 5. Nun solltest du das Programm in VS-Code starten können (so wie im Punkt 3 beschrieben). |
</WRAP> | </WRAP> |
| |
| |
* In der linken Symbolleiste klicke auf das "Extension"-Icon (zweites von unten): {{:lehrkraefte:snr:informatik:glf22:python:vscode-extension-item-on-lhs.png?30|}} | * In der linken Symbolleiste klicke auf das "Extension"-Icon (zweites von unten): {{:lehrkraefte:snr:informatik:glf22:python:vscode-extension-item-on-lhs.png?30|}} |
* Suche (im hoffentlich sichtbaren Suchfeld, sonst nochmal auf den "Extension"-Icon klicken) nach den beiden Erweiterungen Python und Pylance und installiere sie (vermutlich wird Pylance (und anderes) mit Python gleich mitinstalliert): {{:lehrkraefte:snr:informatik:glf22:python:python-extension.png?500|}}, {{:lehrkraefte:snr:informatik:glf22:python:pylance-extension.png?300|}} | * Im "Extensions-Fenster" werden dir vermutlich die beiden Erweiterungen Python und Pylance vorgeschlagen (sonst kannst du im Suchfeld nach ihnen suchen). Installiere sie (vermutlich wird Pylance (und anderes) mit Python gleich mitinstalliert): {{:lehrkraefte:snr:informatik:glf22:python:python-extension.png?500|}}, {{:lehrkraefte:snr:informatik:glf22:python:pylance-extension.png?300|}} |
</WRAP> | </WRAP> |
| |
Du kannst das Programm auch ohne den Editor/die Entwicklungsumgebung VS-Code ablaufen lassen: | Du kannst das Programm auch ohne den Editor/die Entwicklungsumgebung VS-Code ablaufen lassen: |
| |
Verwende wieder die App "Eingabeaufforderung" und gib die folgenden Befehle ein (wenn deine Verzeichnisse anders heissen, musst du die Befehle in naheliegender Weise anpassen; z. B. musst du etwas wie ''cd "OneDrive - Kt. SG BLD"'' eingeben, um wenn du deine Informatik-Dateien unter OneDrive gespeichert hast).((Bei Problemen: Schau im Terminal von VS Code nach, was dort steht!)) | Verwende wieder die App "Eingabeaufforderung" und gib die folgenden Befehle ein (wenn deine Verzeichnisse anders heissen, musst du die Befehle in naheliegender Weise anpassen; z. B. musst du etwas wie ''cd "OneDrive - Kt. SG BLD"'' eingeben, um wenn du deine Informatik-Dateien unter OneDrive gespeichert hast).((Bei Problemen: Schau im Terminal von VS Code nach, was dort steht! Alternative (insbesondere nützlich, wenn deine Daten auf OneDrive liegen): Nimm statt der "Eingabeaufforderung" die "PowerShell". Wenn du im Explorer in dem Verzeichnis bist, wo dein Python-Programm liegt, öffne die PowerShell in diesem Verzeichnis per Rechtsklick (nicht auf eine Datei klicken, sondern auf den "freien Bereich" unter den Dateien).)) |
* ''cd informatik'' + ''Return'' (Erklärung: ''cd'' steht für "change directory") | * ''cd informatik'' + ''Enter'' (Erklärung: ''cd'' steht für "change directory") |
* ''cd python'' + ''Return'' (nun bist du hoffentlich in dem Verzeichnis, in dem du das Programm ''chaos-game.py'' abgespeichert hast) | * ''cd python'' + ''Enter'' (nun bist du hoffentlich in dem Verzeichnis, in dem du das Programm ''chaos-game.py'' abgespeichert hast) |
* ''python chaos-game.py'' + ''Return'' (dies bewirkt, dass das Programm ''chaos-game.py'' ausgeführt wird)) | * ''python chaos-game.py'' + ''Enter'' (dies bewirkt, dass das Programm ''chaos-game.py'' ausgeführt wird)) |
| |
Dein Screen sollte ungefähr so aussehen und dann sollte das Programm starten: | Dein Screen sollte ungefähr wie folgt aussehen und das Programm sollte starten: |
| |
{{:lehrkraefte:snr:informatik:glf22:python:run-chaos-game-anfang.png?600|}} | {{:lehrkraefte:snr:informatik:glf22:python:run-chaos-game-anfang.png?600|}} |
- In der "Eingabeaufforderung" kannst du auch direkt sinngemäss ''python C:\Users\Olaf.Schnuerer\informatik\python\chaos-game.py'' eingeben (to be tested). | - In der "Eingabeaufforderung" kannst du auch direkt sinngemäss ''python C:\Users\Olaf.Schnuerer\informatik\python\chaos-game.py'' eingeben (to be tested). |
- Du kannst das Programm auch in der "Python-Shell" aufrufen. Starte die App "Python". Gib dort sinngemäss ''exec(open("chaos-game.py").read())'' ein, wenn du im richtigen Verzeichnis bist; sonst musst du entweder zuerst in das richtige Verzeichnis wechseln oder zusätzlich den Pfad ähnlich wie oben angeben. Die Python-Shell kannst du übrigens mit ''exit()'' per Tastatur beenden. | - Du kannst das Programm auch in der "Python-Shell" aufrufen. Starte die App "Python". Gib dort sinngemäss ''exec(open("chaos-game.py").read())'' ein, wenn du im richtigen Verzeichnis bist; sonst musst du entweder zuerst in das richtige Verzeichnis wechseln oder zusätzlich den Pfad ähnlich wie oben angeben. Die Python-Shell kannst du übrigens mit ''exit()'' per Tastatur beenden. |
| - Du kannst das Python-Programm direkt aus dem Explorer laufen lassen: Je nach Einstellungen, direkt per ''Doppelklick'' oder per ''Rechtsklick''+"Open with" und dort Python auswählen. (Was beim Doppelklick auf eine Datei eines gegebenen Typs passiert (Dateinamenserweiterung), kann man einstellen per Rechtsklick auf die Datei->"Properties"->"Opens with".) |
</WRAP> | </WRAP> |
| |
| |
<WRAP center round todo> | <WRAP center round todo> |
Verändere den Programm-Code so, dass 1'000'000 Punkte gezeichnet werden und dass nach dem Zeichnen eines Punktes KEINE Pause von 1 Millisekunde gemacht wird. (Ich habe diese Pause oben eingeführt, damit das Bild nicht "sofort" da ist.) | Verändere den Programm-Code so, dass 1'000'000 Punkte gezeichnet werden und dass nach dem Zeichnen eines Punktes **keine** Pause von einer Millisekunde gemacht wird. (Ich habe diese Pause oben eingeführt, damit das Bild nicht "sofort" da ist; lösche den entsprechenden Befehl oder kommentiere ihn mit ''#'' aus.) |
</WRAP> | </WRAP> |
| |