Page 156 - Demo
P. 156

TI Python BootCamp Python VIRTUELE STEM-EXPERIMENTEN OOP
1.2. Lopend LED
In het volgende voorbeeld gebruiken we 9 LEDs en breiden de achtergrond als volgt uit:
 def background():
¨¨hub = load_image("hub")
¨¨led = load_image("led") ¨¨hub.show_image(0,0)
¨¨for i in range(9): ¨¨¨¨led.show_image(10+i*35,160,160)
We passen de attributen van de klasse Led() aan zodat iedere LED bepaalt wordt door een BB-poort: “BB 1” tot en met “BB 9”.
class Led():
# port = “BB 1”, “BB 2”, ... of “BB 9”
¨¨def __init__(self,port): ¨¨¨¨self.port=port ¨¨¨¨self.factor = int(self.port[3]) ¨¨¨¨self.img = load_image("led") ¨¨¨¨self.dx = 35
¨¨¨¨self.x0 = 10
¨¨¨¨self.x = self.x0+(self.factor-1)*self.dx ¨¨¨¨self.y = 160
De methodes blijven hetzelfde en we bewaren deze codes als vir_hub.py.
¨¨def on(self): ¨¨¨¨set_color(255,0,150) ¨¨¨¨fill_rect(self.x+3,self.y+5,13,20) ¨¨¨¨fill_circle(self.x+9,self.y+6,6)
¨¨def off(self): ¨¨¨¨self.img.show_image(self.x,self.y)
Een lopend LED coderen we met de klasse Led() als volgt:
from vir_hub import * from ti_system import * from time import *
use_buffer()
background() paint_buffer()
leds = []
for n in range(9):
¨¨leds.append (Led("BB " + str(n+1)))
while get_key() != "esc":
¨¨for vled in leds:
¨¨¨¨vled.on() ; paint_buffer() ; sleep(0.2) ¨¨¨¨vled.off() ; paint_buffer() ; sleep(0.2)
© 2020 T3 Nederland – T3 Vlaanderen 2
led = LED(“BB 1”) ; led.on()
led = LED(“BB 2”) ; led.on()
led = LED(“BB 3”) ; led.on() www.t3nederland.nl – www.t3vlaanderen.be
     




































































   154   155   156   157   158