und Geschichte des Etch-a-Sketch-Tablets

Das Etch-a-Sketch-Pill warfare eine der interessantesten Spielzeugkreationen der späten 1950er Jahre. Das Etch-a-Sketch ähnelt im Grunde einem Pill; In den roten Rahmen ist ein Bildschirm eingelassen und er verfügt über zwei Knöpfe. Diese Knöpfe steuern die horizontalen und vertikalen Bewegungen eines Stifts hinter dem Bildschirm. Dieses Produkt wurde schnell zu einem großen Erfolg, mit über 1 Million verkauften Einheiten innerhalb des ersten Jahres. Es handelte sich um eine der Erfindungen, die Kinder mit dem Malen und Spaß beschäftigen und gleichzeitig die kognitive Entwicklung durch die Verbesserung der Feinmotorik, der Hand-Auge-Koordination und des räumlichen Bewusstseins durch knopfgesteuertes Skizzieren fördern sollte. Es wurde so beliebt, dass es sogar in Filmen wie … vorkam Spielzeuggeschichte.

Das Projekt verstehen

In diesem Artikel werden wir das Python Turtle-Modul verwenden, um unsere eigene digitale Model des Etch-a-Sketch zu entwickeln. Dies ist ein Tutorial für Anfänger bis Fortgeschrittene, das ein grundlegendes Verständnis der Python-Grundlagen wie Python-Funktionen, -Schleifen usw. erfordert. Durch die Codierung dieses Projekts lernen wir die Verarbeitung von Python-Ereignissen, Koordinaten und Bewegungen, Funktionen und Schleifen sowie daraus resultierendes visuelles Suggestions. Darüber hinaus werden wir auch das Konzept der Instanzen in der objektorientierten Programmierung verstehen. Dies ist eine interessante Implementierung des Kernkonzepts von Python und eine unterhaltsame Möglichkeit, das Programmieren durch ein visuelles Projekt zu lernen. Fangen wir an!

Pythons Turtle-Modul für visuelle Codierung

Um eine Etch-a-Sketch-Anwendung zu erstellen, benötigen wir eine visuelle Darstellung unseres Codes. Hier kommt das Turtle-Modul von Python ins Spiel. Das Turtle-Modul ist Teil der Python-Standardbibliothek und ermöglicht das Zeichnen in einem 2D-Koordinatensystem mit einfachen Befehlen. Das Modul unterstützt auch Tastatureingaben, verhält sich wie ein digitaler Stift und eignet sich daher splendid zur Simulation eines Etch-a-Sketch.

Das Schildkrötenmodul basiert auf einer Roboterschildkröte, die einige Befehle erhält, denen sie folgt, und entsprechende Zeichnungen erstellt. Um diese Funktionalität zu nutzen, müssen wir lediglich das Modul in unseren Code importieren und dann die definierten Funktionen verwenden, die der offiziellen Dokumentation entnommen werden können Hier.

Im Folgenden finden Sie einige Codezeilen, mit denen das Modul importiert und die nützlichste Funktion zum Zeichnen auf dem Bildschirm verwendet wird:

import turtle
turtle.ahead(100)
turtle.proper(90)
turtle.ahead(100)
turtle.proper(45)
turtle.ahead(100)
turtle.exitonclick()
Grundfunktionen des Python Turtle-Moduls (Bild vom Autor)

Der ahead Die Funktion wird verwendet, um den Cursor vorwärts zu bewegen, und verwendet die Entfernung als Argument, während die proper Funktion dreht den Kopf der Schildkröte um den als Argument angegebenen Winkel nach rechts. Weitere Einzelheiten zu den einzelnen Funktionen finden Sie in der offiziellen Dokumentation.

Das Turtle-Modul verfügt außerdem über objektorientierte Programmierfunktionen, was bedeutet, dass wir Objekte aus einem vorgegebenen Bauplan erstellen können. Der Turtle Und Display Mit der Klasse können Objektinstanzen erstellt werden, die in unserem Code verwendet werden. Lassen Sie uns diese erstellen:

my_pen= Turtle()
my_pen.width(3)
my_pen.pace(0)
display screen = Display()
display screen.title("Etch A Sketch")

Sehen Sie, wie wir ein Schildkrötenobjekt erstellt und benannt haben my_pen aus der Turtle-Klasse, die Teil des Python-Turtle-Moduls ist. Wir haben auch das Bildschirmobjekt erstellt, mit dem wir die Stiftbewegung visualisieren und an unsere Bedürfnisse anpassen können. Außerdem haben wir die Breite und Geschwindigkeit des Stifts angepasst und dem Bildschirm einen Namen gegeben.

Definieren der Bewegungsfunktionen

Als nächstes müssen wir die Funktionen für die Bewegung unseres Stifts definieren. Genau wie das physische Etch-a-Sketch-Pill, das über zwei Knöpfe verfügt, einen für die vertikale Auf- und Abbewegung und den zweiten für die horizontale Bewegung von hyperlinks nach rechts, werden wir insgesamt 4 Funktionen definieren:

  1. Vorwärts bewegen: Dadurch wird der Stift nach oben bewegt, gleichbedeutend mit der Aufwärtsbewegung beim Originaltablett.
  2. Nach hinten bewegen: Dadurch wird der Stift nach unten bewegt, gleichbedeutend mit der Abwärtsbewegung beim Originaltablett.
  3. Nach hyperlinks drehen: Dadurch wird der Stift um einen bestimmten Winkel nach hyperlinks bewegt.
  4. Nach rechts drehen: Dadurch wird der Stift um einen bestimmten Winkel nach rechts bewegt.

