Je voulais faire quelque chose de différent en modifiant légèrement l'existant, alors je l'ai fait en me basant sur le programme que j'ai créé dans la leçon 7-7 du chapitre 7.
Je voulais utiliser beaucoup de cercles, donc je l'ai résumé en référence à P212 de "Le manuel d'introduction à python le plus simple".
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")]
De cette manière, le dictionnaire est utilisé pour résumer la position du cercle et le sens de déplacement. Pour plus de détails, reportez-vous aux pages P206 à P212 du manuel d'introduction à Python le plus simple, Fumiko Osawa [Auteur].
canvas.create_oval (self.x -20, self.y --20, self.x + 20, self.y + 20, fill = "white", width = 0) et 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)
En faisant cela, nous continuons à progresser.
Achevée! !! !! Avez-vous envie d'un nom?
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
#Tracez un cercle à la position suivante
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():
#bouge toi
for b in balls:
b.move(canvas)
#encore
root.after(2,loop)
#Dessinez une fenêtre
root = tk.Tk()
root.geometry("800x600")
#Mettre la toile
canvas = tk.Canvas(root, width =800, height =600, bg="white")
canvas.place(x=0 , y=0)
#Minuterie à nouveau
root.after(2, loop)
root.mainloop()
Le manuel d'introduction au python le plus simple, Fumiko Osawa [Auteur]
https://pythondatascience.plavox.info/matplotlib/色の名前
Cette classe était la première fois que je participais au programme. C'était amusant d'essayer cette fois, alors je voulais profiter de cette occasion pour en faire plus.
C'est beau!
Recommended Posts