Ich wollte etwas anderes machen, indem ich das vorhandene leicht änderte, also habe ich es basierend auf dem Programm gemacht, das ich in Lektion 7-7 von Kapitel 7 gemacht habe.
Ich wollte viele Kreise verwenden, deshalb habe ich es unter Bezugnahme auf P212 von "Das einfachste Python-Einführungslehrbuch" zusammengefasst.
qiita.py
balls = [
Ball(900,200,-1,1,"lightcoral"),
Ball(850,200,-1,1,"red"),
Ball(800,200,-1,1,"darkred"),
Ball(750,200,-1,1,"tomato"),
Ball(700,200,-1,1,"yellow"),
Ball(650,200,-1,1,"orange"),
Ball(600,200,-1,1,"olive"),
Ball(550,200,-1,1,"limegreen"),
Ball(500,200,-1,1,"green"),
Ball(450,200,-1,1,"aquamarine"),
Ball(400,200,-1,1,"cyan"),
Ball(350,200,-1,1,"steelblue"),
Ball(300,200,-1,1,"midnightblue"),
Ball(250,200,-1,1,"blue"),
Ball(200,200,-1,1,"darkviolet"),
Ball(150,200,-1,1,"violet"),
Ball(100,200,-1,1,"magenta"),
Ball(150,200,-1,1,"deeppink"),
Ball(50,200,-1,1,"pink"),
Ball(0,200,-1,1,"palevioletred")]
Auf diese Weise wird das Wörterbuch verwendet, um die Position des Kreises und die Fahrtrichtung zusammenzufassen. Einzelheiten finden Sie in P206 bis P212 des einfachsten Python-Einführungslehrbuchs, Fumiko Osawa [Autor].
canvas.create_oval (self.x -20, self.y --20, self.x + 20, self.y + 20, fill = "white", width = 0) und canvas.create_oval (self.x, self.y) , self.x, self.y, fill = "white", width = 0).
qiita.py
canvas.create_oval(self.x , self.y , self.x , self.y , fill="white" , width=0)
Auf diese Weise machen wir weiterhin Fortschritte.
Komplett! !! !! Hast du dich wie ein Name gefühlt?
qiita.py
# coding:utf-8
import tkinter as tk
class Ball:
def __init__(self, x, y, dx, dy, color):
self.x = x
self.y = y
self.dx = dx
self.dy = dy
self.color = color
def move(self,canvas):
canvas.create_oval(self.x , self.y , self.x , self.y , fill="white" , width=0)
self.x = self.x + self.dx
self.y = self.y + self.dy
#Zeichnen Sie an der nächsten Position einen Kreis
canvas.create_oval(self.x - 20, self.y - 20, self.x + 20, self.y + 20, fill=self.color , width=0)
if self.x >= canvas.winfo_width():
self.dx = -1
if self.x <= 0:
self.dx = +1
if self.y >= canvas.winfo_height():
self.dy = -1
if self.y <= 0:
self.dy = +1
balls = [
Ball(900,200,-1,1,"lightcoral"),
Ball(850,200,-1,1,"red"),
Ball(800,200,-1,1,"darkred"),
Ball(750,200,-1,1,"tomato"),
Ball(700,200,-1,1,"yellow"),
Ball(650,200,-1,1,"orange"),
Ball(600,200,-1,1,"olive"),
Ball(550,200,-1,1,"limegreen"),
Ball(500,200,-1,1,"green"),
Ball(450,200,-1,1,"aquamarine"),
Ball(400,200,-1,1,"cyan"),
Ball(350,200,-1,1,"steelblue"),
Ball(300,200,-1,1,"midnightblue"),
Ball(250,200,-1,1,"blue"),
Ball(200,200,-1,1,"darkviolet"),
Ball(150,200,-1,1,"violet"),
Ball(100,200,-1,1,"magenta"),
Ball(150,200,-1,1,"deeppink"),
Ball(50,200,-1,1,"pink"),
Ball(0,200,-1,1,"palevioletred")]
def loop():
#Bewegung
for b in balls:
b.move(canvas)
#nochmal
root.after(2,loop)
#Zeichne ein Fenster
root = tk.Tk()
root.geometry("800x600")
#Leinwand setzen
canvas = tk.Canvas(root, width =800, height =600, bg="white")
canvas.place(x=0 , y=0)
#Timer wieder
root.after(2, loop)
root.mainloop()
Das einfachste Python-Einführungslehrbuch, Fumiko Osawa [Autor]
https://pythondatascience.plavox.info/matplotlib/色の名前
Diese Klasse war das erste Mal, dass ich an dem Programm teilnahm. Es hat Spaß gemacht, diesmal zu versuchen, also wollte ich diese Gelegenheit nutzen, um mehr zu machen.
Das ist schön!
Recommended Posts