Lassen Sie uns das Obige als Funktionen codieren:

def move_forwards():
    my_pen.ahead(50)

def move_backwards():
    my_pen.backward(50)

def turn_left():
    new_heading = my_pen.heading() + 10
    my_pen.setheading(new_heading)

def turn_rigth():
    new_heading = my_pen.heading() - 10
    my_pen.setheading(new_heading)

In den ersten beiden Funktionen haben wir direkt die Turtle-Funktionen vorwärts und rückwärts verwendet. Bei den horizontalen Bewegungsfunktionen turn_left Und turn_rightwir haben eine neue Variable definiert new_heading Das ist im Grunde der Winkel, um den sich der Stift dreht. Der new_heading Nimmt die Richtung des Stifts, die dem aktuellen Winkel entspricht, und addiert 10 Grad bei einer Linksdrehung und subtrahiert 10 Grad bei einer Rechtsdrehung. Dieser Winkel wird als gespeichert new_heading Dies fungiert als Argument für die Setheading-Funktion, die die Ausrichtung des Stifts anhand des als Argument angegebenen Winkels festlegt.

Wir werden auch eine Funktion definieren, die den Bildschirm löscht. Diese Funktion nutzt die Schildkröte clear Funktion, die die Zeichnung der Schildkröte vom Bildschirm löscht, ohne den Zustand und die Place der Schildkröte zu beeinflussen. Mithilfe von wird die Stiftposition auch wieder auf die Ausgangsposition zurückgesetzt penup, dwelling Und pendown Funktionen:

def clear_screen():
    my_pen.clear()
    my_pen.penup()
    my_pen.dwelling()
    my_pen.pendown()

Bildschirmhören

Eine der Fähigkeiten des Turtle-Moduls besteht darin, dass es Bildschirm-Hörereignisse berücksichtigt. In der Programmierung ist Occasion Listening ein Konzept, das Benutzeraktionen erkennt und darauf reagiert. In unserem Fall erfolgt die Benutzeraktion über die Tastatur, wobei die WASD-Tasten für die Bewegung des Stifts verwendet werden. Wir werden diese Funktionalität in unserem Code verwenden. Dies kann mit der erreicht werden pay attention Und onkey Methode für das Bildschirmobjekt. Der pay attention Die Methode wird verwendet, um wichtige Ereignisse zu sammeln, und die onkey Die Methode definiert die Funktion, die entsprechend der jeweils gedrückten Style aufgerufen werden soll.

display screen.pay attention()
display screen.onkey(move_forwards, "w")
display screen.onkey(move_backwards, "s")
display screen.onkey(turn_left, "a")
display screen.onkey(turn_rigth, "d")
display screen.onkey(clear_screen, "c")

Da wir schließlich den Bildschirm beibehalten möchten, verwenden wir den exitonclick screen-Methode, die den Bildschirm dort hält, bis wir darauf klicken.

display screen.exitonclick()

Radieren und Skizzieren!

Da unser Code nun vollständig ist, führen wir das Programm aus. Vor uns erscheint ein Bildschirm, der so lange bleibt, bis wir irgendwo darauf klicken.

Wir verwenden die Tasten „W“, „A“, „S“ und „D“, um eine Zeichnung zu erstellen und „C“, um den Bildschirm zu löschen. Lasst uns einen Kreis durch die Tastatur zeichnen!

Skizzieren eines Kreises durch Tastatureingaben (Bild vom Autor)

Sie können einen Kreis auch einfach zeichnen, indem Sie mit „W“ vorwärts gehen und dann die linke Style „A“ zweimal drehen und so weitermachen, bis der Stift seine Ausgangsposition erreicht. Während wir mit diesem Programm spielen, können wir auch das Zeichnen von Formen üben und die Geometrie verstehen.

Das Projekt verbessern

Nachdem wir nun unser Grundprogramm erstellt haben, können wir viele weitere Funktionen hinzufügen, die unsere Kreation weiter anpassen und verbessern würden, wie zum Beispiel:

  • Hinzufügen von Tasten und entsprechenden Funktionen für diagonale Bewegungen
  • Ändern der Farbe des Stifts
  • Speichern Sie die Zeichnungen und exportieren Sie die Leinwand als Bild

Abschluss

Wir haben unsere Grundkenntnisse in Python und dem Turtle-Modul erfolgreich genutzt, um ein digitales Etch-a-Sketch-Programm zu erstellen. Dies ist eine unterhaltsame Möglichkeit, das Programmieren zu erlernen und die Koordinaten zu verstehen, da alles visuell dargestellt wird. Es macht es außerdem einfacher, etwaige Fehler, die man im Code macht, rechtzeitig aufzuzeigen und Fehler zu beheben. Obwohl der Code einfach ist, bildet diese Artwork von Programm die Grundlage für komplexe grafische Programme und Software program. Daher ist ein grundlegendes Verständnis der grafischen Benutzeroberfläche von entscheidender Bedeutung, um die Grundlagen digitaler Grafiken zu verstehen.

Von admin

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert