lehrkraefte:snr:informatik:glf22:python:chaos-game-mit-pygame

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
lehrkraefte:snr:informatik:glf22:python:chaos-game-mit-pygame [2022/08/27 11:14]
Olaf Schnürer
lehrkraefte:snr:informatik:glf22:python:chaos-game-mit-pygame [2023/08/21 21:07] (current)
Olaf Schnürer [Python-Programm zum Chaos-Spiel]
Line 54: Line 54:
  
 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
Line 68: Line 68:
    
 # 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
  
Line 255: Line 255:
  
 <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 in der "Python-Shell" 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 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''). 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'').
Line 261: Line 261:
 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): 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 ''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)|]])+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''.)
Line 283: Line 283:
  
   * 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-Fensterwerden 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>
  
Line 294: Line 294:
 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'' + ''Enter'' (Erklärung: ''cd'' steht für "change directory")   * ''cd informatik'' + ''Enter'' (Erklärung: ''cd'' steht für "change directory")
   * ''cd python'' + ''Enter'' (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'' + ''Enter'' (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|}}
Line 306: Line 306:
   - 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>
  
Line 326: Line 327:
  
 <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 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>
  
  • lehrkraefte/snr/informatik/glf22/python/chaos-game-mit-pygame.1661591649.txt.gz
  • Last modified: 2022/08/27 11:14
  • by Olaf Schnürer